aboutsummaryrefslogtreecommitdiff
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
parent917ab71c52111c5ca89382eba74e08e616264d59 (diff)
downloadqmk_firmware-8ab7f1f39e715c824cc0e1391aa9a469b2a18438.tar.gz
qmk_firmware-8ab7f1f39e715c824cc0e1391aa9a469b2a18438.zip
Fix formatting for sendstring LUTs (#7176)
-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 d12c18909..ca0edfb68 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 bad3c3f0c..ca5f73d7e 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 1c02b3b86..fddf4b590 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 3ddb00b11..25e1d3142 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 df72f9f5b..966685ccc 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 6efb6df01..3f27a9b2c 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 d0e65e446..421ceb043 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 312247d6e..4146e6ca7 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 af2c20149..92bada269 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 e5bbe2564..982456e40 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 239c9c0b6..434ef653b 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};