aboutsummaryrefslogtreecommitdiff
path: root/quantum/keymap_extras
diff options
context:
space:
mode:
Diffstat (limited to 'quantum/keymap_extras')
-rw-r--r--quantum/keymap_extras/keymap_steno.h76
-rw-r--r--quantum/keymap_extras/sendstring_colemak.h41
-rw-r--r--quantum/keymap_extras/sendstring_dvorak.h41
-rw-r--r--quantum/keymap_extras/sendstring_jis.h58
4 files changed, 216 insertions, 0 deletions
diff --git a/quantum/keymap_extras/keymap_steno.h b/quantum/keymap_extras/keymap_steno.h
new file mode 100644
index 000000000..4ce91cc13
--- /dev/null
+++ b/quantum/keymap_extras/keymap_steno.h
@@ -0,0 +1,76 @@
1/* Copyright 2017 Joseph Wasson
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#ifndef KEYMAP_STENO_H
17#define KEYMAP_STENO_H
18
19#include "keymap.h"
20
21// List of keycodes for the steno keyboard. To prevent
22// errors, this must be <= 42 total entries in order to
23// support the GeminiPR protocol.
24enum steno_keycodes {
25 STN__MIN = QK_STENO,
26 STN_FN = STN__MIN,
27 STN_NUM,
28 STN_N1 = STN_NUM,
29 STN_N2,
30 STN_N3,
31 STN_N4,
32 STN_N5,
33 STN_N6,
34 STN_SL,
35 STN_S1 = STN_SL,
36 STN_S2,
37 STN_TL,
38 STN_KL,
39 STN_PL,
40 STN_WL,
41 STN_HL,
42 STN_RL,
43 STN_A,
44 STN_O,
45 STN_STR,
46 STN_ST1 = STN_STR,
47 STN_ST2,
48 STN_RES1,
49 STN_RE1 = STN_RES1,
50 STN_RES2,
51 STN_RE2 = STN_RES2,
52 STN_PWR,
53 STN_ST3,
54 STN_ST4,
55 STN_E,
56 STN_U,
57 STN_FR,
58 STN_RR,
59 STN_PR,
60 STN_BR,
61 STN_LR,
62 STN_GR,
63 STN_TR,
64 STN_SR,
65 STN_DR,
66 STN_N7,
67 STN_N8,
68 STN_N9,
69 STN_NA,
70 STN_NB,
71 STN_NC,
72 STN_ZR,
73 STN__MAX = STN_ZR, // must be less than QK_STENO_BOLT
74};
75
76#endif
diff --git a/quantum/keymap_extras/sendstring_colemak.h b/quantum/keymap_extras/sendstring_colemak.h
new file mode 100644
index 000000000..fa9ace929
--- /dev/null
+++ b/quantum/keymap_extras/sendstring_colemak.h
@@ -0,0 +1,41 @@
1/* Copyright 2016 Jack Humbert
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16/* Sendstring definitions for the Colemak layout */
17#ifndef SENDSTRING_COLEMAK
18#define SENDSTRING_COLEMAK
19
20#include "keymap_colemak.h"
21
22const uint8_t ascii_to_keycode_lut[0x80] PROGMEM = {
23 0, 0, 0, 0, 0, 0, 0, 0,
24 KC_BSPC, KC_TAB, KC_ENT, 0, 0, 0, 0, 0,
25 0, 0, 0, 0, 0, 0, 0, 0,
26 0, 0, 0, KC_ESC, 0, 0, 0, 0,
27 KC_SPC, KC_1, KC_QUOT, KC_3, KC_4, KC_5, KC_7, KC_QUOT,
28 KC_9, KC_0, KC_8, KC_EQL, KC_COMM, KC_MINS, KC_DOT, KC_SLSH,
29 KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7,
30 KC_8, KC_9, CM_SCLN, CM_SCLN, KC_COMM, KC_EQL, KC_DOT, KC_SLSH,
31 KC_2, CM_A, CM_B, CM_C, CM_D, CM_E, CM_F, CM_G,
32 CM_H, CM_I, CM_J, CM_K, CM_L, CM_M, CM_N, CM_O,
33 CM_P, CM_Q, CM_R, CM_S, CM_T, CM_U, CM_V, CM_W,
34 CM_X, CM_Y, CM_Z, KC_LBRC, KC_BSLS, KC_RBRC, KC_6, KC_MINS,
35 KC_GRV, CM_A, CM_B, CM_C, CM_D, CM_E, CM_F, CM_G,
36 CM_H, CM_I, CM_J, CM_K, CM_L, CM_M, CM_N, CM_O,
37 CM_P, CM_Q, CM_R, CM_S, CM_T, CM_U, CM_V, CM_W,
38 CM_X, CM_Y, CM_Z, KC_LBRC, KC_BSLS, KC_RBRC, KC_GRV, KC_DEL
39};
40
41#endif
diff --git a/quantum/keymap_extras/sendstring_dvorak.h b/quantum/keymap_extras/sendstring_dvorak.h
new file mode 100644
index 000000000..f5c5c818b
--- /dev/null
+++ b/quantum/keymap_extras/sendstring_dvorak.h
@@ -0,0 +1,41 @@
1/* Copyright 2016 Jack Humbert
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16/* Sendstring definitions for the Dvorak layout */
17#ifndef SENDSTRING_DVORAK
18#define SENDSTRING_DVORAK
19
20#include "keymap_dvorak.h"
21
22const uint8_t ascii_to_keycode_lut[0x80] PROGMEM = {
23 0, 0, 0, 0, 0, 0, 0, 0,
24 KC_BSPC, KC_TAB, KC_ENT, 0, 0, 0, 0, 0,
25 0, 0, 0, 0, 0, 0, 0, 0,
26 0, 0, 0, KC_ESC, 0, 0, 0, 0,
27 KC_SPC, DV_1, DV_QUOT, DV_3, DV_4, DV_5, DV_7, DV_QUOT,
28 DV_9, DV_0, DV_8, DV_EQL, DV_COMM, DV_MINS, DV_DOT, DV_SLSH,
29 DV_0, DV_1, DV_2, DV_3, DV_4, DV_5, DV_6, DV_7,
30 DV_8, DV_9, DV_SCLN, DV_SCLN, DV_COMM, DV_EQL, DV_DOT, DV_SLSH,
31 DV_2, DV_A, DV_B, DV_C, DV_D, DV_E, DV_F, DV_G,
32 DV_H, DV_I, DV_J, DV_K, DV_L, DV_M, DV_N, DV_O,
33 DV_P, DV_Q, DV_R, DV_S, DV_T, DV_U, DV_V, DV_W,
34 DV_X, DV_Y, DV_Z, DV_LBRC, DV_BSLS, DV_RBRC, DV_6, DV_MINS,
35 DV_GRV, DV_A, DV_B, DV_C, DV_D, DV_E, DV_F, DV_G,
36 DV_H, DV_I, DV_J, DV_K, DV_L, DV_M, DV_N, DV_O,
37 DV_P, DV_Q, DV_R, DV_S, DV_T, DV_U, DV_V, DV_W,
38 DV_X, DV_Y, DV_Z, DV_LBRC, DV_BSLS, DV_RBRC, DV_GRV, KC_DEL
39};
40
41#endif
diff --git a/quantum/keymap_extras/sendstring_jis.h b/quantum/keymap_extras/sendstring_jis.h
new file mode 100644
index 000000000..c5a38c6a5
--- /dev/null
+++ b/quantum/keymap_extras/sendstring_jis.h
@@ -0,0 +1,58 @@
1/* Copyright 2016 Jack Humbert
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16/* Sendstring definitions for the JIS keyboard layout */
17#ifndef SENDSTRING_JIS
18#define SENDSTRING_JIS
19
20const bool ascii_to_shift_lut[0x80] PROGMEM = {
21 0, 0, 0, 0, 0, 0, 0, 0,
22 0, 0, 0, 0, 0, 0, 0, 0,
23 0, 0, 0, 0, 0, 0, 0, 0,
24 0, 0, 0, 0, 0, 0, 0, 0,
25 0, 1, 1, 1, 1, 1, 1, 1,
26 1, 1, 1, 1, 0, 0, 0, 0,
27 0, 0, 0, 0, 0, 0, 0, 0,
28 0, 0, 0, 0, 1, 1, 1, 1,
29 0, 1, 1, 1, 1, 1, 1, 1,
30 1, 1, 1, 1, 1, 1, 1, 1,
31 1, 1, 1, 1, 1, 1, 1, 1,
32 1, 1, 1, 0, 0, 0, 0, 1,
33 1, 0, 0, 0, 0, 0, 0, 0,
34 0, 0, 0, 0, 0, 0, 0, 0,
35 0, 0, 0, 0, 0, 0, 0, 0,
36 0, 0, 0, 1, 1, 1, 1, 0
37};
38
39const uint8_t ascii_to_keycode_lut[0x80] PROGMEM = {
40 0, 0, 0, 0, 0, 0, 0, 0,
41 KC_BSPC, KC_TAB, KC_ENT, 0, 0, 0, 0, 0,
42 0, 0, 0, 0, 0, 0, 0, 0,
43 0, 0, 0, KC_ESC, 0, 0, 0, 0,
44 KC_SPC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7,
45 KC_8, KC_9, KC_QUOT, KC_SCLN, KC_COMM, KC_MINS, KC_DOT, KC_SLSH,
46 KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7,
47 KC_8, KC_9, KC_QUOT, KC_SCLN, KC_COMM, KC_MINS, KC_DOT, KC_SLSH,
48 KC_LBRC, KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G,
49 KC_H, KC_I, KC_J, KC_K, KC_L, KC_M, KC_N, KC_O,
50 KC_P, KC_Q, KC_R, KC_S, KC_T, KC_U, KC_V, KC_W,
51 KC_X, KC_Y, KC_Z, KC_RBRC, KC_JYEN, KC_BSLS, KC_EQL, KC_RO,
52 KC_LBRC, KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G,
53 KC_H, KC_I, KC_J, KC_K, KC_L, KC_M, KC_N, KC_O,
54 KC_P, KC_Q, KC_R, KC_S, KC_T, KC_U, KC_V, KC_W,
55 KC_X, KC_Y, KC_Z, KC_RBRC, KC_JYEN, KC_BSLS, KC_EQL, KC_DEL,
56};
57
58#endif