steno_keycodes.h (2668B)
1 /* Copyright 2017 Joseph Wasson 2 * 3 * This program is free software: you can redistribute it and/or modify 4 * it under the terms of the GNU General Public License as published by 5 * the Free Software Foundation, either version 2 of the License, or 6 * (at your option) any later version. 7 * 8 * This program is distributed in the hope that it will be useful, 9 * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 * GNU General Public License for more details. 12 * 13 * You should have received a copy of the GNU General Public License 14 * along with this program. If not, see <http://www.gnu.org/licenses/>. 15 */ 16 17 #pragma once 18 19 #include "keycodes.h" 20 21 // List of keycodes for the steno keyboard. To prevent 22 // errors, this must be <= 42 total entries in order to 23 // support the GeminiPR protocol. 24 enum steno_keycodes { 25 STN__MIN = QK_STENO, 26 STN_FN = STN__MIN, 27 STN_NUM, 28 STN_N1 = STN_NUM, 29 STN_N2, 30 STN_N3, 31 STN_N4, 32 STN_N5, 33 STN_N6, 34 STN_SL, 35 STN_S1 = STN_SL, 36 STN_S2, 37 STN_TL, 38 STN_KL, 39 STN_PL, 40 STN_WL, 41 STN_HL, 42 STN_RL, 43 STN_A, 44 STN_O, 45 STN_STR, 46 STN_ST1 = STN_STR, 47 STN_ST2, 48 STN_RES1, 49 STN_RE1 = STN_RES1, 50 STN_RES2, 51 STN_RE2 = STN_RES2, 52 STN_PWR, 53 STN_ST3, 54 STN_ST4, 55 STN_E, 56 STN_U, 57 STN_FR, 58 STN_RR, 59 STN_PR, 60 STN_BR, 61 STN_LR, 62 STN_GR, 63 STN_TR, 64 STN_SR, 65 STN_DR, 66 STN_N7, 67 STN_N8, 68 STN_N9, 69 STN_NA, 70 STN_NB, 71 STN_NC, 72 STN_ZR, 73 STN__MAX = STN_ZR, // must be less than QK_STENO_BOLT 74 }; 75 76 #ifdef STENO_COMBINEDMAP 77 enum steno_combined_keycodes { 78 STN_S3 = QK_STENO_COMB, 79 STN_TKL, 80 STN_PWL, 81 STN_HRL, 82 STN_FRR, 83 STN_PBR, 84 STN_LGR, 85 STN_TSR, 86 STN_DZR, 87 STN_AO, 88 STN_EU, 89 STN_COMB_MAX = STN_EU, 90 }; 91 #endif 92 93 #ifdef STENO_ENABLE_BOLT 94 // TxBolt Codes 95 # define TXB_NUL 0 96 # define TXB_S_L 0b00000001 97 # define TXB_T_L 0b00000010 98 # define TXB_K_L 0b00000100 99 # define TXB_P_L 0b00001000 100 # define TXB_W_L 0b00010000 101 # define TXB_H_L 0b00100000 102 # define TXB_R_L 0b01000001 103 # define TXB_A_L 0b01000010 104 # define TXB_O_L 0b01000100 105 # define TXB_STR 0b01001000 106 # define TXB_E_R 0b01010000 107 # define TXB_U_R 0b01100000 108 # define TXB_F_R 0b10000001 109 # define TXB_R_R 0b10000010 110 # define TXB_P_R 0b10000100 111 # define TXB_B_R 0b10001000 112 # define TXB_L_R 0b10010000 113 # define TXB_G_R 0b10100000 114 # define TXB_T_R 0b11000001 115 # define TXB_S_R 0b11000010 116 # define TXB_D_R 0b11000100 117 # define TXB_Z_R 0b11001000 118 # define TXB_NUM 0b11010000 119 #endif // STENO_ENABLE_BOLT