diff options
Diffstat (limited to 'quantum')
| -rw-r--r-- | quantum/keymap_extras/sendstring_belgian.h | 79 | ||||
| -rw-r--r-- | quantum/keymap_extras/sendstring_bepo.h | 98 | ||||
| -rw-r--r-- | quantum/keymap_extras/sendstring_colemak.h | 60 | ||||
| -rw-r--r-- | quantum/keymap_extras/sendstring_dvorak.h | 60 | ||||
| -rw-r--r-- | quantum/keymap_extras/sendstring_german.h | 104 | ||||
| -rw-r--r-- | quantum/keymap_extras/sendstring_jis.h | 65 | ||||
| -rw-r--r-- | quantum/keymap_extras/sendstring_norman.h | 56 | ||||
| -rw-r--r-- | quantum/keymap_extras/sendstring_spanish.h | 96 | ||||
| -rw-r--r-- | quantum/keymap_extras/sendstring_uk.h | 61 | ||||
| -rw-r--r-- | quantum/keymap_extras/sendstring_workman.h | 60 | ||||
| -rw-r--r-- | quantum/quantum.c | 57 | ||||
| -rw-r--r-- | quantum/quantum.h | 6 | 
12 files changed, 511 insertions, 291 deletions
diff --git a/quantum/keymap_extras/sendstring_belgian.h b/quantum/keymap_extras/sendstring_belgian.h index 77531a14ab..f07d852722 100644 --- a/quantum/keymap_extras/sendstring_belgian.h +++ b/quantum/keymap_extras/sendstring_belgian.h @@ -13,13 +13,14 @@   * You should have received a copy of the GNU General Public License   * along with this program.  If not, see <http://www.gnu.org/licenses/>.   */ -/* Sendstring definitions for the belgian layout */ -#ifndef SENDSTRING_BELGIAN -#define SENDSTRING_BELGIAN + +// Sendstring lookup tables for Belgian layouts + +#pragma once  #include "keymap_belgian.h" -const bool ascii_to_shift_lut[0x80] PROGMEM = { +const bool ascii_to_shift_lut[128] PROGMEM = {      0, 0, 0, 0, 0, 0, 0, 0,      0, 0, 0, 0, 0, 0, 0, 0,      0, 0, 0, 0, 0, 0, 0, 0, @@ -38,7 +39,8 @@ const bool ascii_to_shift_lut[0x80] PROGMEM = {      0, 0, 0, 0, 0, 0, 0, 0,      0, 0, 0, 0, 0, 0, 0, 0  }; -const bool ascii_to_altgr_lut[0x80] PROGMEM = { + +const bool ascii_to_altgr_lut[128] PROGMEM = {      0, 0, 0, 0, 0, 0, 0, 0,      0, 0, 0, 0, 0, 0, 0, 0,      0, 0, 0, 0, 0, 0, 0, 0, @@ -58,37 +60,38 @@ const bool ascii_to_altgr_lut[0x80] PROGMEM = {      0, 0, 0, 1, 1, 1, 1, 0  }; -// NOTE that you have to send the dead keys twice: tilda, circ -// SEND_STRING(" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^^``_abcdefghijklmnopqrstuvwxyz{|}~~"); -const uint8_t ascii_to_keycode_lut[0x80] PROGMEM = { -    0, 0, 0, 0, 0, 0, 0, 0, -    KC_BSPC, KC_TAB, KC_ENT, 0, 0, 0, 0, 0, -    0, 0, 0, 0, 0, 0, 0, 0, -    0, 0, 0, KC_ESC, 0, 0, 0, 0, - /* SPACE  !     "      #        $     %     &      '                 */ -    KC_SPC, BE_EXLM, BE_QUOT, BE_QUOT, BE_DLR,BE_UGRV,BE_AMP, BE_APOS , -  /*  (      )     *      +        ,        -        .       /        */ -    BE_LPRN, BE_RPRN, BE_DLR,BE_EQL, BE_COMM, BE_MINS, BE_SCLN, BE_COLN, -  /*   0     1     2     3     4     5    6     7                     */ -    BE_AGRV, BE_AMP, BE_EACU, BE_QUOT, BE_APOS, BE_LPRN, BE_PARA, BE_EGRV, -  /*   8     9      :       ;         <        =       >       ?      */ -    BE_EXLM, BE_CCED, BE_COLN, BE_SCLN, BE_LESS,    BE_EQL, BE_LESS, BE_COMM, -  /*   @     A     B     C     D     E     F     G                    */ -    BE_EACU, BE_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, -  /*   H     I     J     K     L     M     N     O                    */ -    KC_H, KC_I, KC_J, KC_K, KC_L, BE_M, KC_N, KC_O, -  /*   P     Q     R     S     T     U     V     W                    */ -    KC_P, BE_Q, KC_R, KC_S, KC_T, KC_U, KC_V, BE_W, -  /*   X     Y     Z      [         \       ]       ^      _          */ -    KC_X, KC_Y, BE_Z, BE_CIRC, BE_LESS, BE_DLR, BE_PARA, BE_MINS, -  /*   `       a     b     c     d     e     f     g                  */ -    BE_MU, BE_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, -  /*   h     i     j     k     l     m     n     o                    */ -    KC_H, KC_I, KC_J, KC_K, KC_L, BE_M, KC_N, KC_O, -  /*    p    q     r     s     t     u     v     w                    */ -    KC_P, BE_Q, KC_R, KC_S, KC_T, KC_U, KC_V, BE_W, -  /*    x    y     z      {        |        }        ~    DELETE      */ -    KC_X, KC_Y, BE_Z, BE_CCED, BE_AMP, BE_AGRV, BE_EQL, KC_DEL -}; +const uint8_t ascii_to_keycode_lut[128] PROGMEM = { +    // NUL   SOH      STX      ETX      EOT      ENQ      ACK      BEL +    XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, +    // BS    TAB      LF       VT       FF       CR       SO       SI +    KC_BSPC, KC_TAB,  KC_ENT,  XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, +    // DLE   DC1      DC2      DC3      DC4      NAK      SYN      ETB +    XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, +    // CAN   EM       SUB      ESC      FS       GS       RS       US +    XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC,  XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, -#endif +    //       !        "        #        $        %        &        ' +    KC_SPC,  BE_EXLM, BE_QUOT, BE_QUOT, BE_DLR,  BE_UGRV, BE_AMP,  BE_APOS, +    // (     )        *        +        ,        -        .        / +    BE_LPRN, BE_RPRN, BE_DLR,  BE_EQL,  BE_COMM, BE_MINS, BE_SCLN, BE_COLN, +    // 0     1        2        3        4        5        6        7 +    BE_AGRV, BE_AMP,  BE_EACU, BE_QUOT, BE_APOS, BE_LPRN, BE_PARA, BE_EGRV, +    // 8     9        :        ;        <        =        >        ? +    BE_EXLM, BE_CCED, BE_COLN, BE_SCLN, BE_LESS, BE_EQL,  BE_LESS, BE_COMM, +    // @     A        B        C        D        E        F        G +    BE_EACU, BE_A,    KC_B,    KC_C,    KC_D,    KC_E,    KC_F,    KC_G, +    // H     I        J        K        L        M        N        O +    KC_H,    KC_I,    KC_J,    KC_K,    KC_L,    BE_M,    KC_N,    KC_O, +    // P     Q        R        S        T        U        V        W +    KC_P,    BE_Q,    KC_R,    KC_S,    KC_T,    KC_U,    KC_V,    BE_W, +    // X     Y        Z        [        \        ]        ^        _ +    KC_X,    KC_Y,    BE_Z,    BE_CIRC, BE_LESS, BE_DLR,  BE_PARA, BE_MINS, +    // `     a        b        c        d        e        f        g +    BE_MU,   BE_A,    KC_B,    KC_C,    KC_D,    KC_E,    KC_F,    KC_G, +    // h     i        j        k        l        m        n        o +    KC_H,    KC_I,    KC_J,    KC_K,    KC_L,    BE_M,    KC_N,    KC_O, +    // p     q        r        s        t        u        v        w +    KC_P,    BE_Q,    KC_R,    KC_S,    KC_T,    KC_U,    KC_V,    BE_W, +    // x     y        z        {        |        }        ~        DEL +    KC_X,    KC_Y,    BE_Z,    BE_CCED, BE_AMP,  BE_AGRV, BE_EQL,  KC_DEL +}; diff --git a/quantum/keymap_extras/sendstring_bepo.h b/quantum/keymap_extras/sendstring_bepo.h index c7377e077d..565c55b955 100644 --- a/quantum/keymap_extras/sendstring_bepo.h +++ b/quantum/keymap_extras/sendstring_bepo.h @@ -13,29 +13,85 @@   * You should have received a copy of the GNU General Public License   * along with this program.  If not, see <http://www.gnu.org/licenses/>.   */ -/* Sendstring definitions for the bépo layout */ -#ifndef SENDSTRING_BEPO -#define SENDSTRING_BEPO + +// Sendstring lookup tables for BÉPO layouts + +#pragma once  #include "keymap_bepo.h" -const uint8_t ascii_to_keycode_lut[0x80] PROGMEM = { -  0,        0,        0,        0,          0,          0,           0,       0, -  KC_BSPC,  KC_TAB,   KC_ENT,   0,          0,          0,           0,       0, -  0,        0,        0,        0,          0,          0,           0,       0, -  0,        0,        0,        KC_ESC,     0,          0,           0,       0, -  KC_SPC,   BP_DCRC,  BP_DQOT,  BP_DOLLAR,  BP_DOLLAR,  BP_PERCENT,  BP_P,    BP_APOS, -  BP_LPRN,  BP_RPRN,  BP_ASTR,  BP_PLUS,    BP_COMM,    BP_MINUS,    BP_DOT,  BP_SLSH, -  KC_0,     KC_1,     KC_2,     KC_3,       KC_4,       KC_5,        KC_6,    KC_7, -  KC_8,     KC_9,     BP_DOT,   BP_DOT,     KC_2,       BP_EQUAL,    KC_2,    BP_APOS, -  BP_AT,    BP_A,     BP_B,     BP_C,       BP_D,       BP_E,        BP_F,    BP_G, -  BP_H,     BP_I,     BP_J,     BP_K,       BP_L,       BP_M,        BP_N,    BP_O, -  BP_P,     BP_Q,     BP_R,     BP_S,       BP_T,       BP_U,        BP_V,    BP_W, -  BP_X,     BP_Y,     BP_Z,     KC_4,       BP_AGRV,    KC_5,        KC_5,    KC_MINS, -  KC_2,     BP_A,     BP_B,     BP_C,       BP_D,       BP_E,        BP_F,    BP_G, -  BP_H,     BP_I,     BP_J,     BP_K,       BP_L,       BP_M,        BP_N,    BP_O, -  BP_P,     BP_Q,     BP_R,     BP_S,       BP_T,       BP_U,        BP_V,    BP_W, -  BP_X,     BP_Y,     BP_Z,     BP_Y,       BP_B,       BP_X,        BP_K,    KC_DEL, +const bool ascii_to_shift_lut[128] PROGMEM = { +    0, 0, 0, 0, 0, 0, 0, 0, +    0, 0, 0, 0, 0, 0, 0, 0, +    0, 0, 0, 0, 0, 0, 0, 0, +    0, 0, 0, 0, 0, 0, 0, 0, + +    0, 1, 0, 1, 0, 0, 0, 0, +    0, 0, 0, 0, 0, 0, 0, 0, +    1, 1, 1, 1, 1, 1, 1, 1, +    1, 1, 1, 1, 0, 0, 0, 1, +    0, 1, 1, 1, 1, 1, 1, 1, +    1, 1, 1, 1, 1, 1, 1, 1, +    1, 1, 1, 1, 1, 1, 1, 1, +    1, 1, 1, 0, 0, 0, 0, 0, +    1, 0, 0, 0, 0, 0, 0, 0, +    0, 0, 0, 0, 0, 0, 0, 0, +    0, 0, 0, 0, 0, 0, 0, 0, +    0, 0, 0, 0, 0, 0, 0, 0 +}; + +const bool ascii_to_altgr_lut[128] PROGMEM = { +    0, 0, 0, 0, 0, 0, 0, 0, +    0, 0, 0, 0, 0, 0, 0, 0, +    0, 0, 0, 0, 0, 0, 0, 0, +    0, 0, 0, 0, 0, 0, 0, 0, + +    0, 0, 0, 0, 0, 0, 1, 0, +    0, 0, 0, 0, 0, 0, 0, 0, +    0, 0, 0, 0, 0, 0, 0, 0, +    0, 0, 0, 0, 1, 0, 1, 0, +    0, 0, 0, 0, 0, 0, 0, 0, +    0, 0, 0, 0, 0, 0, 0, 0, +    0, 0, 0, 0, 0, 0, 0, 0, +    0, 0, 0, 1, 1, 1, 1, 1, +    0, 0, 0, 0, 0, 0, 0, 0, +    0, 0, 0, 0, 0, 0, 0, 0, +    0, 0, 0, 0, 0, 0, 0, 0, +    0, 0, 0, 1, 1, 1, 1, 0  }; -#endif +const uint8_t ascii_to_keycode_lut[128] PROGMEM = { +    // NUL   SOH      STX      ETX      EOT      ENQ      ACK      BEL +    XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, +    // BS    TAB      LF       VT       FF       CR       SO       SI +    KC_BSPC, KC_TAB,  KC_ENT,  XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, +    // DLE   DC1      DC2      DC3      DC4      NAK      SYN      ETB +    XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, +    // CAN   EM       SUB      ESC      FS       GS       RS       US +    XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC,  XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + +    //       !        "        #        $        %        &        ' +    KC_SPC,  BP_DCRC, BP_DQOT, BP_DLR,  BP_DLR,  BP_PERC, BP_P,    BP_APOS, +    // (     )        *        +        ,        -        .        / +    BP_LPRN, BP_RPRN, BP_ASTR, BP_PLUS, BP_COMM, BP_MINS, BP_DOT,  BP_SLSH, +    // 0     1        2        3        4        5        6        7 +    BP_ASTR, BP_DQOT, BP_LGIL, BP_RGIL, BP_LPRN, BP_RPRN, BP_AT,   BP_PLUS, +    // 8     9        :        ;        <        =        >        ? +    BP_MINS, BP_SLSH, BP_DOT,  BP_COMM, BP_LGIL, BP_EQL,  BP_RGIL, BP_APOS, +    // @     A        B        C        D        E        F        G +    BP_AT,   BP_A,    BP_B,    BP_C,    BP_D,    BP_E,    BP_F,    BP_G, +    // H     I        J        K        L        M        N        O +    BP_H,    BP_I,    BP_J,    BP_K,    BP_L,    BP_M,    BP_N,    BP_O, +    // P     Q        R        S        T        U        V        W +    BP_P,    BP_Q,    BP_R,    BP_S,    BP_T,    BP_U,    BP_V,    BP_W, +    // X     Y        Z        [        \        ]        ^        _ +    BP_X,    BP_Y,    BP_Z,    BP_LPRN, BP_AGRV, BP_RPRN, BP_AT,   KC_SPC, +    // `     a        b        c        d        e        f        g +    BP_PERC, BP_A,    BP_B,    BP_C,    BP_D,    BP_E,    BP_F,    BP_G, +    // h     i        j        k        l        m        n        o +    BP_H,    BP_I,    BP_J,    BP_K,    BP_L,    BP_M,    BP_N,    BP_O, +    // p     q        r        s        t        u        v        w +    BP_P,    BP_Q,    BP_R,    BP_S,    BP_T,    BP_U,    BP_V,    BP_W, +    // x     y        z        {        |        }        ~        DEL +    BP_X,    BP_Y,    BP_Z,    BP_Y,    BP_B,    BP_X,    BP_K,    KC_DEL +}; diff --git a/quantum/keymap_extras/sendstring_colemak.h b/quantum/keymap_extras/sendstring_colemak.h index fa9ace9290..331f6c2223 100644 --- a/quantum/keymap_extras/sendstring_colemak.h +++ b/quantum/keymap_extras/sendstring_colemak.h @@ -13,29 +13,45 @@   * You should have received a copy of the GNU General Public License   * along with this program.  If not, see <http://www.gnu.org/licenses/>.   */ -/* Sendstring definitions for the Colemak layout */ -#ifndef SENDSTRING_COLEMAK -#define SENDSTRING_COLEMAK + +// Sendstring lookup tables for Colemak layouts + +#pragma once  #include "keymap_colemak.h" -const uint8_t ascii_to_keycode_lut[0x80] PROGMEM = { -    0, 0, 0, 0, 0, 0, 0, 0, -    KC_BSPC, KC_TAB, KC_ENT, 0, 0, 0, 0, 0, -    0, 0, 0, 0, 0, 0, 0, 0, -    0, 0, 0, KC_ESC, 0, 0, 0, 0, -    KC_SPC, KC_1, KC_QUOT, KC_3, KC_4, KC_5, KC_7, KC_QUOT, -    KC_9, KC_0, KC_8, KC_EQL, KC_COMM, KC_MINS, KC_DOT, KC_SLSH, -    KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, -    KC_8, KC_9, CM_SCLN, CM_SCLN, KC_COMM, KC_EQL, KC_DOT, KC_SLSH, -    KC_2, CM_A, CM_B, CM_C, CM_D, CM_E, CM_F, CM_G, -    CM_H, CM_I, CM_J, CM_K, CM_L, CM_M, CM_N, CM_O, -    CM_P, CM_Q, CM_R, CM_S, CM_T, CM_U, CM_V, CM_W, -    CM_X, CM_Y, CM_Z, KC_LBRC, KC_BSLS, KC_RBRC, KC_6, KC_MINS, -    KC_GRV, CM_A, CM_B, CM_C, CM_D, CM_E, CM_F, CM_G, -    CM_H, CM_I, CM_J, CM_K, CM_L, CM_M, CM_N, CM_O, -    CM_P, CM_Q, CM_R, CM_S, CM_T, CM_U, CM_V, CM_W, -    CM_X, CM_Y, CM_Z, KC_LBRC, KC_BSLS, KC_RBRC, KC_GRV, KC_DEL -}; +const uint8_t ascii_to_keycode_lut[128] PROGMEM = { +    // NUL   SOH      STX      ETX      EOT      ENQ      ACK      BEL +    XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, +    // BS    TAB      LF       VT       FF       CR       SO       SI +    KC_BSPC, KC_TAB,  KC_ENT,  XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, +    // DLE   DC1      DC2      DC3      DC4      NAK      SYN      ETB +    XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, +    // CAN   EM       SUB      ESC      FS       GS       RS       US +    XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC,  XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, -#endif +    //       !        "        #        $        %        &        ' +    KC_SPC,  KC_1,    KC_QUOT, KC_3,    KC_4,    KC_5,    KC_7,    KC_QUOT, +    // (     )        *        +        ,        -        .        / +    KC_9,    KC_0,    KC_8,    KC_EQL,  KC_COMM, KC_MINS, KC_DOT,  KC_SLSH, +    // 0     1        2        3        4        5        6        7 +    KC_0,    KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7, +    // 8     9        :        ;        <        =        >        ? +    KC_8,    KC_9,    CM_SCLN, CM_SCLN, KC_COMM, KC_EQL,  KC_DOT,  KC_SLSH, +    // @     A        B        C        D        E        F        G +    KC_2,    CM_A,    CM_B,    CM_C,    CM_D,    CM_E,    CM_F,    CM_G, +    // H     I        J        K        L        M        N        O +    CM_H,    CM_I,    CM_J,    CM_K,    CM_L,    CM_M,    CM_N,    CM_O, +    // P     Q        R        S        T        U        V        W +    CM_P,    CM_Q,    CM_R,    CM_S,    CM_T,    CM_U,    CM_V,    CM_W, +    // X     Y        Z        [        \        ]        ^        _ +    CM_X,    CM_Y,    CM_Z,    KC_LBRC, KC_BSLS, KC_RBRC, KC_6,    KC_MINS, +    // `     a        b        c        d        e        f        g +    KC_GRV,  CM_A,    CM_B,    CM_C,    CM_D,    CM_E,    CM_F,    CM_G, +    // h     i        j        k        l        m        n        o +    CM_H,    CM_I,    CM_J,    CM_K,    CM_L,    CM_M,    CM_N,    CM_O, +    // p     q        r        s        t        u        v        w +    CM_P,    CM_Q,    CM_R,    CM_S,    CM_T,    CM_U,    CM_V,    CM_W, +    // x     y        z        {        |        }        ~        DEL +    CM_X,    CM_Y,    CM_Z,    KC_LBRC, KC_BSLS, KC_RBRC, KC_GRV,  KC_DEL +}; diff --git a/quantum/keymap_extras/sendstring_dvorak.h b/quantum/keymap_extras/sendstring_dvorak.h index f5c5c818b8..f2cb6c4a07 100644 --- a/quantum/keymap_extras/sendstring_dvorak.h +++ b/quantum/keymap_extras/sendstring_dvorak.h @@ -13,29 +13,45 @@   * You should have received a copy of the GNU General Public License   * along with this program.  If not, see <http://www.gnu.org/licenses/>.   */ -/* Sendstring definitions for the Dvorak layout */ -#ifndef SENDSTRING_DVORAK -#define SENDSTRING_DVORAK + +// Sendstring lookup tables for Dvorak layouts + +#pragma once  #include "keymap_dvorak.h" -const uint8_t ascii_to_keycode_lut[0x80] PROGMEM = { -    0, 0, 0, 0, 0, 0, 0, 0, -    KC_BSPC, KC_TAB, KC_ENT, 0, 0, 0, 0, 0, -    0, 0, 0, 0, 0, 0, 0, 0, -    0, 0, 0, KC_ESC, 0, 0, 0, 0, -    KC_SPC, DV_1, DV_QUOT, DV_3, DV_4, DV_5, DV_7, DV_QUOT, -    DV_9, DV_0, DV_8, DV_EQL, DV_COMM, DV_MINS, DV_DOT, DV_SLSH, -    DV_0, DV_1, DV_2, DV_3, DV_4, DV_5, DV_6, DV_7, -    DV_8, DV_9, DV_SCLN, DV_SCLN, DV_COMM, DV_EQL, DV_DOT, DV_SLSH, -    DV_2, DV_A, DV_B, DV_C, DV_D, DV_E, DV_F, DV_G, -    DV_H, DV_I, DV_J, DV_K, DV_L, DV_M, DV_N, DV_O, -    DV_P, DV_Q, DV_R, DV_S, DV_T, DV_U, DV_V, DV_W, -    DV_X, DV_Y, DV_Z, DV_LBRC, DV_BSLS, DV_RBRC, DV_6, DV_MINS, -    DV_GRV, DV_A, DV_B, DV_C, DV_D, DV_E, DV_F, DV_G, -    DV_H, DV_I, DV_J, DV_K, DV_L, DV_M, DV_N, DV_O, -    DV_P, DV_Q, DV_R, DV_S, DV_T, DV_U, DV_V, DV_W, -    DV_X, DV_Y, DV_Z, DV_LBRC, DV_BSLS, DV_RBRC, DV_GRV, KC_DEL -}; +const uint8_t ascii_to_keycode_lut[128] PROGMEM = { +    // NUL   SOH      STX      ETX      EOT      ENQ      ACK      BEL +    XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, +    // BS    TAB      LF       VT       FF       CR       SO       SI +    KC_BSPC, KC_TAB,  KC_ENT,  XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, +    // DLE   DC1      DC2      DC3      DC4      NAK      SYN      ETB +    XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, +    // CAN   EM       SUB      ESC      FS       GS       RS       US +    XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC,  XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, -#endif +    //       !        "        #        $        %        &        ' +    KC_SPC,  DV_1,    DV_QUOT, DV_3,    DV_4,    DV_5,    DV_7,    DV_QUOT, +    // (     )        *        +        ,        -        .        / +    DV_9,    DV_0,    DV_8,    DV_EQL,  DV_COMM, DV_MINS, DV_DOT,  DV_SLSH, +    // 0     1        2        3        4        5        6        7 +    DV_0,    DV_1,    DV_2,    DV_3,    DV_4,    DV_5,    DV_6,    DV_7, +    // 8     9        :        ;        <        =        >        ? +    DV_8,    DV_9,    DV_SCLN, DV_SCLN, DV_COMM, DV_EQL,  DV_DOT,  DV_SLSH, +    // @     A        B        C        D        E        F        G +    DV_2,    DV_A,    DV_B,    DV_C,    DV_D,    DV_E,    DV_F,    DV_G, +    // H     I        J        K        L        M        N        O +    DV_H,    DV_I,    DV_J,    DV_K,    DV_L,    DV_M,    DV_N,    DV_O, +    // P     Q        R        S        T        U        V        W +    DV_P,    DV_Q,    DV_R,    DV_S,    DV_T,    DV_U,    DV_V,    DV_W, +    // X     Y        Z        [        \        ]        ^        _ +    DV_X,    DV_Y,    DV_Z,    DV_LBRC, DV_BSLS, DV_RBRC, DV_6,    DV_MINS, +    // `     a        b        c        d        e        f        g +    DV_GRV,  DV_A,    DV_B,    DV_C,    DV_D,    DV_E,    DV_F,    DV_G, +    // h     i        j        k        l        m        n        o +    DV_H,    DV_I,    DV_J,    DV_K,    DV_L,    DV_M,    DV_N,    DV_O, +    // p     q        r        s        t        u        v        w +    DV_P,    DV_Q,    DV_R,    DV_S,    DV_T,    DV_U,    DV_V,    DV_W, +    // x     y        z        {        |        }        ~        DEL +    DV_X,    DV_Y,    DV_Z,    DV_LBRC, DV_BSLS, DV_RBRC, DV_GRV,  KC_DEL +}; diff --git a/quantum/keymap_extras/sendstring_german.h b/quantum/keymap_extras/sendstring_german.h index f20fab77d1..61d2248247 100644 --- a/quantum/keymap_extras/sendstring_german.h +++ b/quantum/keymap_extras/sendstring_german.h @@ -13,69 +13,85 @@   * You should have received a copy of the GNU General Public License   * along with this program.  If not, see <http://www.gnu.org/licenses/>.   */ -/* Sendstring definitions for the German layout */ -#ifndef SENDSTRING_GERMAN -#define SENDSTRING_GERMAN + +// Sendstring lookup tables for German layouts + +#pragma once  #include "keymap_german.h" -const bool ascii_to_shift_lut[0x80] PROGMEM = { +const bool ascii_to_shift_lut[128] PROGMEM = {      0, 0, 0, 0, 0, 0, 0, 0,      0, 0, 0, 0, 0, 0, 0, 0,      0, 0, 0, 0, 0, 0, 0, 0,      0, 0, 0, 0, 0, 0, 0, 0, -     +      0, 1, 1, 0, 1, 1, 1, 1,      1, 1, 1, 0, 0, 0, 0, 1,      0, 0, 0, 0, 0, 0, 0, 0,      0, 0, 1, 1, 0, 1, 1, 1, -    1, 1, 1, 1, 1, 1, 1, 1, +    0, 1, 1, 1, 1, 1, 1, 1,      1, 1, 1, 1, 1, 1, 1, 1,      1, 1, 1, 1, 1, 1, 1, 1,      1, 1, 1, 0, 0, 0, 0, 1,      1, 0, 0, 0, 0, 0, 0, 0,      0, 0, 0, 0, 0, 0, 0, 0,      0, 0, 0, 0, 0, 0, 0, 0, -    0, 0, 0, 1, 1, 1, 1, 0 +    0, 0, 0, 0, 0, 0, 0, 0  }; -/* Until an ALT table/functionality is added, the following symbols will not work: -* § @ [ ] { } \ ~ äA öÖ ß ´ -* Following characters can be printed using other characters like so: -* [ in makro will be ü -* { in makro will be Ü -* ~ in makro will be ° -*/ -const uint8_t ascii_to_keycode_lut[0x80] PROGMEM = { -    0, 0, 0, 0, 0, 0, 0, 0, -    KC_BSPC, KC_TAB, KC_ENT, 0, 0, 0, 0, 0, -    0, 0, 0, 0, 0, 0, 0, 0, -    0, 0, 0, KC_ESC, 0, 0, 0, 0, +const bool ascii_to_altgr_lut[128] PROGMEM = { +    0, 0, 0, 0, 0, 0, 0, 0, +    0, 0, 0, 0, 0, 0, 0, 0, +    0, 0, 0, 0, 0, 0, 0, 0, +    0, 0, 0, 0, 0, 0, 0, 0, -  /* SPACE   !     "      #        $     %     &      '                    */ -    KC_SPC, KC_1, KC_2, DE_HASH, KC_4, KC_5, KC_6, DE_HASH, -  /*  (      )     *      +        ,        -        .       /                    */ -    KC_8, KC_9, DE_PLUS, DE_PLUS, KC_COMM, DE_MINS, KC_DOT, KC_7, -  /*   0     1     2     3     4     5    6     7                    */ -    KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, -  /*   8     9      :       ;         <        =       >       ?                     */ -    KC_8, KC_9, KC_DOT, KC_COMM, DE_LESS,    KC_0, DE_LESS, KC_MINS, -  /*   @     A     B     C     D     E     F     G                    */ -    KC_2, KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, -  /*   H     I     J     K     L     M     N     O                    */ -    KC_H, KC_I, KC_J, KC_K, KC_L, KC_M, KC_N, KC_O, -  /*   P     Q     R     S     T     U     V     W                    */ -    KC_P, KC_Q, KC_R, KC_S, KC_T, KC_U, KC_V, KC_W, -  /*   X     Y     Z      [         \       ]       ^      _                    */ -    KC_X, DE_Y, DE_Z, KC_LBRC, KC_BSLS, KC_RBRC, DE_CIRC, DE_MINS, -  /*   `       a     b     c     d     e     f     g                    */ -    DE_ACUT, KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, -  /*   h     i     j     k     l     m     n     o                    */ -    KC_H, KC_I, KC_J, KC_K, KC_L, KC_M, KC_N, KC_O, -  /*    p    q     r     s     t     u     v     w                      */ -    KC_P, KC_Q, KC_R, KC_S, KC_T, KC_U, KC_V, KC_W, -  /*    x    y     z      {        |        }        ~    DELETE                    */ -    KC_X, DE_Y, DE_Z, KC_LBRC, KC_BSLS, KC_RBRC, KC_GRV, KC_DEL +    0, 0, 0, 0, 0, 0, 0, 0, +    0, 0, 0, 0, 0, 0, 0, 0, +    0, 0, 0, 0, 0, 0, 0, 0, +    0, 0, 0, 0, 0, 0, 0, 0, +    1, 0, 0, 0, 0, 0, 0, 0, +    0, 0, 0, 0, 0, 0, 0, 0, +    0, 0, 0, 0, 0, 0, 0, 0, +    0, 0, 0, 1, 1, 1, 0, 0, +    0, 0, 0, 0, 0, 0, 0, 0, +    0, 0, 0, 0, 0, 0, 0, 0, +    0, 0, 0, 0, 0, 0, 0, 0, +    0, 0, 0, 1, 1, 1, 1, 0  }; -#endif +const uint8_t ascii_to_keycode_lut[128] PROGMEM = { +    // NUL   SOH      STX      ETX      EOT      ENQ      ACK      BEL +    XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, +    // BS    TAB      LF       VT       FF       CR       SO       SI +    KC_BSPC, KC_TAB,  KC_ENT,  XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, +    // DLE   DC1      DC2      DC3      DC4      NAK      SYN      ETB +    XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, +    // CAN   EM       SUB      ESC      FS       GS       RS       US +    XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC,  XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + +    //       !        "        #        $        %        &        ' +    KC_SPC,  DE_1,    DE_2,    DE_HASH, DE_4,    DE_5,    DE_6,    DE_HASH, +    // (     )        *        +        ,        -        .        / +    DE_8,    DE_9,    DE_PLUS, DE_PLUS, DE_COMM, DE_MINS, DE_DOT,  DE_7, +    // 0     1        2        3        4        5        6        7 +    DE_0,    DE_1,    DE_2,    DE_3,    DE_4,    DE_5,    DE_6,    DE_7, +    // 8     9        :        ;        <        =        >        ? +    DE_8,    DE_9,    DE_DOT,  DE_COMM, DE_LESS, DE_0,    DE_LESS, DE_SS, +    // @     A        B        C        D        E        F        G +    DE_Q,    DE_A,    DE_B,    DE_C,    DE_D,    DE_E,    DE_F,    DE_G, +    // H     I        J        K        L        M        N        O +    DE_H,    DE_I,    DE_J,    DE_K,    DE_L,    DE_M,    DE_N,    DE_O, +    // P     Q        R        S        T        U        V        W +    DE_P,    DE_Q,    DE_R,    DE_S,    DE_T,    DE_U,    DE_V,    DE_W, +    // X     Y        Z        [        \        ]        ^        _ +    DE_X,    DE_Y,    DE_Z,    DE_8,    DE_SS,   DE_9,    DE_CIRC, DE_MINS, +    // `     a        b        c        d        e        f        g +    DE_ACUT, DE_A,    DE_B,    DE_C,    DE_D,    DE_E,    DE_F,    DE_G, +    // h     i        j        k        l        m        n        o +    DE_H,    DE_I,    DE_J,    DE_K,    DE_L,    DE_M,    DE_N,    DE_O, +    // p     q        r        s        t        u        v        w +    DE_P,    DE_Q,    DE_R,    DE_S,    DE_T,    DE_U,    DE_V,    DE_W, +    // x     y        z        {        |        }        ~        DEL +    DE_X,    DE_Y,    DE_Z,    DE_7,    DE_LESS, DE_0,    DE_PLUS, KC_DEL +}; diff --git a/quantum/keymap_extras/sendstring_jis.h b/quantum/keymap_extras/sendstring_jis.h index c5a38c6a5b..fe42445f4a 100644 --- a/quantum/keymap_extras/sendstring_jis.h +++ b/quantum/keymap_extras/sendstring_jis.h @@ -13,15 +13,19 @@   * You should have received a copy of the GNU General Public License   * along with this program.  If not, see <http://www.gnu.org/licenses/>.   */ -/* Sendstring definitions for the JIS keyboard layout */ -#ifndef SENDSTRING_JIS -#define SENDSTRING_JIS -const bool ascii_to_shift_lut[0x80] PROGMEM = { +// Sendstring lookup tables for JIS layouts + +#pragma once + +#include "keymap_jp.h" + +const bool ascii_to_shift_lut[128] PROGMEM = {      0, 0, 0, 0, 0, 0, 0, 0,      0, 0, 0, 0, 0, 0, 0, 0,      0, 0, 0, 0, 0, 0, 0, 0,      0, 0, 0, 0, 0, 0, 0, 0, +      0, 1, 1, 1, 1, 1, 1, 1,      1, 1, 1, 1, 0, 0, 0, 0,      0, 0, 0, 0, 0, 0, 0, 0, @@ -36,23 +40,38 @@ const bool ascii_to_shift_lut[0x80] PROGMEM = {      0, 0, 0, 1, 1, 1, 1, 0  }; -const uint8_t ascii_to_keycode_lut[0x80] PROGMEM = { -    0, 0, 0, 0, 0, 0, 0, 0, -    KC_BSPC, KC_TAB, KC_ENT, 0, 0, 0, 0, 0, -    0, 0, 0, 0, 0, 0, 0, 0, -    0, 0, 0, KC_ESC, 0, 0, 0, 0, -    KC_SPC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, -    KC_8, KC_9, KC_QUOT, KC_SCLN, KC_COMM, KC_MINS, KC_DOT, KC_SLSH, -    KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, -    KC_8, KC_9, KC_QUOT, KC_SCLN, KC_COMM, KC_MINS, KC_DOT, KC_SLSH, -    KC_LBRC, KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, -    KC_H, KC_I, KC_J, KC_K, KC_L, KC_M, KC_N, KC_O, -    KC_P, KC_Q, KC_R, KC_S, KC_T, KC_U, KC_V, KC_W, -    KC_X, KC_Y, KC_Z, KC_RBRC, KC_JYEN, KC_BSLS, KC_EQL, KC_RO, -    KC_LBRC, KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, -    KC_H, KC_I, KC_J, KC_K, KC_L, KC_M, KC_N, KC_O, -    KC_P, KC_Q, KC_R, KC_S, KC_T, KC_U, KC_V, KC_W, -    KC_X, KC_Y, KC_Z, KC_RBRC, KC_JYEN, KC_BSLS, KC_EQL, KC_DEL, -}; +const uint8_t ascii_to_keycode_lut[128] PROGMEM = { +    // NUL   SOH      STX      ETX      EOT      ENQ      ACK      BEL +    XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, +    // BS    TAB      LF       VT       FF       CR       SO       SI +    KC_BSPC, KC_TAB,  KC_ENT,  XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, +    // DLE   DC1      DC2      DC3      DC4      NAK      SYN      ETB +    XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, +    // CAN   EM       SUB      ESC      FS       GS       RS       US +    XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC,  XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, -#endif +    //       !        "        #        $        %        &        ' +    KC_SPC,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7, +    // (     )        *        +        ,        -        .        / +    KC_8,    KC_9,    JP_COLN, JP_SCLN, JP_COMM, JP_MINS, JP_DOT,  JP_SLSH, +    // 0     1        2        3        4        5        6        7 +    KC_0,    KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7, +    // 8     9        :        ;        <        =        >        ? +    KC_8,    KC_9,    JP_COLN, JP_SCLN, JP_COMM, JP_MINS, JP_DOT,  JP_SLSH, +    // @     A        B        C        D        E        F        G +    JP_AT,   KC_A,    KC_B,    KC_C,    KC_D,    KC_E,    KC_F,    KC_G, +    // H     I        J        K        L        M        N        O +    KC_H,    KC_I,    KC_J,    KC_K,    KC_L,    KC_M,    KC_N,    KC_O, +    // P     Q        R        S        T        U        V        W +    KC_P,    KC_Q,    KC_R,    KC_S,    KC_T,    KC_U,    KC_V,    KC_W, +    // X     Y        Z        [        \        ]        ^        _ +    KC_X,    KC_Y,    KC_Z,    JP_LBRC, JP_BSLS, JP_RBRC, JP_CIRC, JP_BSLS, +    // `     a        b        c        d        e        f        g +    JP_AT,   KC_A,    KC_B,    KC_C,    KC_D,    KC_E,    KC_F,    KC_G, +    // h     i        j        k        l        m        n        o +    KC_H,    KC_I,    KC_J,    KC_K,    KC_L,    KC_M,    KC_N,    KC_O, +    // p     q        r        s        t        u        v        w +    KC_P,    KC_Q,    KC_R,    KC_S,    KC_T,    KC_U,    KC_V,    KC_W, +    // x     y        z        {        |        }        ~        DEL +    KC_X,    KC_Y,    KC_Z,    JP_LBRC, JP_YEN,  JP_RBRC, JP_CIRC, KC_DEL +}; diff --git a/quantum/keymap_extras/sendstring_norman.h b/quantum/keymap_extras/sendstring_norman.h index 57d450ca85..8d4ec8dabd 100644 --- a/quantum/keymap_extras/sendstring_norman.h +++ b/quantum/keymap_extras/sendstring_norman.h @@ -13,27 +13,45 @@   * You should have received a copy of the GNU General Public License   * along with this program.  If not, see <http://www.gnu.org/licenses/>.   */ -/* Sendstring definitions for the Colemak layout */ + +// Sendstring lookup tables for Norman layouts +  #pragma once  #include "keymap_norman.h" -const uint8_t ascii_to_keycode_lut[0x80] PROGMEM = { -    0, 0, 0, 0, 0, 0, 0, 0, -    KC_BSPC, KC_TAB, KC_ENT, 0, 0, 0, 0, 0, -    0, 0, 0, 0, 0, 0, 0, 0, -    0, 0, 0, KC_ESC, 0, 0, 0, 0, -    KC_SPC, KC_1, KC_QUOT, KC_3, KC_4, KC_5, KC_7, KC_QUOT, -    KC_9, KC_0, KC_8, KC_EQL, KC_COMM, KC_MINS, KC_DOT, KC_SLSH, -    KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, -    KC_8, KC_9, NM_SCLN, NM_SCLN, KC_COMM, KC_EQL, KC_DOT, KC_SLSH, -    KC_2, NM_A, NM_B, NM_C, NM_D, NM_E, NM_F, NM_G, -    NM_H, NM_I, NM_J, NM_K, NM_L, NM_M, NM_N, NM_O, -    NM_P, NM_Q, NM_R, NM_S, NM_T, NM_U, NM_V, NM_W, -    NM_X, NM_Y, NM_Z, KC_LBRC, KC_BSLS, KC_RBRC, KC_6, KC_MINS, -    KC_GRV, NM_A, NM_B, NM_C, NM_D, NM_E, NM_F, NM_G, -    NM_H, NM_I, NM_J, NM_K, NM_L, NM_M, NM_N, NM_O, -    NM_P, NM_Q, NM_R, NM_S, NM_T, NM_U, NM_V, NM_W, -    NM_X, NM_Y, NM_Z, KC_LBRC, KC_BSLS, KC_RBRC, KC_GRV, KC_DEL -}; +const uint8_t ascii_to_keycode_lut[128] PROGMEM = { +    // NUL   SOH      STX      ETX      EOT      ENQ      ACK      BEL +    XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, +    // BS    TAB      LF       VT       FF       CR       SO       SI +    KC_BSPC, KC_TAB,  KC_ENT,  XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, +    // DLE   DC1      DC2      DC3      DC4      NAK      SYN      ETB +    XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, +    // CAN   EM       SUB      ESC      FS       GS       RS       US +    XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC,  XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, +    //       !        "        #        $        %        &        ' +    KC_SPC,  KC_1,    KC_QUOT, KC_3,    KC_4,    KC_5,    KC_7,    KC_QUOT, +    // (     )        *        +        ,        -        .        / +    KC_9,    KC_0,    KC_8,    KC_EQL,  KC_COMM, KC_MINS, KC_DOT,  KC_SLSH, +    // 0     1        2        3        4        5        6        7 +    KC_0,    KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7, +    // 8     9        :        ;        <        =        >        ? +    KC_8,    KC_9,    NM_SCLN, NM_SCLN, KC_COMM, KC_EQL,  KC_DOT,  KC_SLSH, +    // @     A        B        C        D        E        F        G +    KC_2,    NM_A,    NM_B,    NM_C,    NM_D,    NM_E,    NM_F,    NM_G, +    // H     I        J        K        L        M        N        O +    NM_H,    NM_I,    NM_J,    NM_K,    NM_L,    NM_M,    NM_N,    NM_O, +    // P     Q        R        S        T        U        V        W +    NM_P,    NM_Q,    NM_R,    NM_S,    NM_T,    NM_U,    NM_V,    NM_W, +    // X     Y        Z        [        \        ]        ^        _ +    NM_X,    NM_Y,    NM_Z,    KC_LBRC, KC_BSLS, KC_RBRC, KC_6,    KC_MINS, +    // `     a        b        c        d        e        f        g +    KC_GRV,  NM_A,    NM_B,    NM_C,    NM_D,    NM_E,    NM_F,    NM_G, +    // h     i        j        k        l        m        n        o +    NM_H,    NM_I,    NM_J,    NM_K,    NM_L,    NM_M,    NM_N,    NM_O, +    // p     q        r        s        t        u        v        w +    NM_P,    NM_Q,    NM_R,    NM_S,    NM_T,    NM_U,    NM_V,    NM_W, +    // x     y        z        {        |        }        ~        DEL +    NM_X,    NM_Y,    NM_Z,    KC_LBRC, KC_BSLS, KC_RBRC, KC_GRV,  KC_DEL +}; diff --git a/quantum/keymap_extras/sendstring_spanish.h b/quantum/keymap_extras/sendstring_spanish.h index 7194459290..985d602880 100644 --- a/quantum/keymap_extras/sendstring_spanish.h +++ b/quantum/keymap_extras/sendstring_spanish.h @@ -13,59 +13,85 @@   * You should have received a copy of the GNU General Public License   * along with this program.  If not, see <http://www.gnu.org/licenses/>.   */ -/* Sendstring definitions for the Spanish layout */ -#ifndef SENDSTRING_SPANISH -#define SENDSTRING_SPANISH + +// Sendstring lookup tables for Spanish layouts + +#pragma once  #include "keymap_spanish.h" -const bool ascii_to_shift_lut[0x80] PROGMEM = { +const bool ascii_to_shift_lut[128] PROGMEM = {      0, 0, 0, 0, 0, 0, 0, 0,      0, 0, 0, 0, 0, 0, 0, 0,      0, 0, 0, 0, 0, 0, 0, 0,      0, 0, 0, 0, 0, 0, 0, 0, -    0, 1, 1, 1, 1, 1, 1, 0, +    0, 1, 1, 0, 1, 1, 1, 0,      1, 1, 1, 0, 0, 0, 0, 1,      0, 0, 0, 0, 0, 0, 0, 0, -      0, 0, 1, 1, 0, 1, 1, 1, +    0, 1, 1, 1, 1, 1, 1, 1,      1, 1, 1, 1, 1, 1, 1, 1,      1, 1, 1, 1, 1, 1, 1, 1, -    1, 1, 1, 1, 1, 1, 1, 1, -          1, 1, 1, 0, 0, 0, 1, 1,      0, 0, 0, 0, 0, 0, 0, 0,      0, 0, 0, 0, 0, 0, 0, 0,      0, 0, 0, 0, 0, 0, 0, 0, -    0, 0, 0, 1, 1, 1, 1, 0 +    0, 0, 0, 0, 0, 0, 0, 0  }; -/* Until an ALT table/functionality is added, the following symbols will not work: - # @ [ ] { } | ~ -*/ -const uint8_t ascii_to_keycode_lut[0x80] PROGMEM = { -    0, 0, 0, 0, 0, 0, 0, 0, -    KC_BSPC, KC_TAB, KC_ENT, 0, 0, 0, 0, 0, -    0, 0, 0, 0, 0, 0, 0, 0, -    0, 0, 0, KC_ESC, 0, 0, 0, 0, -/*        ,   !    "      #     $    %     &      '    */ -    KC_SPC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, ES_APOS, -/*    (     )       *        +         ,       -        .     /    */ -    KC_8, KC_9, ES_PLUS,  ES_PLUS, KC_COMM, ES_MINS, KC_DOT, KC_7, -    KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, -/*    8     9       :        ;        <      =     >         ?    */ -    KC_8, KC_9, KC_DOT, KC_COMM, KC_NUBS,  KC_0, KC_NUBS,  ES_APOS, -/*    @     A      B    C    D      E     F     G                 */ -    KC_2, KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, -    KC_H, KC_I, KC_J, KC_K, KC_L, KC_M, KC_N, KC_O, -    KC_P, KC_Q, KC_R, KC_S, KC_T, KC_U, KC_V, KC_W, -/*    X     Y     Z      [         \      ]        ^       _    */     -    KC_X, KC_Y, KC_Z, KC_LBRC, KC_BSLS, KC_RBRC, ES_GRV, ES_MINS, -    ES_GRV, KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, -    KC_H, KC_I, KC_J, KC_K, KC_L, KC_M, KC_N, KC_O, -    KC_P, KC_Q, KC_R, KC_S, KC_T, KC_U, KC_V, KC_W, -    KC_X, KC_Y, KC_Z, KC_LBRC, KC_BSLS, KC_RBRC, KC_GRV, KC_DEL +const bool ascii_to_altgr_lut[128] PROGMEM = { +    0, 0, 0, 0, 0, 0, 0, 0, +    0, 0, 0, 0, 0, 0, 0, 0, +    0, 0, 0, 0, 0, 0, 0, 0, +    0, 0, 0, 0, 0, 0, 0, 0, + +    0, 0, 0, 1, 0, 0, 0, 0, +    0, 0, 0, 0, 0, 0, 0, 0, +    0, 0, 0, 0, 0, 0, 0, 0, +    0, 0, 0, 0, 0, 0, 0, 0, +    1, 0, 0, 0, 0, 0, 0, 0, +    0, 0, 0, 0, 0, 0, 0, 0, +    0, 0, 0, 0, 0, 0, 0, 0, +    0, 0, 0, 1, 1, 1, 0, 0, +    0, 0, 0, 0, 0, 0, 0, 0, +    0, 0, 0, 0, 0, 0, 0, 0, +    0, 0, 0, 0, 0, 0, 0, 0, +    0, 0, 0, 1, 1, 1, 1, 0  }; -#endif +const uint8_t ascii_to_keycode_lut[128] PROGMEM = { +    // NUL   SOH      STX      ETX      EOT      ENQ      ACK      BEL +    XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, +    // BS    TAB      LF       VT       FF       CR       SO       SI +    KC_BSPC, KC_TAB,  KC_ENT,  XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, +    // DLE   DC1      DC2      DC3      DC4      NAK      SYN      ETB +    XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, +    // CAN   EM       SUB      ESC      FS       GS       RS       US +    XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC,  XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + +    //       !        "        #        $        %        &        ' +    KC_SPC,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    ES_APOS, +    // (     )        *        +        ,        -        .        / +    KC_8,    KC_9,    ES_PLUS, ES_PLUS, KC_COMM, ES_MINS, KC_DOT,  KC_7, +    // 0     1        2        3        4        5        6        7 +    KC_0,    KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7, +    // 8     9        :        ;        <        =        >        ? +    KC_8,    KC_9,    KC_DOT,  KC_COMM, ES_LESS, KC_0,    ES_LESS, ES_APOS, +    // @     A        B        C        D        E        F        G +    KC_2,    KC_A,    KC_B,    KC_C,    KC_D,    KC_E,    KC_F,    KC_G, +    // H     I        J        K        L        M        N        O +    KC_H,    KC_I,    KC_J,    KC_K,    KC_L,    KC_M,    KC_N,    KC_O, +    // P     Q        R        S        T        U        V        W +    KC_P,    KC_Q,    KC_R,    KC_S,    KC_T,    KC_U,    KC_V,    KC_W, +    // X     Y        Z        [        \        ]        ^        _ +    KC_X,    KC_Y,    KC_Z,    ES_GRV,  ES_OVRR, ES_PLUS, ES_GRV,  ES_MINS, +    // `     a        b        c        d        e        f        g +    ES_GRV,  KC_A,    KC_B,    KC_C,    KC_D,    KC_E,    KC_F,    KC_G, +    // h     i        j        k        l        m        n        o +    KC_H,    KC_I,    KC_J,    KC_K,    KC_L,    KC_M,    KC_N,    KC_O, +    // p     q        r        s        t        u        v        w +    KC_P,    KC_Q,    KC_R,    KC_S,    KC_T,    KC_U,    KC_V,    KC_W, +    // x     y        z        {        |        }        ~        DEL +    KC_X,    KC_Y,    KC_Z,    ES_ACUT, KC_1,    ES_CCED, ES_NTIL, KC_DEL +}; diff --git a/quantum/keymap_extras/sendstring_uk.h b/quantum/keymap_extras/sendstring_uk.h index 2824e5d444..a01c9bc439 100644 --- a/quantum/keymap_extras/sendstring_uk.h +++ b/quantum/keymap_extras/sendstring_uk.h @@ -14,12 +14,13 @@   * along with this program.  If not, see <http://www.gnu.org/licenses/>.   */ -/* SEND_STRING() LUTs for UK layouts */ +// Sendstring lookup tables for UK layouts -#ifndef SENDSTRING_UK -#define SENDSTRING_UK +#pragma once -const bool ascii_to_shift_lut[0x80] PROGMEM = { +#include "keymap_uk.h" + +const bool ascii_to_shift_lut[128] PROGMEM = {      0, 0, 0, 0, 0, 0, 0, 0,      0, 0, 0, 0, 0, 0, 0, 0,      0, 0, 0, 0, 0, 0, 0, 0, @@ -39,24 +40,38 @@ const bool ascii_to_shift_lut[0x80] PROGMEM = {      0, 0, 0, 1, 1, 1, 1, 0  }; -const uint8_t ascii_to_keycode_lut[0x80] PROGMEM = { -    0, 0, 0, 0, 0, 0, 0, 0, -    KC_BSPC, KC_TAB, KC_ENT, 0, 0, 0, 0, 0, -    0, 0, 0, 0, 0, 0, 0, 0, -    0, 0, 0, KC_ESC, 0, 0, 0, 0, +const uint8_t ascii_to_keycode_lut[128] PROGMEM = { +    // NUL   SOH      STX      ETX      EOT      ENQ      ACK      BEL +    XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, +    // BS    TAB      LF       VT       FF       CR       SO       SI +    KC_BSPC, KC_TAB,  KC_ENT,  XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, +    // DLE   DC1      DC2      DC3      DC4      NAK      SYN      ETB +    XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, +    // CAN   EM       SUB      ESC      FS       GS       RS       US +    XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC,  XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, -    KC_SPC, KC_1, KC_2, KC_NUHS, KC_4, KC_5, KC_7, KC_QUOT, -    KC_9, KC_0, KC_8, KC_EQL, KC_COMM, KC_MINS, KC_DOT, KC_SLSH, -    KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, -    KC_8, KC_9, KC_SCLN, KC_SCLN, KC_COMM, KC_EQL, KC_DOT, KC_SLSH, -    KC_QUOT, KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, -    KC_H, KC_I, KC_J, KC_K, KC_L, KC_M, KC_N, KC_O, -    KC_P, KC_Q, KC_R, KC_S, KC_T, KC_U, KC_V, KC_W, -    KC_X, KC_Y, KC_Z, KC_LBRC, KC_BSLS, KC_RBRC, KC_6, KC_MINS, -    KC_GRV, KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, -    KC_H, KC_I, KC_J, KC_K, KC_L, KC_M, KC_N, KC_O, -    KC_P, KC_Q, KC_R, KC_S, KC_T, KC_U, KC_V, KC_W, -    KC_X, KC_Y, KC_Z, KC_LBRC, KC_BSLS, KC_RBRC, KC_GRV, KC_DEL +    //       !        "        #        $        %        &        ' +    UK_SPC,  UK_1,    UK_2,    UK_HASH, UK_4,    UK_5,    UK_7,    UK_QUOT, +    // (     )        *        +        ,        -        .        / +    UK_9,    UK_0,    UK_8,    UK_EQL,  UK_COMM, UK_MINS, UK_DOT,  UK_SLSH, +    // 0     1        2        3        4        5        6        7 +    UK_0,    UK_1,    UK_2,    UK_3,    UK_4,    UK_5,    UK_6,    UK_7, +    // 8     9        :        ;        <        =        >        ? +    UK_8,    UK_9,    UK_SCLN, UK_SCLN, UK_COMM, UK_EQL,  UK_DOT,  UK_SLSH, +    // @     A        B        C        D        E        F        G +    UK_QUOT, UK_A,    UK_B,    UK_C,    UK_D,    UK_E,    UK_F,    UK_G, +    // H     I        J        K        L        M        N        O +    UK_H,    UK_I,    UK_J,    UK_K,    UK_L,    UK_M,    UK_N,    UK_O, +    // P     Q        R        S        T        U        V        W +    UK_P,    UK_Q,    UK_R,    UK_S,    UK_T,    UK_U,    UK_V,    UK_W, +    // X     Y        Z        [        \        ]        ^        _ +    UK_X,    UK_Y,    UK_Z,    UK_LBRC, UK_BSLS, UK_RBRC, UK_6,    UK_MINS, +    // `     a        b        c        d        e        f        g +    UK_GRV,  UK_A,    UK_B,    UK_C,    UK_D,    UK_E,    UK_F,    UK_G, +    // h     i        j        k        l        m        n        o +    UK_H,    UK_I,    UK_J,    UK_K,    UK_L,    UK_M,    UK_N,    UK_O, +    // p     q        r        s        t        u        v        w +    UK_P,    UK_Q,    UK_R,    UK_S,    UK_T,    UK_U,    UK_V,    UK_W, +    // x     y        z        {        |        }        ~        DEL +    UK_X,    UK_Y,    UK_Z,    UK_LBRC, UK_BSLS, UK_RBRC, UK_HASH, KC_DEL  }; - -#endif diff --git a/quantum/keymap_extras/sendstring_workman.h b/quantum/keymap_extras/sendstring_workman.h index a8571839da..a0dd4756ff 100644 --- a/quantum/keymap_extras/sendstring_workman.h +++ b/quantum/keymap_extras/sendstring_workman.h @@ -13,29 +13,45 @@   * You should have received a copy of the GNU General Public License   * along with this program.  If not, see <http://www.gnu.org/licenses/>.   */ -/* Sendstring definitions for the Workman layout */ -#ifndef SENDSTRING_WORKMAN -#define SENDSTRING_WORKMAN + +// Sendstring lookup tables for Workman layouts + +#pragma once  #include "keymap_workman.h" -const uint8_t ascii_to_keycode_lut[0x80] PROGMEM = { -    0,       0,      0,       0,       0,       0,       0,      0, -    KC_BSPC, KC_TAB, KC_ENT,  0,       0,       0,       0,      0, -    0,       0,      0,       0,       0,       0,       0,      0, -    0,       0,      0,       KC_ESC,  0,       0,       0,      0, -    KC_SPC,  KC_1,   KC_QUOT, KC_3,    KC_4,    KC_5,    KC_7,   KC_QUOT, -    KC_9,    KC_0,   KC_8,    KC_EQL,  KC_COMM, KC_MINS, KC_DOT, KC_SLSH, -    KC_0,    KC_1,   KC_2,    KC_3,    KC_4,    KC_5,    KC_6,   KC_7, -    KC_8,    KC_9,   KC_SCLN, KC_SCLN, KC_COMM, KC_EQL,  KC_DOT, KC_SLSH, -    KC_2,    WK_A,   WK_B,    WK_C,    WK_D,    WK_E,    WK_F,   WK_G, -    WK_H,    WK_I,   WK_J,    WK_K,    WK_L,    WK_M,    WK_N,   WK_O, -    WK_P,    WK_Q,   WK_R,    WK_S,    WK_T,    WK_U,    WK_V,   WK_W, -    WK_X,    WK_Y,   WK_Z,    KC_LBRC, KC_BSLS, KC_RBRC, KC_6,   KC_MINS, -    KC_GRV,  WK_A,   WK_B,    WK_C,    WK_D,    WK_E,    WK_F,   WK_G, -    WK_H,    WK_I,   WK_J,    WK_K,    WK_L,    WK_M,    WK_N,   WK_O, -    WK_P,    WK_Q,   WK_R,    WK_S,    WK_T,    WK_U,    WK_V,   WK_W, -    WK_X,    WK_Y,   WK_Z,    KC_LBRC, KC_BSLS, KC_RBRC, KC_GRV, KC_DEL -}; +const uint8_t ascii_to_keycode_lut[128] PROGMEM = { +    // NUL   SOH      STX      ETX      EOT      ENQ      ACK      BEL +    XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, +    // BS    TAB      LF       VT       FF       CR       SO       SI +    KC_BSPC, KC_TAB,  KC_ENT,  XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, +    // DLE   DC1      DC2      DC3      DC4      NAK      SYN      ETB +    XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, +    // CAN   EM       SUB      ESC      FS       GS       RS       US +    XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC,  XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, -#endif
\ No newline at end of file +    //       !        "        #        $        %        &        ' +    KC_SPC,  KC_1,    KC_QUOT, KC_3,    KC_4,    KC_5,    KC_7,    KC_QUOT, +    // (     )        *        +        ,        -        .        / +    KC_9,    KC_0,    KC_8,    KC_EQL,  KC_COMM, KC_MINS, KC_DOT,  KC_SLSH, +    // 0     1        2        3        4        5        6        7 +    KC_0,    KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7, +    // 8     9        :        ;        <        =        >        ? +    KC_8,    KC_9,    KC_SCLN, KC_SCLN, KC_COMM, KC_EQL,  KC_DOT,  KC_SLSH, +    // @     A        B        C        D        E        F        G +    KC_2,    WK_A,    WK_B,    WK_C,    WK_D,    WK_E,    WK_F,    WK_G, +    // H     I        J        K        L        M        N        O +    WK_H,    WK_I,    WK_J,    WK_K,    WK_L,    WK_M,    WK_N,    WK_O, +    // P     Q        R        S        T        U        V        W +    WK_P,    WK_Q,    WK_R,    WK_S,    WK_T,    WK_U,    WK_V,    WK_W, +    // X     Y        Z        [        \        ]        ^        _ +    WK_X,    WK_Y,    WK_Z,    KC_LBRC, KC_BSLS, KC_RBRC, KC_6,    KC_MINS, +    // `     a        b        c        d        e        f        g +    KC_GRV,  WK_A,    WK_B,    WK_C,    WK_D,    WK_E,    WK_F,    WK_G, +    // h     i        j        k        l        m        n        o +    WK_H,    WK_I,    WK_J,    WK_K,    WK_L,    WK_M,    WK_N,    WK_O, +    // p     q        r        s        t        u        v        w +    WK_P,    WK_Q,    WK_R,    WK_S,    WK_T,    WK_U,    WK_V,    WK_W, +    // x     y        z        {        |        }        ~        DEL +    WK_X,    WK_Y,    WK_Z,    KC_LBRC, KC_BSLS, KC_RBRC, KC_GRV,  KC_DEL +}; diff --git a/quantum/quantum.c b/quantum/quantum.c index 44635fe3e1..31dfa60cd6 100644 --- a/quantum/quantum.c +++ b/quantum/quantum.c @@ -719,11 +719,12 @@ bool process_record_quantum(keyrecord_t *record) {  }  __attribute__ ((weak)) -const bool ascii_to_shift_lut[0x80] PROGMEM = { +const bool ascii_to_shift_lut[128] PROGMEM = {      0, 0, 0, 0, 0, 0, 0, 0,      0, 0, 0, 0, 0, 0, 0, 0,      0, 0, 0, 0, 0, 0, 0, 0,      0, 0, 0, 0, 0, 0, 0, 0, +      0, 1, 1, 1, 1, 1, 1, 0,      1, 1, 1, 1, 0, 0, 0, 0,      0, 0, 0, 0, 0, 0, 0, 0, @@ -739,11 +740,12 @@ const bool ascii_to_shift_lut[0x80] PROGMEM = {  };  __attribute__ ((weak)) -const bool ascii_to_altgr_lut[0x80] PROGMEM = { +const bool ascii_to_altgr_lut[128] PROGMEM = {      0, 0, 0, 0, 0, 0, 0, 0,      0, 0, 0, 0, 0, 0, 0, 0,      0, 0, 0, 0, 0, 0, 0, 0,      0, 0, 0, 0, 0, 0, 0, 0, +      0, 0, 0, 0, 0, 0, 0, 0,      0, 0, 0, 0, 0, 0, 0, 0,      0, 0, 0, 0, 0, 0, 0, 0, @@ -759,23 +761,40 @@ const bool ascii_to_altgr_lut[0x80] PROGMEM = {  };  __attribute__ ((weak)) -const uint8_t ascii_to_keycode_lut[0x80] PROGMEM = { -    0, 0, 0, 0, 0, 0, 0, 0, -    KC_BSPC, KC_TAB, KC_ENT, 0, 0, 0, 0, 0, -    0, 0, 0, 0, 0, 0, 0, 0, -    0, 0, 0, KC_ESC, 0, 0, 0, 0, -    KC_SPC, KC_1, KC_QUOT, KC_3, KC_4, KC_5, KC_7, KC_QUOT, -    KC_9, KC_0, KC_8, KC_EQL, KC_COMM, KC_MINS, KC_DOT, KC_SLSH, -    KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, -    KC_8, KC_9, KC_SCLN, KC_SCLN, KC_COMM, KC_EQL, KC_DOT, KC_SLSH, -    KC_2, KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, -    KC_H, KC_I, KC_J, KC_K, KC_L, KC_M, KC_N, KC_O, -    KC_P, KC_Q, KC_R, KC_S, KC_T, KC_U, KC_V, KC_W, -    KC_X, KC_Y, KC_Z, KC_LBRC, KC_BSLS, KC_RBRC, KC_6, KC_MINS, -    KC_GRV, KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, -    KC_H, KC_I, KC_J, KC_K, KC_L, KC_M, KC_N, KC_O, -    KC_P, KC_Q, KC_R, KC_S, KC_T, KC_U, KC_V, KC_W, -    KC_X, KC_Y, KC_Z, KC_LBRC, KC_BSLS, KC_RBRC, KC_GRV, KC_DEL +const uint8_t ascii_to_keycode_lut[128] PROGMEM = { +    // NUL   SOH      STX      ETX      EOT      ENQ      ACK      BEL +    XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, +    // BS    TAB      LF       VT       FF       CR       SO       SI +    KC_BSPC, KC_TAB,  KC_ENT,  XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, +    // DLE   DC1      DC2      DC3      DC4      NAK      SYN      ETB +    XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, +    // CAN   EM       SUB      ESC      FS       GS       RS       US +    XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC,  XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + +    //       !        "        #        $        %        &        ' +    KC_SPC,  KC_1,    KC_QUOT, KC_3,    KC_4,    KC_5,    KC_7,    KC_QUOT, +    // (     )        *        +        ,        -        .        / +    KC_9,    KC_0,    KC_8,    KC_EQL,  KC_COMM, KC_MINS, KC_DOT,  KC_SLSH, +    // 0     1        2        3        4        5        6        7 +    KC_0,    KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7, +    // 8     9        :        ;        <        =        >        ? +    KC_8,    KC_9,    KC_SCLN, KC_SCLN, KC_COMM, KC_EQL,  KC_DOT,  KC_SLSH, +    // @     A        B        C        D        E        F        G +    KC_2,    KC_A,    KC_B,    KC_C,    KC_D,    KC_E,    KC_F,    KC_G, +    // H     I        J        K        L        M        N        O +    KC_H,    KC_I,    KC_J,    KC_K,    KC_L,    KC_M,    KC_N,    KC_O, +    // P     Q        R        S        T        U        V        W +    KC_P,    KC_Q,    KC_R,    KC_S,    KC_T,    KC_U,    KC_V,    KC_W, +    // X     Y        Z        [        \        ]        ^        _ +    KC_X,    KC_Y,    KC_Z,    KC_LBRC, KC_BSLS, KC_RBRC, KC_6,    KC_MINS, +    // `     a        b        c        d        e        f        g +    KC_GRV,  KC_A,    KC_B,    KC_C,    KC_D,    KC_E,    KC_F,    KC_G, +    // h     i        j        k        l        m        n        o +    KC_H,    KC_I,    KC_J,    KC_K,    KC_L,    KC_M,    KC_N,    KC_O, +    // p     q        r        s        t        u        v        w +    KC_P,    KC_Q,    KC_R,    KC_S,    KC_T,    KC_U,    KC_V,    KC_W, +    // x     y        z        {        |        }        ~        DEL +    KC_X,    KC_Y,    KC_Z,    KC_LBRC, KC_BSLS, KC_RBRC, KC_GRV,  KC_DEL  };  void send_string(const char *str) { diff --git a/quantum/quantum.h b/quantum/quantum.h index f089c6ef64..56f30624c7 100644 --- a/quantum/quantum.h +++ b/quantum/quantum.h @@ -201,9 +201,9 @@ extern layer_state_t default_layer_state;  #define SEND_STRING(string) send_string_P(PSTR(string)) -extern const bool ascii_to_shift_lut[0x80]; -extern const bool ascii_to_altgr_lut[0x80]; -extern const uint8_t ascii_to_keycode_lut[0x80]; +extern const bool ascii_to_shift_lut[128]; +extern const bool ascii_to_altgr_lut[128]; +extern const uint8_t ascii_to_keycode_lut[128];  void send_string(const char *str);  void send_string_with_delay(const char *str, uint8_t interval);  | 
