summaryrefslogtreecommitdiff
path: root/quantum
diff options
context:
space:
mode:
authorfauxpark <fauxpark@gmail.com>2019-10-29 09:54:05 +1100
committernoroadsleft <18669334+noroadsleft@users.noreply.github.com>2019-10-28 15:54:05 -0700
commit8ab7f1f39e715c824cc0e1391aa9a469b2a18438 (patch)
treef7dec557083ba9f304ccaac275e34be7fc9fd1f2 /quantum
parent917ab71c52111c5ca89382eba74e08e616264d59 (diff)
Fix formatting for sendstring LUTs (#7176)
Diffstat (limited to 'quantum')
-rw-r--r--quantum/keymap_extras/sendstring_belgian.h71
-rw-r--r--quantum/keymap_extras/sendstring_bepo.h71
-rw-r--r--quantum/keymap_extras/sendstring_colemak.h31
-rw-r--r--quantum/keymap_extras/sendstring_dvorak.h31
-rw-r--r--quantum/keymap_extras/sendstring_french.h71
-rw-r--r--quantum/keymap_extras/sendstring_german.h71
-rw-r--r--quantum/keymap_extras/sendstring_jis.h51
-rw-r--r--quantum/keymap_extras/sendstring_norman.h31
-rw-r--r--quantum/keymap_extras/sendstring_spanish.h71
-rw-r--r--quantum/keymap_extras/sendstring_uk.h51
-rw-r--r--quantum/keymap_extras/sendstring_workman.h31
11 files changed, 403 insertions, 178 deletions
diff --git a/quantum/keymap_extras/sendstring_belgian.h b/quantum/keymap_extras/sendstring_belgian.h
index d12c189090..ca0edfb683 100644
--- a/quantum/keymap_extras/sendstring_belgian.h
+++ b/quantum/keymap_extras/sendstring_belgian.h
@@ -20,45 +20,80 @@
20 20
21#include "keymap_belgian.h" 21#include "keymap_belgian.h"
22 22
23const 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, 23// clang-format off
24 24
25 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 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, 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}; 25const bool ascii_to_shift_lut[128] PROGMEM = {
26 0, 0, 0, 0, 0, 0, 0, 0,
27 0, 0, 0, 0, 0, 0, 0, 0,
28 0, 0, 0, 0, 0, 0, 0, 0,
29 0, 0, 0, 0, 0, 0, 0, 0,
26 30
27const 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, 31 0, 0, 0, 0, 0, 1, 0, 0,
32 0, 0, 1, 1, 0, 0, 1, 1,
33 1, 1, 1, 1, 1, 1, 1, 1,
34 1, 1, 0, 0, 0, 0, 1, 1,
35 0, 1, 1, 1, 1, 1, 1, 1,
36 1, 1, 1, 1, 1, 1, 1, 1,
37 1, 1, 1, 1, 1, 1, 1, 1,
38 1, 1, 1, 0, 0, 0, 0, 1,
39 0, 0, 0, 0, 0, 0, 0, 0,
40 0, 0, 0, 0, 0, 0, 0, 0,
41 0, 0, 0, 0, 0, 0, 0, 0,
42 0, 0, 0, 0, 0, 0, 0, 0
43};
28 44
29 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, 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, 1, 1, 1, 1, 0}; 45const bool ascii_to_altgr_lut[128] PROGMEM = {
46 0, 0, 0, 0, 0, 0, 0, 0,
47 0, 0, 0, 0, 0, 0, 0, 0,
48 0, 0, 0, 0, 0, 0, 0, 0,
49 0, 0, 0, 0, 0, 0, 0, 0,
50
51 0, 0, 0, 1, 0, 0, 0, 0,
52 0, 0, 0, 0, 0, 0, 0, 0,
53 0, 0, 0, 0, 0, 0, 0, 0,
54 0, 0, 0, 0, 0, 0, 0, 0,
55 1, 0, 0, 0, 0, 0, 0, 0,
56 0, 0, 0, 0, 0, 0, 0, 0,
57 0, 0, 0, 0, 0, 0, 0, 0,
58 0, 0, 0, 1, 1, 1, 1, 0,
59 1, 0, 0, 0, 0, 0, 0, 0,
60 0, 0, 0, 0, 0, 0, 0, 0,
61 0, 0, 0, 0, 0, 0, 0, 0,
62 0, 0, 0, 1, 1, 1, 1, 0
63};
30 64
31const uint8_t ascii_to_keycode_lut[128] PROGMEM = { 65const uint8_t ascii_to_keycode_lut[128] PROGMEM = {
32 // NUL SOH STX ETX EOT ENQ ACK BEL 66 // NUL SOH STX ETX EOT ENQ ACK BEL
33 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, 67 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
34 // BS TAB LF VT FF CR SO SI 68 // BS TAB LF VT FF CR SO SI
35 KC_BSPC, KC_TAB, KC_ENT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, 69 KC_BSPC, KC_TAB, KC_ENT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
36 // DLE DC1 DC2 DC3 DC4 NAK SYN ETB 70 // DLE DC1 DC2 DC3 DC4 NAK SYN ETB
37 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, 71 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
38 // CAN EM SUB ESC FS GS RS US 72 // CAN EM SUB ESC FS GS RS US
39 XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, 73 XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
40 74
41 // ! " # $ % & ' 75 // ! " # $ % & '
42 KC_SPC, BE_EXLM, BE_QUOT, BE_QUOT, BE_DLR, BE_UGRV, BE_AMP, BE_APOS, 76 KC_SPC, BE_EXLM, BE_QUOT, BE_QUOT, BE_DLR, BE_UGRV, BE_AMP, BE_APOS,
43 // ( ) * + , - . / 77 // ( ) * + , - . /
44 BE_LPRN, BE_RPRN, BE_DLR, BE_EQL, BE_COMM, BE_MINS, BE_SCLN, BE_COLN, 78 BE_LPRN, BE_RPRN, BE_DLR, BE_EQL, BE_COMM, BE_MINS, BE_SCLN, BE_COLN,
45 // 0 1 2 3 4 5 6 7 79 // 0 1 2 3 4 5 6 7
46 BE_AGRV, BE_AMP, BE_EACU, BE_QUOT, BE_APOS, BE_LPRN, BE_PARA, BE_EGRV, 80 BE_AGRV, BE_AMP, BE_EACU, BE_QUOT, BE_APOS, BE_LPRN, BE_PARA, BE_EGRV,
47 // 8 9 : ; < = > ? 81 // 8 9 : ; < = > ?
48 BE_EXLM, BE_CCED, BE_COLN, BE_SCLN, BE_LESS, BE_EQL, BE_LESS, BE_COMM, 82 BE_EXLM, BE_CCED, BE_COLN, BE_SCLN, BE_LESS, BE_EQL, BE_LESS, BE_COMM,
49 // @ A B C D E F G 83 // @ A B C D E F G
50 BE_EACU, BE_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, 84 BE_EACU, BE_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G,
51 // H I J K L M N O 85 // H I J K L M N O
52 KC_H, KC_I, KC_J, KC_K, KC_L, BE_M, KC_N, KC_O, 86 KC_H, KC_I, KC_J, KC_K, KC_L, BE_M, KC_N, KC_O,
53 // P Q R S T U V W 87 // P Q R S T U V W
54 KC_P, BE_Q, KC_R, KC_S, KC_T, KC_U, KC_V, BE_W, 88 KC_P, BE_Q, KC_R, KC_S, KC_T, KC_U, KC_V, BE_W,
55 // X Y Z [ \ ] ^ _ 89 // X Y Z [ \ ] ^ _
56 KC_X, KC_Y, BE_Z, BE_CIRC, BE_LESS, BE_DLR, BE_PARA, BE_MINS, 90 KC_X, KC_Y, BE_Z, BE_CIRC, BE_LESS, BE_DLR, BE_PARA, BE_MINS,
57 // ` a b c d e f g 91 // ` a b c d e f g
58 BE_MU, BE_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, 92 BE_MU, BE_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G,
59 // h i j k l m n o 93 // h i j k l m n o
60 KC_H, KC_I, KC_J, KC_K, KC_L, BE_M, KC_N, KC_O, 94 KC_H, KC_I, KC_J, KC_K, KC_L, BE_M, KC_N, KC_O,
61 // p q r s t u v w 95 // p q r s t u v w
62 KC_P, BE_Q, KC_R, KC_S, KC_T, KC_U, KC_V, BE_W, 96 KC_P, BE_Q, KC_R, KC_S, KC_T, KC_U, KC_V, BE_W,
63 // x y z { | } ~ DEL 97 // x y z { | } ~ DEL
64 KC_X, KC_Y, BE_Z, BE_CCED, BE_AMP, BE_AGRV, BE_EQL, KC_DEL}; 98 KC_X, KC_Y, BE_Z, BE_CCED, BE_AMP, BE_AGRV, BE_EQL, KC_DEL
99};
diff --git a/quantum/keymap_extras/sendstring_bepo.h b/quantum/keymap_extras/sendstring_bepo.h
index bad3c3f0c1..ca5f73d7ec 100644
--- a/quantum/keymap_extras/sendstring_bepo.h
+++ b/quantum/keymap_extras/sendstring_bepo.h
@@ -20,45 +20,80 @@
20 20
21#include "keymap_bepo.h" 21#include "keymap_bepo.h"
22 22
23const 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, 23// clang-format off
24 24
25 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}; 25const bool ascii_to_shift_lut[128] PROGMEM = {
26 0, 0, 0, 0, 0, 0, 0, 0,
27 0, 0, 0, 0, 0, 0, 0, 0,
28 0, 0, 0, 0, 0, 0, 0, 0,
29 0, 0, 0, 0, 0, 0, 0, 0,
26 30
27const 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, 31 0, 1, 0, 1, 0, 0, 0, 0,
32 0, 0, 0, 0, 0, 0, 0, 0,
33 1, 1, 1, 1, 1, 1, 1, 1,
34 1, 1, 1, 1, 0, 0, 0, 1,
35 0, 1, 1, 1, 1, 1, 1, 1,
36 1, 1, 1, 1, 1, 1, 1, 1,
37 1, 1, 1, 1, 1, 1, 1, 1,
38 1, 1, 1, 0, 0, 0, 0, 0,
39 1, 0, 0, 0, 0, 0, 0, 0,
40 0, 0, 0, 0, 0, 0, 0, 0,
41 0, 0, 0, 0, 0, 0, 0, 0,
42 0, 0, 0, 0, 0, 0, 0, 0
43};
28 44
29 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}; 45const bool ascii_to_altgr_lut[128] PROGMEM = {
46 0, 0, 0, 0, 0, 0, 0, 0,
47 0, 0, 0, 0, 0, 0, 0, 0,
48 0, 0, 0, 0, 0, 0, 0, 0,
49 0, 0, 0, 0, 0, 0, 0, 0,
50
51 0, 0, 0, 0, 0, 0, 1, 0,
52 0, 0, 0, 0, 0, 0, 0, 0,
53 0, 0, 0, 0, 0, 0, 0, 0,
54 0, 0, 0, 0, 1, 0, 1, 0,
55 0, 0, 0, 0, 0, 0, 0, 0,
56 0, 0, 0, 0, 0, 0, 0, 0,
57 0, 0, 0, 0, 0, 0, 0, 0,
58 0, 0, 0, 1, 1, 1, 1, 1,
59 0, 0, 0, 0, 0, 0, 0, 0,
60 0, 0, 0, 0, 0, 0, 0, 0,
61 0, 0, 0, 0, 0, 0, 0, 0,
62 0, 0, 0, 1, 1, 1, 1, 0
63};
30 64
31const uint8_t ascii_to_keycode_lut[128] PROGMEM = { 65const uint8_t ascii_to_keycode_lut[128] PROGMEM = {
32 // NUL SOH STX ETX EOT ENQ ACK BEL 66 // NUL SOH STX ETX EOT ENQ ACK BEL
33 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, 67 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
34 // BS TAB LF VT FF CR SO SI 68 // BS TAB LF VT FF CR SO SI
35 KC_BSPC, KC_TAB, KC_ENT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, 69 KC_BSPC, KC_TAB, KC_ENT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
36 // DLE DC1 DC2 DC3 DC4 NAK SYN ETB 70 // DLE DC1 DC2 DC3 DC4 NAK SYN ETB
37 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, 71 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
38 // CAN EM SUB ESC FS GS RS US 72 // CAN EM SUB ESC FS GS RS US
39 XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, 73 XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
40 74
41 // ! " # $ % & ' 75 // ! " # $ % & '
42 KC_SPC, BP_DCRC, BP_DQOT, BP_DLR, BP_DLR, BP_PERC, BP_P, BP_APOS, 76 KC_SPC, BP_DCRC, BP_DQOT, BP_DLR, BP_DLR, BP_PERC, BP_P, BP_APOS,
43 // ( ) * + , - . / 77 // ( ) * + , - . /
44 BP_LPRN, BP_RPRN, BP_ASTR, BP_PLUS, BP_COMM, BP_MINS, BP_DOT, BP_SLSH, 78 BP_LPRN, BP_RPRN, BP_ASTR, BP_PLUS, BP_COMM, BP_MINS, BP_DOT, BP_SLSH,
45 // 0 1 2 3 4 5 6 7 79 // 0 1 2 3 4 5 6 7
46 BP_ASTR, BP_DQOT, BP_LGIL, BP_RGIL, BP_LPRN, BP_RPRN, BP_AT, BP_PLUS, 80 BP_ASTR, BP_DQOT, BP_LGIL, BP_RGIL, BP_LPRN, BP_RPRN, BP_AT, BP_PLUS,
47 // 8 9 : ; < = > ? 81 // 8 9 : ; < = > ?
48 BP_MINS, BP_SLSH, BP_DOT, BP_COMM, BP_LGIL, BP_EQL, BP_RGIL, BP_APOS, 82 BP_MINS, BP_SLSH, BP_DOT, BP_COMM, BP_LGIL, BP_EQL, BP_RGIL, BP_APOS,
49 // @ A B C D E F G 83 // @ A B C D E F G
50 BP_AT, BP_A, BP_B, BP_C, BP_D, BP_E, BP_F, BP_G, 84 BP_AT, BP_A, BP_B, BP_C, BP_D, BP_E, BP_F, BP_G,
51 // H I J K L M N O 85 // H I J K L M N O
52 BP_H, BP_I, BP_J, BP_K, BP_L, BP_M, BP_N, BP_O, 86 BP_H, BP_I, BP_J, BP_K, BP_L, BP_M, BP_N, BP_O,
53 // P Q R S T U V W 87 // P Q R S T U V W
54 BP_P, BP_Q, BP_R, BP_S, BP_T, BP_U, BP_V, BP_W, 88 BP_P, BP_Q, BP_R, BP_S, BP_T, BP_U, BP_V, BP_W,
55 // X Y Z [ \ ] ^ _ 89 // X Y Z [ \ ] ^ _
56 BP_X, BP_Y, BP_Z, BP_LPRN, BP_AGRV, BP_RPRN, BP_AT, KC_SPC, 90 BP_X, BP_Y, BP_Z, BP_LPRN, BP_AGRV, BP_RPRN, BP_AT, KC_SPC,
57 // ` a b c d e f g 91 // ` a b c d e f g
58 BP_PERC, BP_A, BP_B, BP_C, BP_D, BP_E, BP_F, BP_G, 92 BP_PERC, BP_A, BP_B, BP_C, BP_D, BP_E, BP_F, BP_G,
59 // h i j k l m n o 93 // h i j k l m n o
60 BP_H, BP_I, BP_J, BP_K, BP_L, BP_M, BP_N, BP_O, 94 BP_H, BP_I, BP_J, BP_K, BP_L, BP_M, BP_N, BP_O,
61 // p q r s t u v w 95 // p q r s t u v w
62 BP_P, BP_Q, BP_R, BP_S, BP_T, BP_U, BP_V, BP_W, 96 BP_P, BP_Q, BP_R, BP_S, BP_T, BP_U, BP_V, BP_W,
63 // x y z { | } ~ DEL 97 // x y z { | } ~ DEL
64 BP_X, BP_Y, BP_Z, BP_Y, BP_B, BP_X, BP_K, KC_DEL}; 98 BP_X, BP_Y, BP_Z, BP_Y, BP_B, BP_X, BP_K, KC_DEL
99};
diff --git a/quantum/keymap_extras/sendstring_colemak.h b/quantum/keymap_extras/sendstring_colemak.h
index 1c02b3b86a..fddf4b590e 100644
--- a/quantum/keymap_extras/sendstring_colemak.h
+++ b/quantum/keymap_extras/sendstring_colemak.h
@@ -20,37 +20,40 @@
20 20
21#include "keymap_colemak.h" 21#include "keymap_colemak.h"
22 22
23// clang-format off
24
23const uint8_t ascii_to_keycode_lut[128] PROGMEM = { 25const uint8_t ascii_to_keycode_lut[128] PROGMEM = {
24 // NUL SOH STX ETX EOT ENQ ACK BEL 26 // NUL SOH STX ETX EOT ENQ ACK BEL
25 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, 27 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
26 // BS TAB LF VT FF CR SO SI 28 // BS TAB LF VT FF CR SO SI
27 KC_BSPC, KC_TAB, KC_ENT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, 29 KC_BSPC, KC_TAB, KC_ENT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
28 // DLE DC1 DC2 DC3 DC4 NAK SYN ETB 30 // DLE DC1 DC2 DC3 DC4 NAK SYN ETB
29 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, 31 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
30 // CAN EM SUB ESC FS GS RS US 32 // CAN EM SUB ESC FS GS RS US
31 XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, 33 XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
32 34
33 // ! " # $ % & ' 35 // ! " # $ % & '
34 KC_SPC, KC_1, KC_QUOT, KC_3, KC_4, KC_5, KC_7, KC_QUOT, 36 KC_SPC, KC_1, KC_QUOT, KC_3, KC_4, KC_5, KC_7, KC_QUOT,
35 // ( ) * + , - . / 37 // ( ) * + , - . /
36 KC_9, KC_0, KC_8, KC_EQL, KC_COMM, KC_MINS, KC_DOT, KC_SLSH, 38 KC_9, KC_0, KC_8, KC_EQL, KC_COMM, KC_MINS, KC_DOT, KC_SLSH,
37 // 0 1 2 3 4 5 6 7 39 // 0 1 2 3 4 5 6 7
38 KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, 40 KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7,
39 // 8 9 : ; < = > ? 41 // 8 9 : ; < = > ?
40 KC_8, KC_9, CM_SCLN, CM_SCLN, KC_COMM, KC_EQL, KC_DOT, KC_SLSH, 42 KC_8, KC_9, CM_SCLN, CM_SCLN, KC_COMM, KC_EQL, KC_DOT, KC_SLSH,
41 // @ A B C D E F G 43 // @ A B C D E F G
42 KC_2, CM_A, CM_B, CM_C, CM_D, CM_E, CM_F, CM_G, 44 KC_2, CM_A, CM_B, CM_C, CM_D, CM_E, CM_F, CM_G,
43 // H I J K L M N O 45 // H I J K L M N O
44 CM_H, CM_I, CM_J, CM_K, CM_L, CM_M, CM_N, CM_O, 46 CM_H, CM_I, CM_J, CM_K, CM_L, CM_M, CM_N, CM_O,
45 // P Q R S T U V W 47 // P Q R S T U V W
46 CM_P, CM_Q, CM_R, CM_S, CM_T, CM_U, CM_V, CM_W, 48 CM_P, CM_Q, CM_R, CM_S, CM_T, CM_U, CM_V, CM_W,
47 // X Y Z [ \ ] ^ _ 49 // X Y Z [ \ ] ^ _
48 CM_X, CM_Y, CM_Z, KC_LBRC, KC_BSLS, KC_RBRC, KC_6, KC_MINS, 50 CM_X, CM_Y, CM_Z, KC_LBRC, KC_BSLS, KC_RBRC, KC_6, KC_MINS,
49 // ` a b c d e f g 51 // ` a b c d e f g
50 KC_GRV, CM_A, CM_B, CM_C, CM_D, CM_E, CM_F, CM_G, 52 KC_GRV, CM_A, CM_B, CM_C, CM_D, CM_E, CM_F, CM_G,
51 // h i j k l m n o 53 // h i j k l m n o
52 CM_H, CM_I, CM_J, CM_K, CM_L, CM_M, CM_N, CM_O, 54 CM_H, CM_I, CM_J, CM_K, CM_L, CM_M, CM_N, CM_O,
53 // p q r s t u v w 55 // p q r s t u v w
54 CM_P, CM_Q, CM_R, CM_S, CM_T, CM_U, CM_V, CM_W, 56 CM_P, CM_Q, CM_R, CM_S, CM_T, CM_U, CM_V, CM_W,
55 // x y z { | } ~ DEL 57 // x y z { | } ~ DEL
56 CM_X, CM_Y, CM_Z, KC_LBRC, KC_BSLS, KC_RBRC, KC_GRV, KC_DEL}; 58 CM_X, CM_Y, CM_Z, KC_LBRC, KC_BSLS, KC_RBRC, KC_GRV, KC_DEL
59};
diff --git a/quantum/keymap_extras/sendstring_dvorak.h b/quantum/keymap_extras/sendstring_dvorak.h
index 3ddb00b112..25e1d31423 100644
--- a/quantum/keymap_extras/sendstring_dvorak.h
+++ b/quantum/keymap_extras/sendstring_dvorak.h
@@ -20,37 +20,40 @@
20 20
21#include "keymap_dvorak.h" 21#include "keymap_dvorak.h"
22 22
23// clang-format off
24
23const uint8_t ascii_to_keycode_lut[128] PROGMEM = { 25const uint8_t ascii_to_keycode_lut[128] PROGMEM = {
24 // NUL SOH STX ETX EOT ENQ ACK BEL 26 // NUL SOH STX ETX EOT ENQ ACK BEL
25 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, 27 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
26 // BS TAB LF VT FF CR SO SI 28 // BS TAB LF VT FF CR SO SI
27 KC_BSPC, KC_TAB, KC_ENT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, 29 KC_BSPC, KC_TAB, KC_ENT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
28 // DLE DC1 DC2 DC3 DC4 NAK SYN ETB 30 // DLE DC1 DC2 DC3 DC4 NAK SYN ETB
29 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, 31 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
30 // CAN EM SUB ESC FS GS RS US 32 // CAN EM SUB ESC FS GS RS US
31 XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, 33 XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
32 34
33 // ! " # $ % & ' 35 // ! " # $ % & '
34 KC_SPC, DV_1, DV_QUOT, DV_3, DV_4, DV_5, DV_7, DV_QUOT, 36 KC_SPC, DV_1, DV_QUOT, DV_3, DV_4, DV_5, DV_7, DV_QUOT,
35 // ( ) * + , - . / 37 // ( ) * + , - . /
36 DV_9, DV_0, DV_8, DV_EQL, DV_COMM, DV_MINS, DV_DOT, DV_SLSH, 38 DV_9, DV_0, DV_8, DV_EQL, DV_COMM, DV_MINS, DV_DOT, DV_SLSH,
37 // 0 1 2 3 4 5 6 7 39 // 0 1 2 3 4 5 6 7
38 DV_0, DV_1, DV_2, DV_3, DV_4, DV_5, DV_6, DV_7, 40 DV_0, DV_1, DV_2, DV_3, DV_4, DV_5, DV_6, DV_7,
39 // 8 9 : ; < = > ? 41 // 8 9 : ; < = > ?
40 DV_8, DV_9, DV_SCLN, DV_SCLN, DV_COMM, DV_EQL, DV_DOT, DV_SLSH, 42 DV_8, DV_9, DV_SCLN, DV_SCLN, DV_COMM, DV_EQL, DV_DOT, DV_SLSH,
41 // @ A B C D E F G 43 // @ A B C D E F G
42 DV_2, DV_A, DV_B, DV_C, DV_D, DV_E, DV_F, DV_G, 44 DV_2, DV_A, DV_B, DV_C, DV_D, DV_E, DV_F, DV_G,
43 // H I J K L M N O 45 // H I J K L M N O
44 DV_H, DV_I, DV_J, DV_K, DV_L, DV_M, DV_N, DV_O, 46 DV_H, DV_I, DV_J, DV_K, DV_L, DV_M, DV_N, DV_O,
45 // P Q R S T U V W 47 // P Q R S T U V W
46 DV_P, DV_Q, DV_R, DV_S, DV_T, DV_U, DV_V, DV_W, 48 DV_P, DV_Q, DV_R, DV_S, DV_T, DV_U, DV_V, DV_W,
47 // X Y Z [ \ ] ^ _ 49 // X Y Z [ \ ] ^ _
48 DV_X, DV_Y, DV_Z, DV_LBRC, DV_BSLS, DV_RBRC, DV_6, DV_MINS, 50 DV_X, DV_Y, DV_Z, DV_LBRC, DV_BSLS, DV_RBRC, DV_6, DV_MINS,
49 // ` a b c d e f g 51 // ` a b c d e f g
50 DV_GRV, DV_A, DV_B, DV_C, DV_D, DV_E, DV_F, DV_G, 52 DV_GRV, DV_A, DV_B, DV_C, DV_D, DV_E, DV_F, DV_G,
51 // h i j k l m n o 53 // h i j k l m n o
52 DV_H, DV_I, DV_J, DV_K, DV_L, DV_M, DV_N, DV_O, 54 DV_H, DV_I, DV_J, DV_K, DV_L, DV_M, DV_N, DV_O,
53 // p q r s t u v w 55 // p q r s t u v w
54 DV_P, DV_Q, DV_R, DV_S, DV_T, DV_U, DV_V, DV_W, 56 DV_P, DV_Q, DV_R, DV_S, DV_T, DV_U, DV_V, DV_W,
55 // x y z { | } ~ DEL 57 // x y z { | } ~ DEL
56 DV_X, DV_Y, DV_Z, DV_LBRC, DV_BSLS, DV_RBRC, DV_GRV, KC_DEL}; 58 DV_X, DV_Y, DV_Z, DV_LBRC, DV_BSLS, DV_RBRC, DV_GRV, KC_DEL
59};
diff --git a/quantum/keymap_extras/sendstring_french.h b/quantum/keymap_extras/sendstring_french.h
index df72f9f5b8..966685ccca 100644
--- a/quantum/keymap_extras/sendstring_french.h
+++ b/quantum/keymap_extras/sendstring_french.h
@@ -20,45 +20,80 @@
20 20
21#include "keymap_french.h" 21#include "keymap_french.h"
22 22
23const 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, 23// clang-format off
24 24
25 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 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, 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}; 25const bool ascii_to_shift_lut[128] PROGMEM = {
26 0, 0, 0, 0, 0, 0, 0, 0,
27 0, 0, 0, 0, 0, 0, 0, 0,
28 0, 0, 0, 0, 0, 0, 0, 0,
29 0, 0, 0, 0, 0, 0, 0, 0,
26 30
27const 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, 31 0, 0, 0, 0, 0, 1, 0, 0,
32 0, 0, 0, 1, 0, 0, 1, 1,
33 1, 1, 1, 1, 1, 1, 1, 1,
34 1, 1, 0, 0, 0, 0, 1, 1,
35 0, 1, 1, 1, 1, 1, 1, 1,
36 1, 1, 1, 1, 1, 1, 1, 1,
37 1, 1, 1, 1, 1, 1, 1, 1,
38 1, 1, 1, 0, 0, 0, 0, 0,
39 0, 0, 0, 0, 0, 0, 0, 0,
40 0, 0, 0, 0, 0, 0, 0, 0,
41 0, 0, 0, 0, 0, 0, 0, 0,
42 0, 0, 0, 0, 0, 0, 0, 0
43};
28 44
29 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, 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, 1, 1, 1, 1, 0}; 45const bool ascii_to_altgr_lut[128] PROGMEM = {
46 0, 0, 0, 0, 0, 0, 0, 0,
47 0, 0, 0, 0, 0, 0, 0, 0,
48 0, 0, 0, 0, 0, 0, 0, 0,
49 0, 0, 0, 0, 0, 0, 0, 0,
50
51 0, 0, 0, 1, 0, 0, 0, 0,
52 0, 0, 0, 0, 0, 0, 0, 0,
53 0, 0, 0, 0, 0, 0, 0, 0,
54 0, 0, 0, 0, 0, 0, 0, 0,
55 1, 0, 0, 0, 0, 0, 0, 0,
56 0, 0, 0, 0, 0, 0, 0, 0,
57 0, 0, 0, 0, 0, 0, 0, 0,
58 0, 0, 0, 1, 1, 1, 1, 0,
59 1, 0, 0, 0, 0, 0, 0, 0,
60 0, 0, 0, 0, 0, 0, 0, 0,
61 0, 0, 0, 0, 0, 0, 0, 0,
62 0, 0, 0, 1, 1, 1, 1, 0
63};
30 64
31const uint8_t ascii_to_keycode_lut[128] PROGMEM = { 65const uint8_t ascii_to_keycode_lut[128] PROGMEM = {
32 // NUL SOH STX ETX EOT ENQ ACK BEL 66 // NUL SOH STX ETX EOT ENQ ACK BEL
33 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, 67 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
34 // BS TAB LF VT FF CR SO SI 68 // BS TAB LF VT FF CR SO SI
35 KC_BSPC, KC_TAB, KC_ENT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, 69 KC_BSPC, KC_TAB, KC_ENT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
36 // DLE DC1 DC2 DC3 DC4 NAK SYN ETB 70 // DLE DC1 DC2 DC3 DC4 NAK SYN ETB
37 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, 71 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
38 // CAN EM SUB ESC FS GS RS US 72 // CAN EM SUB ESC FS GS RS US
39 XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, 73 XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
40 74
41 // ! " # $ % & ' 75 // ! " # $ % & '
42 KC_SPC, FR_EXLM, FR_QUOT, FR_QUOT, FR_DLR, FR_UGRV, FR_AMP, FR_APOS, 76 KC_SPC, FR_EXLM, FR_QUOT, FR_QUOT, FR_DLR, FR_UGRV, FR_AMP, FR_APOS,
43 // ( ) * + , - . / 77 // ( ) * + , - . /
44 FR_LPRN, FR_RPRN, FR_ASTR, FR_EQL, FR_COMM, FR_MINS, FR_SCLN, FR_COLN, 78 FR_LPRN, FR_RPRN, FR_ASTR, FR_EQL, FR_COMM, FR_MINS, FR_SCLN, FR_COLN,
45 // 0 1 2 3 4 5 6 7 79 // 0 1 2 3 4 5 6 7
46 FR_AGRV, FR_AMP, FR_EACU, FR_QUOT, FR_APOS, FR_LPRN, FR_MINS, FR_EGRV, 80 FR_AGRV, FR_AMP, FR_EACU, FR_QUOT, FR_APOS, FR_LPRN, FR_MINS, FR_EGRV,
47 // 8 9 : ; < = > ? 81 // 8 9 : ; < = > ?
48 FR_CCED, FR_AGRV, FR_COLN, FR_SCLN, FR_LESS, FR_EQL, FR_LESS, FR_COMM, 82 FR_CCED, FR_AGRV, FR_COLN, FR_SCLN, FR_LESS, FR_EQL, FR_LESS, FR_COMM,
49 // @ A B C D E F G 83 // @ A B C D E F G
50 FR_AGRV, FR_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, 84 FR_AGRV, FR_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G,
51 // H I J K L M N O 85 // H I J K L M N O
52 KC_H, KC_I, KC_J, KC_K, KC_L, FR_M, KC_N, KC_O, 86 KC_H, KC_I, KC_J, KC_K, KC_L, FR_M, KC_N, KC_O,
53 // P Q R S T U V W 87 // P Q R S T U V W
54 KC_P, FR_Q, KC_R, KC_S, KC_T, KC_U, KC_V, FR_W, 88 KC_P, FR_Q, KC_R, KC_S, KC_T, KC_U, KC_V, FR_W,
55 // X Y Z [ \ ] ^ _ 89 // X Y Z [ \ ] ^ _
56 KC_X, KC_Y, FR_Z, FR_LPRN, FR_UNDS, FR_RPRN, FR_CCED, FR_UNDS, 90 KC_X, KC_Y, FR_Z, FR_LPRN, FR_UNDS, FR_RPRN, FR_CCED, FR_UNDS,
57 // ` a b c d e f g 91 // ` a b c d e f g
58 FR_EGRV, FR_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, 92 FR_EGRV, FR_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G,
59 // h i j k l m n o 93 // h i j k l m n o
60 KC_H, KC_I, KC_J, KC_K, KC_L, FR_M, KC_N, KC_O, 94 KC_H, KC_I, KC_J, KC_K, KC_L, FR_M, KC_N, KC_O,
61 // p q r s t u v w 95 // p q r s t u v w
62 KC_P, FR_Q, KC_R, KC_S, KC_T, KC_U, KC_V, FR_W, 96 KC_P, FR_Q, KC_R, KC_S, KC_T, KC_U, KC_V, FR_W,
63 // x y z { | } ~ DEL 97 // x y z { | } ~ DEL
64 KC_X, KC_Y, FR_Z, FR_APOS, FR_MINS, FR_EQL, FR_EACU, KC_DEL}; 98 KC_X, KC_Y, FR_Z, FR_APOS, FR_MINS, FR_EQL, FR_EACU, KC_DEL
99};
diff --git a/quantum/keymap_extras/sendstring_german.h b/quantum/keymap_extras/sendstring_german.h
index 6efb6df01d..3f27a9b2ca 100644
--- a/quantum/keymap_extras/sendstring_german.h
+++ b/quantum/keymap_extras/sendstring_german.h
@@ -20,45 +20,80 @@
20 20
21#include "keymap_german.h" 21#include "keymap_german.h"
22 22
23const 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, 23// clang-format off
24 24
25 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, 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, 0, 0, 0, 0, 0}; 25const bool ascii_to_shift_lut[128] PROGMEM = {
26 0, 0, 0, 0, 0, 0, 0, 0,
27 0, 0, 0, 0, 0, 0, 0, 0,
28 0, 0, 0, 0, 0, 0, 0, 0,
29 0, 0, 0, 0, 0, 0, 0, 0,
26 30
27const 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, 31 0, 1, 1, 0, 1, 1, 1, 1,
32 1, 1, 1, 0, 0, 0, 0, 1,
33 0, 0, 0, 0, 0, 0, 0, 0,
34 0, 0, 1, 1, 0, 1, 1, 1,
35 0, 1, 1, 1, 1, 1, 1, 1,
36 1, 1, 1, 1, 1, 1, 1, 1,
37 1, 1, 1, 1, 1, 1, 1, 1,
38 1, 1, 1, 0, 0, 0, 0, 1,
39 1, 0, 0, 0, 0, 0, 0, 0,
40 0, 0, 0, 0, 0, 0, 0, 0,
41 0, 0, 0, 0, 0, 0, 0, 0,
42 0, 0, 0, 0, 0, 0, 0, 0
43};
28 44
29 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}; 45const bool ascii_to_altgr_lut[128] PROGMEM = {
46 0, 0, 0, 0, 0, 0, 0, 0,
47 0, 0, 0, 0, 0, 0, 0, 0,
48 0, 0, 0, 0, 0, 0, 0, 0,
49 0, 0, 0, 0, 0, 0, 0, 0,
50
51 0, 0, 0, 0, 0, 0, 0, 0,
52 0, 0, 0, 0, 0, 0, 0, 0,
53 0, 0, 0, 0, 0, 0, 0, 0,
54 0, 0, 0, 0, 0, 0, 0, 0,
55 1, 0, 0, 0, 0, 0, 0, 0,
56 0, 0, 0, 0, 0, 0, 0, 0,
57 0, 0, 0, 0, 0, 0, 0, 0,
58 0, 0, 0, 1, 1, 1, 0, 0,
59 0, 0, 0, 0, 0, 0, 0, 0,
60 0, 0, 0, 0, 0, 0, 0, 0,
61 0, 0, 0, 0, 0, 0, 0, 0,
62 0, 0, 0, 1, 1, 1, 1, 0
63};
30 64
31const uint8_t ascii_to_keycode_lut[128] PROGMEM = { 65const uint8_t ascii_to_keycode_lut[128] PROGMEM = {
32 // NUL SOH STX ETX EOT ENQ ACK BEL 66 // NUL SOH STX ETX EOT ENQ ACK BEL
33 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, 67 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
34 // BS TAB LF VT FF CR SO SI 68 // BS TAB LF VT FF CR SO SI
35 KC_BSPC, KC_TAB, KC_ENT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, 69 KC_BSPC, KC_TAB, KC_ENT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
36 // DLE DC1 DC2 DC3 DC4 NAK SYN ETB 70 // DLE DC1 DC2 DC3 DC4 NAK SYN ETB
37 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, 71 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
38 // CAN EM SUB ESC FS GS RS US 72 // CAN EM SUB ESC FS GS RS US
39 XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, 73 XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
40 74
41 // ! " # $ % & ' 75 // ! " # $ % & '
42 KC_SPC, DE_1, DE_2, DE_HASH, DE_4, DE_5, DE_6, DE_HASH, 76 KC_SPC, DE_1, DE_2, DE_HASH, DE_4, DE_5, DE_6, DE_HASH,
43 // ( ) * + , - . / 77 // ( ) * + , - . /
44 DE_8, DE_9, DE_PLUS, DE_PLUS, DE_COMM, DE_MINS, DE_DOT, DE_7, 78 DE_8, DE_9, DE_PLUS, DE_PLUS, DE_COMM, DE_MINS, DE_DOT, DE_7,
45 // 0 1 2 3 4 5 6 7 79 // 0 1 2 3 4 5 6 7
46 DE_0, DE_1, DE_2, DE_3, DE_4, DE_5, DE_6, DE_7, 80 DE_0, DE_1, DE_2, DE_3, DE_4, DE_5, DE_6, DE_7,
47 // 8 9 : ; < = > ? 81 // 8 9 : ; < = > ?
48 DE_8, DE_9, DE_DOT, DE_COMM, DE_LESS, DE_0, DE_LESS, DE_SS, 82 DE_8, DE_9, DE_DOT, DE_COMM, DE_LESS, DE_0, DE_LESS, DE_SS,
49 // @ A B C D E F G 83 // @ A B C D E F G
50 DE_Q, DE_A, DE_B, DE_C, DE_D, DE_E, DE_F, DE_G, 84 DE_Q, DE_A, DE_B, DE_C, DE_D, DE_E, DE_F, DE_G,
51 // H I J K L M N O 85 // H I J K L M N O
52 DE_H, DE_I, DE_J, DE_K, DE_L, DE_M, DE_N, DE_O, 86 DE_H, DE_I, DE_J, DE_K, DE_L, DE_M, DE_N, DE_O,
53 // P Q R S T U V W 87 // P Q R S T U V W
54 DE_P, DE_Q, DE_R, DE_S, DE_T, DE_U, DE_V, DE_W, 88 DE_P, DE_Q, DE_R, DE_S, DE_T, DE_U, DE_V, DE_W,
55 // X Y Z [ \ ] ^ _ 89 // X Y Z [ \ ] ^ _
56 DE_X, DE_Y, DE_Z, DE_8, DE_SS, DE_9, DE_CIRC, DE_MINS, 90 DE_X, DE_Y, DE_Z, DE_8, DE_SS, DE_9, DE_CIRC, DE_MINS,
57 // ` a b c d e f g 91 // ` a b c d e f g
58 DE_ACUT, DE_A, DE_B, DE_C, DE_D, DE_E, DE_F, DE_G, 92 DE_ACUT, DE_A, DE_B, DE_C, DE_D, DE_E, DE_F, DE_G,
59 // h i j k l m n o 93 // h i j k l m n o
60 DE_H, DE_I, DE_J, DE_K, DE_L, DE_M, DE_N, DE_O, 94 DE_H, DE_I, DE_J, DE_K, DE_L, DE_M, DE_N, DE_O,
61 // p q r s t u v w 95 // p q r s t u v w
62 DE_P, DE_Q, DE_R, DE_S, DE_T, DE_U, DE_V, DE_W, 96 DE_P, DE_Q, DE_R, DE_S, DE_T, DE_U, DE_V, DE_W,
63 // x y z { | } ~ DEL 97 // x y z { | } ~ DEL
64 DE_X, DE_Y, DE_Z, DE_7, DE_LESS, DE_0, DE_PLUS, KC_DEL}; 98 DE_X, DE_Y, DE_Z, DE_7, DE_LESS, DE_0, DE_PLUS, KC_DEL
99};
diff --git a/quantum/keymap_extras/sendstring_jis.h b/quantum/keymap_extras/sendstring_jis.h
index d0e65e446b..421ceb0438 100644
--- a/quantum/keymap_extras/sendstring_jis.h
+++ b/quantum/keymap_extras/sendstring_jis.h
@@ -20,41 +20,60 @@
20 20
21#include "keymap_jp.h" 21#include "keymap_jp.h"
22 22
23const 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, 23// clang-format off
24 24
25 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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}; 25const bool ascii_to_shift_lut[128] PROGMEM = {
26 0, 0, 0, 0, 0, 0, 0, 0,
27 0, 0, 0, 0, 0, 0, 0, 0,
28 0, 0, 0, 0, 0, 0, 0, 0,
29 0, 0, 0, 0, 0, 0, 0, 0,
30
31 0, 1, 1, 1, 1, 1, 1, 1,
32 1, 1, 1, 1, 0, 0, 0, 0,
33 0, 0, 0, 0, 0, 0, 0, 0,
34 0, 0, 0, 0, 1, 1, 1, 1,
35 0, 1, 1, 1, 1, 1, 1, 1,
36 1, 1, 1, 1, 1, 1, 1, 1,
37 1, 1, 1, 1, 1, 1, 1, 1,
38 1, 1, 1, 0, 0, 0, 0, 1,
39 1, 0, 0, 0, 0, 0, 0, 0,
40 0, 0, 0, 0, 0, 0, 0, 0,
41 0, 0, 0, 0, 0, 0, 0, 0,
42 0, 0, 0, 1, 1, 1, 1, 0
43};
26 44
27const uint8_t ascii_to_keycode_lut[128] PROGMEM = { 45const uint8_t ascii_to_keycode_lut[128] PROGMEM = {
28 // NUL SOH STX ETX EOT ENQ ACK BEL 46 // NUL SOH STX ETX EOT ENQ ACK BEL
29 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, 47 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
30 // BS TAB LF VT FF CR SO SI 48 // BS TAB LF VT FF CR SO SI
31 KC_BSPC, KC_TAB, KC_ENT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, 49 KC_BSPC, KC_TAB, KC_ENT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
32 // DLE DC1 DC2 DC3 DC4 NAK SYN ETB 50 // DLE DC1 DC2 DC3 DC4 NAK SYN ETB
33 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, 51 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
34 // CAN EM SUB ESC FS GS RS US 52 // CAN EM SUB ESC FS GS RS US
35 XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, 53 XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
36 54
37 // ! " # $ % & ' 55 // ! " # $ % & '
38 KC_SPC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, 56 KC_SPC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7,
39 // ( ) * + , - . / 57 // ( ) * + , - . /
40 KC_8, KC_9, JP_COLN, JP_SCLN, JP_COMM, JP_MINS, JP_DOT, JP_SLSH, 58 KC_8, KC_9, JP_COLN, JP_SCLN, JP_COMM, JP_MINS, JP_DOT, JP_SLSH,
41 // 0 1 2 3 4 5 6 7 59 // 0 1 2 3 4 5 6 7
42 KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, 60 KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7,
43 // 8 9 : ; < = > ? 61 // 8 9 : ; < = > ?
44 KC_8, KC_9, JP_COLN, JP_SCLN, JP_COMM, JP_MINS, JP_DOT, JP_SLSH, 62 KC_8, KC_9, JP_COLN, JP_SCLN, JP_COMM, JP_MINS, JP_DOT, JP_SLSH,
45 // @ A B C D E F G 63 // @ A B C D E F G
46 JP_AT, KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, 64 JP_AT, KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G,
47 // H I J K L M N O 65 // H I J K L M N O
48 KC_H, KC_I, KC_J, KC_K, KC_L, KC_M, KC_N, KC_O, 66 KC_H, KC_I, KC_J, KC_K, KC_L, KC_M, KC_N, KC_O,
49 // P Q R S T U V W 67 // P Q R S T U V W
50 KC_P, KC_Q, KC_R, KC_S, KC_T, KC_U, KC_V, KC_W, 68 KC_P, KC_Q, KC_R, KC_S, KC_T, KC_U, KC_V, KC_W,
51 // X Y Z [ \ ] ^ _ 69 // X Y Z [ \ ] ^ _
52 KC_X, KC_Y, KC_Z, JP_LBRC, JP_BSLS, JP_RBRC, JP_CIRC, JP_BSLS, 70 KC_X, KC_Y, KC_Z, JP_LBRC, JP_BSLS, JP_RBRC, JP_CIRC, JP_BSLS,
53 // ` a b c d e f g 71 // ` a b c d e f g
54 JP_AT, KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, 72 JP_AT, KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G,
55 // h i j k l m n o 73 // h i j k l m n o
56 KC_H, KC_I, KC_J, KC_K, KC_L, KC_M, KC_N, KC_O, 74 KC_H, KC_I, KC_J, KC_K, KC_L, KC_M, KC_N, KC_O,
57 // p q r s t u v w 75 // p q r s t u v w
58 KC_P, KC_Q, KC_R, KC_S, KC_T, KC_U, KC_V, KC_W, 76 KC_P, KC_Q, KC_R, KC_S, KC_T, KC_U, KC_V, KC_W,
59 // x y z { | } ~ DEL 77 // x y z { | } ~ DEL
60 KC_X, KC_Y, KC_Z, JP_LBRC, JP_YEN, JP_RBRC, JP_CIRC, KC_DEL}; 78 KC_X, KC_Y, KC_Z, JP_LBRC, JP_YEN, JP_RBRC, JP_CIRC, KC_DEL
79};
diff --git a/quantum/keymap_extras/sendstring_norman.h b/quantum/keymap_extras/sendstring_norman.h
index 312247d6ef..4146e6ca7b 100644
--- a/quantum/keymap_extras/sendstring_norman.h
+++ b/quantum/keymap_extras/sendstring_norman.h
@@ -20,37 +20,40 @@
20 20
21#include "keymap_norman.h" 21#include "keymap_norman.h"
22 22
23// clang-format off
24
23const uint8_t ascii_to_keycode_lut[128] PROGMEM = { 25const uint8_t ascii_to_keycode_lut[128] PROGMEM = {
24 // NUL SOH STX ETX EOT ENQ ACK BEL 26 // NUL SOH STX ETX EOT ENQ ACK BEL
25 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, 27 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
26 // BS TAB LF VT FF CR SO SI 28 // BS TAB LF VT FF CR SO SI
27 KC_BSPC, KC_TAB, KC_ENT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, 29 KC_BSPC, KC_TAB, KC_ENT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
28 // DLE DC1 DC2 DC3 DC4 NAK SYN ETB 30 // DLE DC1 DC2 DC3 DC4 NAK SYN ETB
29 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, 31 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
30 // CAN EM SUB ESC FS GS RS US 32 // CAN EM SUB ESC FS GS RS US
31 XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, 33 XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
32 34
33 // ! " # $ % & ' 35 // ! " # $ % & '
34 KC_SPC, KC_1, KC_QUOT, KC_3, KC_4, KC_5, KC_7, KC_QUOT, 36 KC_SPC, KC_1, KC_QUOT, KC_3, KC_4, KC_5, KC_7, KC_QUOT,
35 // ( ) * + , - . / 37 // ( ) * + , - . /
36 KC_9, KC_0, KC_8, KC_EQL, KC_COMM, KC_MINS, KC_DOT, KC_SLSH, 38 KC_9, KC_0, KC_8, KC_EQL, KC_COMM, KC_MINS, KC_DOT, KC_SLSH,
37 // 0 1 2 3 4 5 6 7 39 // 0 1 2 3 4 5 6 7
38 KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, 40 KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7,
39 // 8 9 : ; < = > ? 41 // 8 9 : ; < = > ?
40 KC_8, KC_9, NM_SCLN, NM_SCLN, KC_COMM, KC_EQL, KC_DOT, KC_SLSH, 42 KC_8, KC_9, NM_SCLN, NM_SCLN, KC_COMM, KC_EQL, KC_DOT, KC_SLSH,
41 // @ A B C D E F G 43 // @ A B C D E F G
42 KC_2, NM_A, NM_B, NM_C, NM_D, NM_E, NM_F, NM_G, 44 KC_2, NM_A, NM_B, NM_C, NM_D, NM_E, NM_F, NM_G,
43 // H I J K L M N O 45 // H I J K L M N O
44 NM_H, NM_I, NM_J, NM_K, NM_L, NM_M, NM_N, NM_O, 46 NM_H, NM_I, NM_J, NM_K, NM_L, NM_M, NM_N, NM_O,
45 // P Q R S T U V W 47 // P Q R S T U V W
46 NM_P, NM_Q, NM_R, NM_S, NM_T, NM_U, NM_V, NM_W, 48 NM_P, NM_Q, NM_R, NM_S, NM_T, NM_U, NM_V, NM_W,
47 // X Y Z [ \ ] ^ _ 49 // X Y Z [ \ ] ^ _
48 NM_X, NM_Y, NM_Z, KC_LBRC, KC_BSLS, KC_RBRC, KC_6, KC_MINS, 50 NM_X, NM_Y, NM_Z, KC_LBRC, KC_BSLS, KC_RBRC, KC_6, KC_MINS,
49 // ` a b c d e f g 51 // ` a b c d e f g
50 KC_GRV, NM_A, NM_B, NM_C, NM_D, NM_E, NM_F, NM_G, 52 KC_GRV, NM_A, NM_B, NM_C, NM_D, NM_E, NM_F, NM_G,
51 // h i j k l m n o 53 // h i j k l m n o
52 NM_H, NM_I, NM_J, NM_K, NM_L, NM_M, NM_N, NM_O, 54 NM_H, NM_I, NM_J, NM_K, NM_L, NM_M, NM_N, NM_O,
53 // p q r s t u v w 55 // p q r s t u v w
54 NM_P, NM_Q, NM_R, NM_S, NM_T, NM_U, NM_V, NM_W, 56 NM_P, NM_Q, NM_R, NM_S, NM_T, NM_U, NM_V, NM_W,
55 // x y z { | } ~ DEL 57 // x y z { | } ~ DEL
56 NM_X, NM_Y, NM_Z, KC_LBRC, KC_BSLS, KC_RBRC, KC_GRV, KC_DEL}; 58 NM_X, NM_Y, NM_Z, KC_LBRC, KC_BSLS, KC_RBRC, KC_GRV, KC_DEL
59};
diff --git a/quantum/keymap_extras/sendstring_spanish.h b/quantum/keymap_extras/sendstring_spanish.h
index af2c201491..92bada269a 100644
--- a/quantum/keymap_extras/sendstring_spanish.h
+++ b/quantum/keymap_extras/sendstring_spanish.h
@@ -20,45 +20,80 @@
20 20
21#include "keymap_spanish.h" 21#include "keymap_spanish.h"
22 22
23const 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, 23// clang-format off
24 24
25 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, 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, 0, 0, 0, 0, 0}; 25const bool ascii_to_shift_lut[128] PROGMEM = {
26 0, 0, 0, 0, 0, 0, 0, 0,
27 0, 0, 0, 0, 0, 0, 0, 0,
28 0, 0, 0, 0, 0, 0, 0, 0,
29 0, 0, 0, 0, 0, 0, 0, 0,
26 30
27const 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, 31 0, 1, 1, 0, 1, 1, 1, 0,
32 1, 1, 1, 0, 0, 0, 0, 1,
33 0, 0, 0, 0, 0, 0, 0, 0,
34 0, 0, 1, 1, 0, 1, 1, 1,
35 0, 1, 1, 1, 1, 1, 1, 1,
36 1, 1, 1, 1, 1, 1, 1, 1,
37 1, 1, 1, 1, 1, 1, 1, 1,
38 1, 1, 1, 0, 0, 0, 1, 1,
39 0, 0, 0, 0, 0, 0, 0, 0,
40 0, 0, 0, 0, 0, 0, 0, 0,
41 0, 0, 0, 0, 0, 0, 0, 0,
42 0, 0, 0, 0, 0, 0, 0, 0
43};
28 44
29 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}; 45const bool ascii_to_altgr_lut[128] PROGMEM = {
46 0, 0, 0, 0, 0, 0, 0, 0,
47 0, 0, 0, 0, 0, 0, 0, 0,
48 0, 0, 0, 0, 0, 0, 0, 0,
49 0, 0, 0, 0, 0, 0, 0, 0,
50
51 0, 0, 0, 1, 0, 0, 0, 0,
52 0, 0, 0, 0, 0, 0, 0, 0,
53 0, 0, 0, 0, 0, 0, 0, 0,
54 0, 0, 0, 0, 0, 0, 0, 0,
55 1, 0, 0, 0, 0, 0, 0, 0,
56 0, 0, 0, 0, 0, 0, 0, 0,
57 0, 0, 0, 0, 0, 0, 0, 0,
58 0, 0, 0, 1, 1, 1, 0, 0,
59 0, 0, 0, 0, 0, 0, 0, 0,
60 0, 0, 0, 0, 0, 0, 0, 0,
61 0, 0, 0, 0, 0, 0, 0, 0,
62 0, 0, 0, 1, 1, 1, 1, 0
63};
30 64
31const uint8_t ascii_to_keycode_lut[128] PROGMEM = { 65const uint8_t ascii_to_keycode_lut[128] PROGMEM = {
32 // NUL SOH STX ETX EOT ENQ ACK BEL 66 // NUL SOH STX ETX EOT ENQ ACK BEL
33 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, 67 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
34 // BS TAB LF VT FF CR SO SI 68 // BS TAB LF VT FF CR SO SI
35 KC_BSPC, KC_TAB, KC_ENT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, 69 KC_BSPC, KC_TAB, KC_ENT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
36 // DLE DC1 DC2 DC3 DC4 NAK SYN ETB 70 // DLE DC1 DC2 DC3 DC4 NAK SYN ETB
37 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, 71 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
38 // CAN EM SUB ESC FS GS RS US 72 // CAN EM SUB ESC FS GS RS US
39 XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, 73 XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
40 74
41 // ! " # $ % & ' 75 // ! " # $ % & '
42 KC_SPC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, ES_APOS, 76 KC_SPC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, ES_APOS,
43 // ( ) * + , - . / 77 // ( ) * + , - . /
44 KC_8, KC_9, ES_PLUS, ES_PLUS, KC_COMM, ES_MINS, KC_DOT, KC_7, 78 KC_8, KC_9, ES_PLUS, ES_PLUS, KC_COMM, ES_MINS, KC_DOT, KC_7,
45 // 0 1 2 3 4 5 6 7 79 // 0 1 2 3 4 5 6 7
46 KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, 80 KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7,
47 // 8 9 : ; < = > ? 81 // 8 9 : ; < = > ?
48 KC_8, KC_9, KC_DOT, KC_COMM, ES_LESS, KC_0, ES_LESS, ES_APOS, 82 KC_8, KC_9, KC_DOT, KC_COMM, ES_LESS, KC_0, ES_LESS, ES_APOS,
49 // @ A B C D E F G 83 // @ A B C D E F G
50 KC_2, KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, 84 KC_2, KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G,
51 // H I J K L M N O 85 // H I J K L M N O
52 KC_H, KC_I, KC_J, KC_K, KC_L, KC_M, KC_N, KC_O, 86 KC_H, KC_I, KC_J, KC_K, KC_L, KC_M, KC_N, KC_O,
53 // P Q R S T U V W 87 // P Q R S T U V W
54 KC_P, KC_Q, KC_R, KC_S, KC_T, KC_U, KC_V, KC_W, 88 KC_P, KC_Q, KC_R, KC_S, KC_T, KC_U, KC_V, KC_W,
55 // X Y Z [ \ ] ^ _ 89 // X Y Z [ \ ] ^ _
56 KC_X, KC_Y, KC_Z, ES_GRV, ES_OVRR, ES_PLUS, ES_GRV, ES_MINS, 90 KC_X, KC_Y, KC_Z, ES_GRV, ES_OVRR, ES_PLUS, ES_GRV, ES_MINS,
57 // ` a b c d e f g 91 // ` a b c d e f g
58 ES_GRV, KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, 92 ES_GRV, KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G,
59 // h i j k l m n o 93 // h i j k l m n o
60 KC_H, KC_I, KC_J, KC_K, KC_L, KC_M, KC_N, KC_O, 94 KC_H, KC_I, KC_J, KC_K, KC_L, KC_M, KC_N, KC_O,
61 // p q r s t u v w 95 // p q r s t u v w
62 KC_P, KC_Q, KC_R, KC_S, KC_T, KC_U, KC_V, KC_W, 96 KC_P, KC_Q, KC_R, KC_S, KC_T, KC_U, KC_V, KC_W,
63 // x y z { | } ~ DEL 97 // x y z { | } ~ DEL
64 KC_X, KC_Y, KC_Z, ES_ACUT, KC_1, ES_CCED, ES_NTIL, KC_DEL}; 98 KC_X, KC_Y, KC_Z, ES_ACUT, KC_1, ES_CCED, ES_NTIL, KC_DEL
99};
diff --git a/quantum/keymap_extras/sendstring_uk.h b/quantum/keymap_extras/sendstring_uk.h
index e5bbe25644..982456e40a 100644
--- a/quantum/keymap_extras/sendstring_uk.h
+++ b/quantum/keymap_extras/sendstring_uk.h
@@ -20,41 +20,60 @@
20 20
21#include "keymap_uk.h" 21#include "keymap_uk.h"
22 22
23const 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, 23// clang-format off
24 24
25 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 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, 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}; 25const bool ascii_to_shift_lut[128] PROGMEM = {
26 0, 0, 0, 0, 0, 0, 0, 0,
27 0, 0, 0, 0, 0, 0, 0, 0,
28 0, 0, 0, 0, 0, 0, 0, 0,
29 0, 0, 0, 0, 0, 0, 0, 0,
30
31 0, 1, 1, 0, 1, 1, 1, 0,
32 1, 1, 1, 1, 0, 0, 0, 0,
33 0, 0, 0, 0, 0, 0, 0, 0,
34 0, 0, 1, 0, 1, 0, 1, 1,
35 1, 1, 1, 1, 1, 1, 1, 1,
36 1, 1, 1, 1, 1, 1, 1, 1,
37 1, 1, 1, 1, 1, 1, 1, 1,
38 1, 1, 1, 0, 0, 0, 1, 1,
39 0, 0, 0, 0, 0, 0, 0, 0,
40 0, 0, 0, 0, 0, 0, 0, 0,
41 0, 0, 0, 0, 0, 0, 0, 0,
42 0, 0, 0, 1, 1, 1, 1, 0
43};
26 44
27const uint8_t ascii_to_keycode_lut[128] PROGMEM = { 45const uint8_t ascii_to_keycode_lut[128] PROGMEM = {
28 // NUL SOH STX ETX EOT ENQ ACK BEL 46 // NUL SOH STX ETX EOT ENQ ACK BEL
29 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, 47 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
30 // BS TAB LF VT FF CR SO SI 48 // BS TAB LF VT FF CR SO SI
31 KC_BSPC, KC_TAB, KC_ENT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, 49 KC_BSPC, KC_TAB, KC_ENT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
32 // DLE DC1 DC2 DC3 DC4 NAK SYN ETB 50 // DLE DC1 DC2 DC3 DC4 NAK SYN ETB
33 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, 51 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
34 // CAN EM SUB ESC FS GS RS US 52 // CAN EM SUB ESC FS GS RS US
35 XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, 53 XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
36 54
37 // ! " # $ % & ' 55 // ! " # $ % & '
38 UK_SPC, UK_1, UK_2, UK_HASH, UK_4, UK_5, UK_7, UK_QUOT, 56 UK_SPC, UK_1, UK_2, UK_HASH, UK_4, UK_5, UK_7, UK_QUOT,
39 // ( ) * + , - . / 57 // ( ) * + , - . /
40 UK_9, UK_0, UK_8, UK_EQL, UK_COMM, UK_MINS, UK_DOT, UK_SLSH, 58 UK_9, UK_0, UK_8, UK_EQL, UK_COMM, UK_MINS, UK_DOT, UK_SLSH,
41 // 0 1 2 3 4 5 6 7 59 // 0 1 2 3 4 5 6 7
42 UK_0, UK_1, UK_2, UK_3, UK_4, UK_5, UK_6, UK_7, 60 UK_0, UK_1, UK_2, UK_3, UK_4, UK_5, UK_6, UK_7,
43 // 8 9 : ; < = > ? 61 // 8 9 : ; < = > ?
44 UK_8, UK_9, UK_SCLN, UK_SCLN, UK_COMM, UK_EQL, UK_DOT, UK_SLSH, 62 UK_8, UK_9, UK_SCLN, UK_SCLN, UK_COMM, UK_EQL, UK_DOT, UK_SLSH,
45 // @ A B C D E F G 63 // @ A B C D E F G
46 UK_QUOT, UK_A, UK_B, UK_C, UK_D, UK_E, UK_F, UK_G, 64 UK_QUOT, UK_A, UK_B, UK_C, UK_D, UK_E, UK_F, UK_G,
47 // H I J K L M N O 65 // H I J K L M N O
48 UK_H, UK_I, UK_J, UK_K, UK_L, UK_M, UK_N, UK_O, 66 UK_H, UK_I, UK_J, UK_K, UK_L, UK_M, UK_N, UK_O,
49 // P Q R S T U V W 67 // P Q R S T U V W
50 UK_P, UK_Q, UK_R, UK_S, UK_T, UK_U, UK_V, UK_W, 68 UK_P, UK_Q, UK_R, UK_S, UK_T, UK_U, UK_V, UK_W,
51 // X Y Z [ \ ] ^ _ 69 // X Y Z [ \ ] ^ _
52 UK_X, UK_Y, UK_Z, UK_LBRC, UK_BSLS, UK_RBRC, UK_6, UK_MINS, 70 UK_X, UK_Y, UK_Z, UK_LBRC, UK_BSLS, UK_RBRC, UK_6, UK_MINS,
53 // ` a b c d e f g 71 // ` a b c d e f g
54 UK_GRV, UK_A, UK_B, UK_C, UK_D, UK_E, UK_F, UK_G, 72 UK_GRV, UK_A, UK_B, UK_C, UK_D, UK_E, UK_F, UK_G,
55 // h i j k l m n o 73 // h i j k l m n o
56 UK_H, UK_I, UK_J, UK_K, UK_L, UK_M, UK_N, UK_O, 74 UK_H, UK_I, UK_J, UK_K, UK_L, UK_M, UK_N, UK_O,
57 // p q r s t u v w 75 // p q r s t u v w
58 UK_P, UK_Q, UK_R, UK_S, UK_T, UK_U, UK_V, UK_W, 76 UK_P, UK_Q, UK_R, UK_S, UK_T, UK_U, UK_V, UK_W,
59 // x y z { | } ~ DEL 77 // x y z { | } ~ DEL
60 UK_X, UK_Y, UK_Z, UK_LBRC, UK_BSLS, UK_RBRC, UK_HASH, KC_DEL}; 78 UK_X, UK_Y, UK_Z, UK_LBRC, UK_BSLS, UK_RBRC, UK_HASH, KC_DEL
79};
diff --git a/quantum/keymap_extras/sendstring_workman.h b/quantum/keymap_extras/sendstring_workman.h
index 239c9c0b6d..434ef653b1 100644
--- a/quantum/keymap_extras/sendstring_workman.h
+++ b/quantum/keymap_extras/sendstring_workman.h
@@ -20,37 +20,40 @@
20 20
21#include "keymap_workman.h" 21#include "keymap_workman.h"
22 22
23// clang-format off
24
23const uint8_t ascii_to_keycode_lut[128] PROGMEM = { 25const uint8_t ascii_to_keycode_lut[128] PROGMEM = {
24 // NUL SOH STX ETX EOT ENQ ACK BEL 26 // NUL SOH STX ETX EOT ENQ ACK BEL
25 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, 27 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
26 // BS TAB LF VT FF CR SO SI 28 // BS TAB LF VT FF CR SO SI
27 KC_BSPC, KC_TAB, KC_ENT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, 29 KC_BSPC, KC_TAB, KC_ENT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
28 // DLE DC1 DC2 DC3 DC4 NAK SYN ETB 30 // DLE DC1 DC2 DC3 DC4 NAK SYN ETB
29 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, 31 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
30 // CAN EM SUB ESC FS GS RS US 32 // CAN EM SUB ESC FS GS RS US
31 XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, 33 XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
32 34
33 // ! " # $ % & ' 35 // ! " # $ % & '
34 KC_SPC, KC_1, KC_QUOT, KC_3, KC_4, KC_5, KC_7, KC_QUOT, 36 KC_SPC, KC_1, KC_QUOT, KC_3, KC_4, KC_5, KC_7, KC_QUOT,
35 // ( ) * + , - . / 37 // ( ) * + , - . /
36 KC_9, KC_0, KC_8, KC_EQL, KC_COMM, KC_MINS, KC_DOT, KC_SLSH, 38 KC_9, KC_0, KC_8, KC_EQL, KC_COMM, KC_MINS, KC_DOT, KC_SLSH,
37 // 0 1 2 3 4 5 6 7 39 // 0 1 2 3 4 5 6 7
38 KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, 40 KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7,
39 // 8 9 : ; < = > ? 41 // 8 9 : ; < = > ?
40 KC_8, KC_9, KC_SCLN, KC_SCLN, KC_COMM, KC_EQL, KC_DOT, KC_SLSH, 42 KC_8, KC_9, KC_SCLN, KC_SCLN, KC_COMM, KC_EQL, KC_DOT, KC_SLSH,
41 // @ A B C D E F G 43 // @ A B C D E F G
42 KC_2, WK_A, WK_B, WK_C, WK_D, WK_E, WK_F, WK_G, 44 KC_2, WK_A, WK_B, WK_C, WK_D, WK_E, WK_F, WK_G,
43 // H I J K L M N O 45 // H I J K L M N O
44 WK_H, WK_I, WK_J, WK_K, WK_L, WK_M, WK_N, WK_O, 46 WK_H, WK_I, WK_J, WK_K, WK_L, WK_M, WK_N, WK_O,
45 // P Q R S T U V W 47 // P Q R S T U V W
46 WK_P, WK_Q, WK_R, WK_S, WK_T, WK_U, WK_V, WK_W, 48 WK_P, WK_Q, WK_R, WK_S, WK_T, WK_U, WK_V, WK_W,
47 // X Y Z [ \ ] ^ _ 49 // X Y Z [ \ ] ^ _
48 WK_X, WK_Y, WK_Z, KC_LBRC, KC_BSLS, KC_RBRC, KC_6, KC_MINS, 50 WK_X, WK_Y, WK_Z, KC_LBRC, KC_BSLS, KC_RBRC, KC_6, KC_MINS,
49 // ` a b c d e f g 51 // ` a b c d e f g
50 KC_GRV, WK_A, WK_B, WK_C, WK_D, WK_E, WK_F, WK_G, 52 KC_GRV, WK_A, WK_B, WK_C, WK_D, WK_E, WK_F, WK_G,
51 // h i j k l m n o 53 // h i j k l m n o
52 WK_H, WK_I, WK_J, WK_K, WK_L, WK_M, WK_N, WK_O, 54 WK_H, WK_I, WK_J, WK_K, WK_L, WK_M, WK_N, WK_O,
53 // p q r s t u v w 55 // p q r s t u v w
54 WK_P, WK_Q, WK_R, WK_S, WK_T, WK_U, WK_V, WK_W, 56 WK_P, WK_Q, WK_R, WK_S, WK_T, WK_U, WK_V, WK_W,
55 // x y z { | } ~ DEL 57 // x y z { | } ~ DEL
56 WK_X, WK_Y, WK_Z, KC_LBRC, KC_BSLS, KC_RBRC, KC_GRV, KC_DEL}; 58 WK_X, WK_Y, WK_Z, KC_LBRC, KC_BSLS, KC_RBRC, KC_GRV, KC_DEL
59};