qmk_firmware

QMK firmware for my keyboards (Corne, Sweep Ferris) and trackball (Ploopy Adept)
Log | Files | Refs | Submodules | LICENSE

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