summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRyan <fauxpark@gmail.com>2023-11-12 18:25:46 +1100
committerGitHub <noreply@github.com>2023-11-12 18:25:46 +1100
commit786ebf87608dd4d7232cd0e66638382a55ceafa4 (patch)
treefe7f395d7ccf6e7b71ba720a743b65ea49a2a942
parent87d69aebbbac957a770be0e55c9c71d0ea808eb4 (diff)
Remove requirement for `keymap_steno.h` include in keymaps (#22423)
* Remove requirement for `keymap_steno.h` include in keymaps * Add back keymap_steno.h with a note for the time being
-rw-r--r--docs/feature_stenography.md6
-rw-r--r--docs/reference_keymap_extras.md1
-rw-r--r--keyboards/40percentclub/gherkin/keymaps/steno/keymap.c1
-rw-r--r--keyboards/40percentclub/gherkin/keymaps/talljoe-gherkin/keymap.c1
-rw-r--r--keyboards/chord/zero/keymaps/default/keymap.c1
-rw-r--r--keyboards/ergodox_ez/keymaps/steno/keymap.c3
-rw-r--r--keyboards/eyeohdesigns/babyv/keymaps/bghull/keymap.c1
-rw-r--r--keyboards/gboards/butterstick/sten.h1
-rw-r--r--keyboards/gboards/georgi/keymaps/colemak-dh/keymap.c1
-rw-r--r--keyboards/gboards/georgi/keymaps/default-flipped/keymap.c1
-rw-r--r--keyboards/gboards/georgi/keymaps/default/keymap.c1
-rw-r--r--keyboards/gboards/georgi/keymaps/minimal/keymap.c1
-rw-r--r--keyboards/gboards/georgi/keymaps/norman/keymap.c1
-rw-r--r--keyboards/gboards/georgi/sten.h1
-rw-r--r--keyboards/handwired/split_cloud/keymaps/default/keymap.c1
-rw-r--r--keyboards/input_club/ergodox_infinity/keymaps/halfkeyboard/keymap.c3
-rw-r--r--keyboards/jian/keymaps/advanced/keymap.c1
-rw-r--r--keyboards/kbdfans/niu_mini/keymaps/yttyx/keymap.c1
-rw-r--r--keyboards/keebio/levinson/keymaps/dcompact/keymap.c2
-rw-r--r--keyboards/keebio/levinson/keymaps/steno/keymap.c1
-rw-r--r--keyboards/lily58/keymaps/narze/keymap.c1
-rw-r--r--keyboards/mechwild/bbs/keymaps/default/keymap.c1
-rw-r--r--keyboards/mechwild/sugarglider/keymaps/default/keymap.c1
-rw-r--r--keyboards/planck/keymaps/altgr/keymap.c3
-rw-r--r--keyboards/planck/keymaps/bghull/keymap.c1
-rw-r--r--keyboards/planck/keymaps/dcompact/keymap.c1
-rw-r--r--keyboards/planck/keymaps/experimental/keymap.c1
-rw-r--r--keyboards/planck/keymaps/hiea/keymap.c3
-rw-r--r--keyboards/planck/keymaps/hieax/keymap.c3
-rw-r--r--keyboards/planck/keymaps/sdothum/keymap.c3
-rw-r--r--keyboards/planck/keymaps/steno/keymap.c1
-rw-r--r--keyboards/planck/keymaps/yttyx/keymap.c1
-rw-r--r--keyboards/preonic/keymaps/bghull/keymap.c1
-rw-r--r--keyboards/splitography/keymaps/default/keymap.c1
-rw-r--r--keyboards/splitography/keymaps/default_with_ctl_shft_alt_switched/keymap.c1
-rw-r--r--keyboards/splitography/keymaps/dvorak/keymap.c1
-rw-r--r--keyboards/splitography/keymaps/jeandeaual/keymap.c1
-rw-r--r--keyboards/splitography/keymaps/multi/keymap.c1
-rw-r--r--keyboards/stenokeyboards/the_uni/keymaps/default/keymap.c1
-rw-r--r--keyboards/stenokeyboards/the_uni/keymaps/utility_belt/keymap.c1
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/dcompact/keymap.c1
-rw-r--r--keyboards/xiudi/xd75/keymaps/raoeus/keymap.c1
-rw-r--r--quantum/keymap_extras/keymap_steno.h119
-rw-r--r--quantum/process_keycode/process_steno.c1
-rw-r--r--quantum/process_keycode/process_steno.h1
-rw-r--r--quantum/steno_keycodes.h119
46 files changed, 125 insertions, 175 deletions
diff --git a/docs/feature_stenography.md b/docs/feature_stenography.md
index df4c9c6ad3..5ca3ea945f 100644
--- a/docs/feature_stenography.md
+++ b/docs/feature_stenography.md
@@ -104,7 +104,7 @@ After enabling stenography and optionally selecting a protocol, you may also nee
104 104
105!> If you had *explicitly* set `VIRSTER_ENABLE = no`, none of the serial stenography protocols (GeminiPR, TX Bolt) will work properly. You are expected to either set it to `yes`, remove the line from your `rules.mk` or send the steno chords yourself in an alternative way using the [provided interceptable hooks](#interfacing-with-the-code). 105!> If you had *explicitly* set `VIRSTER_ENABLE = no`, none of the serial stenography protocols (GeminiPR, TX Bolt) will work properly. You are expected to either set it to `yes`, remove the line from your `rules.mk` or send the steno chords yourself in an alternative way using the [provided interceptable hooks](#interfacing-with-the-code).
106 106
107In your keymap, create a new layer for Plover, that you can fill in with the [steno keycodes](#keycode-reference) (you will need to include `keymap_steno.h`, see `planck/keymaps/steno/keymap.c` for an example). Remember to create a key to switch to the layer as well as a key for exiting the layer. 107In your keymap, create a new layer for Plover, that you can fill in with the [steno keycodes](#keycode-reference). Remember to create a key to switch to the layer as well as a key for exiting the layer.
108 108
109Once you have your keyboard flashed, launch Plover. Click the 'Configure...' button. In the 'Machine' tab, select the Stenotype Machine that corresponds to your desired protocol. Click the 'Configure...' button on this tab and enter the serial port or click 'Scan'. Baud rate is fine at 9600 (although you should be able to set as high as 115200 with no issues). Use the default settings for everything else (Data Bits: 8, Stop Bits: 1, Parity: N, no flow control). 109Once you have your keyboard flashed, launch Plover. Click the 'Configure...' button. In the 'Machine' tab, select the Stenotype Machine that corresponds to your desired protocol. Click the 'Configure...' button on this tab and enter the serial port or click 'Scan'. Baud rate is fine at 9600 (although you should be able to set as high as 115200 with no issues). Use the default settings for everything else (Data Bits: 8, Stop Bits: 1, Parity: N, no flow control).
110 110
@@ -149,8 +149,6 @@ At the end of this scenario given as an example, `chord` would have five bits se
149 149
150## Keycode Reference :id=keycode-reference 150## Keycode Reference :id=keycode-reference
151 151
152You must include `keymap_steno.h` to your `keymap.c` with `#include "keymap_steno.h"` before you can use these keycodes
153
154> Note: TX Bolt does not support the full set of keys. The TX Bolt implementation in QMK will map the GeminiPR keys to the nearest TX Bolt key so that one key map will work for both. 152> Note: TX Bolt does not support the full set of keys. The TX Bolt implementation in QMK will map the GeminiPR keys to the nearest TX Bolt key so that one key map will work for both.
155 153
156|GeminiPR|TX Bolt|Steno Key| 154|GeminiPR|TX Bolt|Steno Key|
@@ -198,7 +196,7 @@ You must include `keymap_steno.h` to your `keymap.c` with `#include "keymap_sten
198|`STN_RES2`||(Reset 2)| 196|`STN_RES2`||(Reset 2)|
199|`STN_PWR`||(Power)| 197|`STN_PWR`||(Power)|
200 198
201If you do not want to hit two keys with one finger combined keycodes can be used. These are also defined in `keymap_steno.h`, and causes both keys to be reported as pressed or released. To use these keycodes define `STENO_COMBINEDMAP` in your `config.h` file. 199If you do not want to hit two keys with one finger combined keycodes can be used. These cause both keys to be reported as pressed or released. To use these keycodes define `STENO_COMBINEDMAP` in your `config.h` file.
202 200
203|Combined key | Key1 | Key 2 | 201|Combined key | Key1 | Key 2 |
204|---------------|--------|----------| 202|---------------|--------|----------|
diff --git a/docs/reference_keymap_extras.md b/docs/reference_keymap_extras.md
index b70d505f1f..84751a512c 100644
--- a/docs/reference_keymap_extras.md
+++ b/docs/reference_keymap_extras.md
@@ -87,6 +87,5 @@ There are also a few which are not quite language-specific, but useful if you ar
87|Norman |`keymap_norman.h` |`sendstring_norman.h` | 87|Norman |`keymap_norman.h` |`sendstring_norman.h` |
88|Plover |`keymap_plover.h` | | 88|Plover |`keymap_plover.h` | |
89|Plover (Dvorak) |`keymap_plover_dvorak.h` | | 89|Plover (Dvorak) |`keymap_plover_dvorak.h` | |
90|Steno |`keymap_steno.h` | |
91|Workman |`keymap_workman.h` |`sendstring_workman.h` | 90|Workman |`keymap_workman.h` |`sendstring_workman.h` |
92|Workman (ZXCVM) |`keymap_workman_zxcvm.h` |`sendstring_workman_zxcvm.h` | 91|Workman (ZXCVM) |`keymap_workman_zxcvm.h` |`sendstring_workman_zxcvm.h` |
diff --git a/keyboards/40percentclub/gherkin/keymaps/steno/keymap.c b/keyboards/40percentclub/gherkin/keymaps/steno/keymap.c
index 5f78ba1cde..ea473fa25f 100644
--- a/keyboards/40percentclub/gherkin/keymaps/steno/keymap.c
+++ b/keyboards/40percentclub/gherkin/keymaps/steno/keymap.c
@@ -1,5 +1,4 @@
1#include QMK_KEYBOARD_H 1#include QMK_KEYBOARD_H
2#include "keymap_steno.h"
3 2
4const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 3const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
5 LAYOUT_ortho_3x10( 4 LAYOUT_ortho_3x10(
diff --git a/keyboards/40percentclub/gherkin/keymaps/talljoe-gherkin/keymap.c b/keyboards/40percentclub/gherkin/keymaps/talljoe-gherkin/keymap.c
index 111264c378..927192c63c 100644
--- a/keyboards/40percentclub/gherkin/keymaps/talljoe-gherkin/keymap.c
+++ b/keyboards/40percentclub/gherkin/keymaps/talljoe-gherkin/keymap.c
@@ -1,5 +1,4 @@
1#include QMK_KEYBOARD_H 1#include QMK_KEYBOARD_H
2#include "keymap_steno.h"
3 2
4#define ST_BOLT QK_STENO_BOLT 3#define ST_BOLT QK_STENO_BOLT
5#define ST_GEM QK_STENO_GEMINI 4#define ST_GEM QK_STENO_GEMINI
diff --git a/keyboards/chord/zero/keymaps/default/keymap.c b/keyboards/chord/zero/keymaps/default/keymap.c
index a1edbe0cff..1134f264bc 100644
--- a/keyboards/chord/zero/keymaps/default/keymap.c
+++ b/keyboards/chord/zero/keymaps/default/keymap.c
@@ -2,7 +2,6 @@
2// SPDX-License-Identifier: GPL-2.0-or-later 2// SPDX-License-Identifier: GPL-2.0-or-later
3 3
4#include QMK_KEYBOARD_H 4#include QMK_KEYBOARD_H
5#include "keymap_steno.h"
6 5
7const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 6const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
8 [0] = LAYOUT( 7 [0] = LAYOUT(
diff --git a/keyboards/ergodox_ez/keymaps/steno/keymap.c b/keyboards/ergodox_ez/keymaps/steno/keymap.c
index 0e5d7e3a22..84c18fbd95 100644
--- a/keyboards/ergodox_ez/keymaps/steno/keymap.c
+++ b/keyboards/ergodox_ez/keymaps/steno/keymap.c
@@ -1,7 +1,4 @@
1#include QMK_KEYBOARD_H 1#include QMK_KEYBOARD_H
2#include "debug.h"
3#include "action_layer.h"
4#include "keymap_steno.h"
5 2
6#define BASE 0 // default layer 3#define BASE 0 // default layer
7#define SYMB 1 // symbols 4#define SYMB 1 // symbols
diff --git a/keyboards/eyeohdesigns/babyv/keymaps/bghull/keymap.c b/keyboards/eyeohdesigns/babyv/keymaps/bghull/keymap.c
index 7d22ebc670..7bccc6a46a 100644
--- a/keyboards/eyeohdesigns/babyv/keymaps/bghull/keymap.c
+++ b/keyboards/eyeohdesigns/babyv/keymaps/bghull/keymap.c
@@ -14,7 +14,6 @@
14 */ 14 */
15 15
16#include QMK_KEYBOARD_H 16#include QMK_KEYBOARD_H
17#include "keymap_steno.h"
18#include "g/keymap_combo.h" 17#include "g/keymap_combo.h"
19 18
20 19
diff --git a/keyboards/gboards/butterstick/sten.h b/keyboards/gboards/butterstick/sten.h
index 42ccdd8e69..ca6b03f778 100644
--- a/keyboards/gboards/butterstick/sten.h
+++ b/keyboards/gboards/butterstick/sten.h
@@ -8,7 +8,6 @@
8#pragma once 8#pragma once
9 9
10#include QMK_KEYBOARD_H 10#include QMK_KEYBOARD_H
11#include "keymap_steno.h"
12 11
13extern size_t keymapsCount; // Total keymaps 12extern size_t keymapsCount; // Total keymaps
14extern uint32_t cChord; // Current Chord 13extern uint32_t cChord; // Current Chord
diff --git a/keyboards/gboards/georgi/keymaps/colemak-dh/keymap.c b/keyboards/gboards/georgi/keymaps/colemak-dh/keymap.c
index 9b3365d02f..932d48959c 100644
--- a/keyboards/gboards/georgi/keymaps/colemak-dh/keymap.c
+++ b/keyboards/gboards/georgi/keymaps/colemak-dh/keymap.c
@@ -12,7 +12,6 @@
12 12
13#include QMK_KEYBOARD_H 13#include QMK_KEYBOARD_H
14#include "sten.h" 14#include "sten.h"
15#include "keymap_steno.h"
16 15
17// Steno Layers 16// Steno Layers
18#define FUNCT ( LSD | LK | LP | LH ) 17#define FUNCT ( LSD | LK | LP | LH )
diff --git a/keyboards/gboards/georgi/keymaps/default-flipped/keymap.c b/keyboards/gboards/georgi/keymaps/default-flipped/keymap.c
index 2e63fe3c7d..19683179f3 100644
--- a/keyboards/gboards/georgi/keymaps/default-flipped/keymap.c
+++ b/keyboards/gboards/georgi/keymaps/default-flipped/keymap.c
@@ -12,7 +12,6 @@
12 12
13#include QMK_KEYBOARD_H 13#include QMK_KEYBOARD_H
14#include "sten.h" 14#include "sten.h"
15#include "keymap_steno.h"
16 15
17// Proper Layers 16// Proper Layers
18#define FUNCT (LSD | LK | LP | LH) 17#define FUNCT (LSD | LK | LP | LH)
diff --git a/keyboards/gboards/georgi/keymaps/default/keymap.c b/keyboards/gboards/georgi/keymaps/default/keymap.c
index a9c2d4a47d..955ec0e406 100644
--- a/keyboards/gboards/georgi/keymaps/default/keymap.c
+++ b/keyboards/gboards/georgi/keymaps/default/keymap.c
@@ -12,7 +12,6 @@
12 12
13#include QMK_KEYBOARD_H 13#include QMK_KEYBOARD_H
14#include "sten.h" 14#include "sten.h"
15#include "keymap_steno.h"
16 15
17// Proper Layers 16// Proper Layers
18#define FUNCT (LSD | LK | LP | LH) 17#define FUNCT (LSD | LK | LP | LH)
diff --git a/keyboards/gboards/georgi/keymaps/minimal/keymap.c b/keyboards/gboards/georgi/keymaps/minimal/keymap.c
index c4e78033bd..2f089866b2 100644
--- a/keyboards/gboards/georgi/keymaps/minimal/keymap.c
+++ b/keyboards/gboards/georgi/keymaps/minimal/keymap.c
@@ -12,7 +12,6 @@
12 12
13#include QMK_KEYBOARD_H 13#include QMK_KEYBOARD_H
14#include "sten.h" 14#include "sten.h"
15#include "keymap_steno.h"
16 15
17// Proper Layers 16// Proper Layers
18#define FUNCT (LSD | LK | LP | LH) 17#define FUNCT (LSD | LK | LP | LH)
diff --git a/keyboards/gboards/georgi/keymaps/norman/keymap.c b/keyboards/gboards/georgi/keymaps/norman/keymap.c
index 870e460e2c..1b53cddd8b 100644
--- a/keyboards/gboards/georgi/keymaps/norman/keymap.c
+++ b/keyboards/gboards/georgi/keymaps/norman/keymap.c
@@ -12,7 +12,6 @@
12 12
13#include QMK_KEYBOARD_H 13#include QMK_KEYBOARD_H
14#include "sten.h" 14#include "sten.h"
15#include "keymap_steno.h"
16 15
17// Proper Layers 16// Proper Layers
18#define FUNCT (LSD | LK | LP | LH) 17#define FUNCT (LSD | LK | LP | LH)
diff --git a/keyboards/gboards/georgi/sten.h b/keyboards/gboards/georgi/sten.h
index 44a6472044..e4bc31ef7a 100644
--- a/keyboards/gboards/georgi/sten.h
+++ b/keyboards/gboards/georgi/sten.h
@@ -7,7 +7,6 @@
7#pragma once 7#pragma once
8 8
9#include "georgi.h" 9#include "georgi.h"
10#include "keymap_steno.h"
11 10
12extern size_t keymapsCount; // Total keymaps 11extern size_t keymapsCount; // Total keymaps
13extern uint32_t cChord; // Current Chord 12extern uint32_t cChord; // Current Chord
diff --git a/keyboards/handwired/split_cloud/keymaps/default/keymap.c b/keyboards/handwired/split_cloud/keymaps/default/keymap.c
index f94a112c07..ad7e64e6ad 100644
--- a/keyboards/handwired/split_cloud/keymaps/default/keymap.c
+++ b/keyboards/handwired/split_cloud/keymaps/default/keymap.c
@@ -15,7 +15,6 @@
15 */ 15 */
16 16
17#include QMK_KEYBOARD_H 17#include QMK_KEYBOARD_H
18#include "keymap_steno.h"
19 18
20// clang-format off 19// clang-format off
21 20
diff --git a/keyboards/input_club/ergodox_infinity/keymaps/halfkeyboard/keymap.c b/keyboards/input_club/ergodox_infinity/keymaps/halfkeyboard/keymap.c
index ca0442103d..35f459fab5 100644
--- a/keyboards/input_club/ergodox_infinity/keymaps/halfkeyboard/keymap.c
+++ b/keyboards/input_club/ergodox_infinity/keymaps/halfkeyboard/keymap.c
@@ -1,8 +1,5 @@
1#include QMK_KEYBOARD_H 1#include QMK_KEYBOARD_H
2#include "debug.h"
3#include "action_layer.h"
4#include "version.h" 2#include "version.h"
5#include "keymap_steno.h"
6#ifndef MIDI_ENABLE 3#ifndef MIDI_ENABLE
7#error "Midi is not enabled" 4#error "Midi is not enabled"
8#endif 5#endif
diff --git a/keyboards/jian/keymaps/advanced/keymap.c b/keyboards/jian/keymaps/advanced/keymap.c
index 4a6fdec063..7702fc20b7 100644
--- a/keyboards/jian/keymaps/advanced/keymap.c
+++ b/keyboards/jian/keymaps/advanced/keymap.c
@@ -11,7 +11,6 @@ typedef union {
11user_config_t user_config; 11user_config_t user_config;
12 12
13#ifdef STENO_ENABLE 13#ifdef STENO_ENABLE
14#include "keymap_steno.h"
15#endif // STENO_ENABLE 14#endif // STENO_ENABLE
16 15
17 16
diff --git a/keyboards/kbdfans/niu_mini/keymaps/yttyx/keymap.c b/keyboards/kbdfans/niu_mini/keymaps/yttyx/keymap.c
index 55d5a80228..53ed794da8 100644
--- a/keyboards/kbdfans/niu_mini/keymaps/yttyx/keymap.c
+++ b/keyboards/kbdfans/niu_mini/keymaps/yttyx/keymap.c
@@ -1,6 +1,5 @@
1 1
2#include QMK_KEYBOARD_H 2#include QMK_KEYBOARD_H
3#include "keymap_steno.h"
4 3
5enum layers { 4enum layers {
6 _BA, // Base (Balance Twelve mirror variant) 5 _BA, // Base (Balance Twelve mirror variant)
diff --git a/keyboards/keebio/levinson/keymaps/dcompact/keymap.c b/keyboards/keebio/levinson/keymaps/dcompact/keymap.c
index f501ef7cef..0495649c42 100644
--- a/keyboards/keebio/levinson/keymaps/dcompact/keymap.c
+++ b/keyboards/keebio/levinson/keymaps/dcompact/keymap.c
@@ -1,7 +1,5 @@
1#include QMK_KEYBOARD_H 1#include QMK_KEYBOARD_H
2 2
3#include "keymap_steno.h"
4
5// Custom Keycodes and Combinations Used 3// Custom Keycodes and Combinations Used
6#define DEL_SHF SFT_T(KC_DEL) 4#define DEL_SHF SFT_T(KC_DEL)
7#define QUAKE LCTL(KC_GRV) 5#define QUAKE LCTL(KC_GRV)
diff --git a/keyboards/keebio/levinson/keymaps/steno/keymap.c b/keyboards/keebio/levinson/keymaps/steno/keymap.c
index 854ef41999..067e560d1b 100644
--- a/keyboards/keebio/levinson/keymaps/steno/keymap.c
+++ b/keyboards/keebio/levinson/keymaps/steno/keymap.c
@@ -1,5 +1,4 @@
1#include QMK_KEYBOARD_H 1#include QMK_KEYBOARD_H
2#include "keymap_steno.h"
3 2
4extern keymap_config_t keymap_config; 3extern keymap_config_t keymap_config;
5 4
diff --git a/keyboards/lily58/keymaps/narze/keymap.c b/keyboards/lily58/keymaps/narze/keymap.c
index 7438e72751..0f2764da6a 100644
--- a/keyboards/lily58/keymaps/narze/keymap.c
+++ b/keyboards/lily58/keymaps/narze/keymap.c
@@ -1,7 +1,6 @@
1#include QMK_KEYBOARD_H 1#include QMK_KEYBOARD_H
2#include "narze.h" 2#include "narze.h"
3#include "keymap_colemak.h" 3#include "keymap_colemak.h"
4#include "keymap_steno.h"
5 4
6 5
7#ifdef RGBLIGHT_ENABLE 6#ifdef RGBLIGHT_ENABLE
diff --git a/keyboards/mechwild/bbs/keymaps/default/keymap.c b/keyboards/mechwild/bbs/keymaps/default/keymap.c
index 1eabdcd540..146099fba7 100644
--- a/keyboards/mechwild/bbs/keymaps/default/keymap.c
+++ b/keyboards/mechwild/bbs/keymaps/default/keymap.c
@@ -2,7 +2,6 @@
2// SPDX-License-Identifier: GPL-2.0-or-later 2// SPDX-License-Identifier: GPL-2.0-or-later
3 3
4#include QMK_KEYBOARD_H 4#include QMK_KEYBOARD_H
5#include "keymap_steno.h"
6 5
7// Defines names for use in layer keycodes and the keymap 6// Defines names for use in layer keycodes and the keymap
8enum layer_names { 7enum layer_names {
diff --git a/keyboards/mechwild/sugarglider/keymaps/default/keymap.c b/keyboards/mechwild/sugarglider/keymaps/default/keymap.c
index ad0470a139..344dabfd2d 100644
--- a/keyboards/mechwild/sugarglider/keymaps/default/keymap.c
+++ b/keyboards/mechwild/sugarglider/keymaps/default/keymap.c
@@ -2,7 +2,6 @@
2// SPDX-License-Identifier: GPL-2.0-or-later 2// SPDX-License-Identifier: GPL-2.0-or-later
3 3
4#include QMK_KEYBOARD_H 4#include QMK_KEYBOARD_H
5#include "keymap_steno.h"
6 5
7// Defines names for use in layer keycodes and the keymap 6// Defines names for use in layer keycodes and the keymap
8enum layer_names { 7enum layer_names {
diff --git a/keyboards/planck/keymaps/altgr/keymap.c b/keyboards/planck/keymaps/altgr/keymap.c
index 3ef9690a0a..f67682d794 100644
--- a/keyboards/planck/keymaps/altgr/keymap.c
+++ b/keyboards/planck/keymaps/altgr/keymap.c
@@ -67,9 +67,6 @@
67 67
68 68
69#include QMK_KEYBOARD_H 69#include QMK_KEYBOARD_H
70#ifdef STENO_ENABLE
71#include "keymap_steno.h"
72#endif
73 70
74extern keymap_config_t keymap_config; 71extern keymap_config_t keymap_config;
75 72
diff --git a/keyboards/planck/keymaps/bghull/keymap.c b/keyboards/planck/keymaps/bghull/keymap.c
index 4e556fc215..55f5c54b67 100644
--- a/keyboards/planck/keymaps/bghull/keymap.c
+++ b/keyboards/planck/keymaps/bghull/keymap.c
@@ -15,7 +15,6 @@
15 */ 15 */
16 16
17#include QMK_KEYBOARD_H 17#include QMK_KEYBOARD_H
18#include "keymap_steno.h"
19#include "g/keymap_combo.h" 18#include "g/keymap_combo.h"
20#include "muse.h" 19#include "muse.h"
21 20
diff --git a/keyboards/planck/keymaps/dcompact/keymap.c b/keyboards/planck/keymaps/dcompact/keymap.c
index a63f86e7a8..f781d1e5c0 100644
--- a/keyboards/planck/keymaps/dcompact/keymap.c
+++ b/keyboards/planck/keymaps/dcompact/keymap.c
@@ -15,7 +15,6 @@
15 */ 15 */
16 16
17#include QMK_KEYBOARD_H 17#include QMK_KEYBOARD_H
18#include "keymap_steno.h"
19 18
20// Custom Keycodes and Combinations Used 19// Custom Keycodes and Combinations Used
21#define DEL_SHF SFT_T(KC_DEL) 20#define DEL_SHF SFT_T(KC_DEL)
diff --git a/keyboards/planck/keymaps/experimental/keymap.c b/keyboards/planck/keymaps/experimental/keymap.c
index d5c7425439..6d6752952b 100644
--- a/keyboards/planck/keymaps/experimental/keymap.c
+++ b/keyboards/planck/keymaps/experimental/keymap.c
@@ -1,6 +1,5 @@
1 1
2#include QMK_KEYBOARD_H 2#include QMK_KEYBOARD_H
3#include "keymap_steno.h"
4#include "version.h" 3#include "version.h"
5 4
6extern keymap_config_t keymap_config; 5extern keymap_config_t keymap_config;
diff --git a/keyboards/planck/keymaps/hiea/keymap.c b/keyboards/planck/keymaps/hiea/keymap.c
index eed4954096..be138a3eb4 100644
--- a/keyboards/planck/keymaps/hiea/keymap.c
+++ b/keyboards/planck/keymaps/hiea/keymap.c
@@ -67,9 +67,6 @@
67 67
68 68
69#include QMK_KEYBOARD_H 69#include QMK_KEYBOARD_H
70#ifdef STENO_ENABLE
71#include "keymap_steno.h"
72#endif
73 70
74extern keymap_config_t keymap_config; 71extern keymap_config_t keymap_config;
75 72
diff --git a/keyboards/planck/keymaps/hieax/keymap.c b/keyboards/planck/keymaps/hieax/keymap.c
index 80de85b884..4acd526916 100644
--- a/keyboards/planck/keymaps/hieax/keymap.c
+++ b/keyboards/planck/keymaps/hieax/keymap.c
@@ -67,9 +67,6 @@
67 67
68 68
69#include QMK_KEYBOARD_H 69#include QMK_KEYBOARD_H
70#ifdef STENO_ENABLE
71#include "keymap_steno.h"
72#endif
73 70
74extern keymap_config_t keymap_config; 71extern keymap_config_t keymap_config;
75 72
diff --git a/keyboards/planck/keymaps/sdothum/keymap.c b/keyboards/planck/keymaps/sdothum/keymap.c
index 597466ba47..03c605020c 100644
--- a/keyboards/planck/keymaps/sdothum/keymap.c
+++ b/keyboards/planck/keymaps/sdothum/keymap.c
@@ -67,9 +67,6 @@
67 67
68 68
69#include QMK_KEYBOARD_H 69#include QMK_KEYBOARD_H
70#ifdef STENO_ENABLE
71#include "keymap_steno.h"
72#endif
73 70
74extern keymap_config_t keymap_config; 71extern keymap_config_t keymap_config;
75 72
diff --git a/keyboards/planck/keymaps/steno/keymap.c b/keyboards/planck/keymaps/steno/keymap.c
index 9de27e47bf..4d22ee4ff3 100644
--- a/keyboards/planck/keymaps/steno/keymap.c
+++ b/keyboards/planck/keymaps/steno/keymap.c
@@ -15,7 +15,6 @@
15 */ 15 */
16 16
17#include QMK_KEYBOARD_H 17#include QMK_KEYBOARD_H
18#include "keymap_steno.h"
19 18
20extern keymap_config_t keymap_config; 19extern keymap_config_t keymap_config;
21 20
diff --git a/keyboards/planck/keymaps/yttyx/keymap.c b/keyboards/planck/keymaps/yttyx/keymap.c
index 1201163ac7..b3b39cd919 100644
--- a/keyboards/planck/keymaps/yttyx/keymap.c
+++ b/keyboards/planck/keymaps/yttyx/keymap.c
@@ -1,6 +1,5 @@
1 1
2#include QMK_KEYBOARD_H 2#include QMK_KEYBOARD_H
3#include "keymap_steno.h"
4 3
5enum layers { 4enum layers {
6 _BA, // Base (Balance Twelve mirror variant) 5 _BA, // Base (Balance Twelve mirror variant)
diff --git a/keyboards/preonic/keymaps/bghull/keymap.c b/keyboards/preonic/keymaps/bghull/keymap.c
index eba6cd4f85..87cb9c6c69 100644
--- a/keyboards/preonic/keymaps/bghull/keymap.c
+++ b/keyboards/preonic/keymaps/bghull/keymap.c
@@ -15,7 +15,6 @@
15 */ 15 */
16 16
17#include QMK_KEYBOARD_H 17#include QMK_KEYBOARD_H
18#include "keymap_steno.h"
19 18
20enum preonic_layers { 19enum preonic_layers {
21 _QWERTY, 20 _QWERTY,
diff --git a/keyboards/splitography/keymaps/default/keymap.c b/keyboards/splitography/keymaps/default/keymap.c
index 8fbd541810..9c6c7d6b26 100644
--- a/keyboards/splitography/keymaps/default/keymap.c
+++ b/keyboards/splitography/keymaps/default/keymap.c
@@ -15,7 +15,6 @@
15 */ 15 */
16 16
17#include QMK_KEYBOARD_H 17#include QMK_KEYBOARD_H
18#include "keymap_steno.h"
19 18
20enum keyboard_layers { 19enum keyboard_layers {
21 _QWERTY = 0, 20 _QWERTY = 0,
diff --git a/keyboards/splitography/keymaps/default_with_ctl_shft_alt_switched/keymap.c b/keyboards/splitography/keymaps/default_with_ctl_shft_alt_switched/keymap.c
index 83874f7760..787f448ffb 100644
--- a/keyboards/splitography/keymaps/default_with_ctl_shft_alt_switched/keymap.c
+++ b/keyboards/splitography/keymaps/default_with_ctl_shft_alt_switched/keymap.c
@@ -15,7 +15,6 @@
15 */ 15 */
16 16
17#include QMK_KEYBOARD_H 17#include QMK_KEYBOARD_H
18#include "keymap_steno.h"
19 18
20enum keyboard_layers { 19enum keyboard_layers {
21 _QWERTY = 0, 20 _QWERTY = 0,
diff --git a/keyboards/splitography/keymaps/dvorak/keymap.c b/keyboards/splitography/keymaps/dvorak/keymap.c
index 1d9ff41dd1..992cfd0abb 100644
--- a/keyboards/splitography/keymaps/dvorak/keymap.c
+++ b/keyboards/splitography/keymaps/dvorak/keymap.c
@@ -15,7 +15,6 @@
15 */ 15 */
16 16
17#include QMK_KEYBOARD_H 17#include QMK_KEYBOARD_H
18#include "keymap_steno.h"
19 18
20enum keyboard_layers { 19enum keyboard_layers {
21 _DVORAK = 0, 20 _DVORAK = 0,
diff --git a/keyboards/splitography/keymaps/jeandeaual/keymap.c b/keyboards/splitography/keymaps/jeandeaual/keymap.c
index 9b5c3d554d..6e0f818688 100644
--- a/keyboards/splitography/keymaps/jeandeaual/keymap.c
+++ b/keyboards/splitography/keymaps/jeandeaual/keymap.c
@@ -15,7 +15,6 @@
15 */ 15 */
16 16
17#include QMK_KEYBOARD_H 17#include QMK_KEYBOARD_H
18#include "keymap_steno.h"
19 18
20enum keyboard_layers { 19enum keyboard_layers {
21 _GEMINI = 0, 20 _GEMINI = 0,
diff --git a/keyboards/splitography/keymaps/multi/keymap.c b/keyboards/splitography/keymaps/multi/keymap.c
index f1a083e03f..42ab737698 100644
--- a/keyboards/splitography/keymaps/multi/keymap.c
+++ b/keyboards/splitography/keymaps/multi/keymap.c
@@ -15,7 +15,6 @@
15 */ 15 */
16 16
17#include QMK_KEYBOARD_H 17#include QMK_KEYBOARD_H
18#include "keymap_steno.h"
19 18
20enum keyboard_layers { 19enum keyboard_layers {
21 _QWERTY = 0, 20 _QWERTY = 0,
diff --git a/keyboards/stenokeyboards/the_uni/keymaps/default/keymap.c b/keyboards/stenokeyboards/the_uni/keymaps/default/keymap.c
index 74aa207bd5..2240798328 100644
--- a/keyboards/stenokeyboards/the_uni/keymaps/default/keymap.c
+++ b/keyboards/stenokeyboards/the_uni/keymaps/default/keymap.c
@@ -16,7 +16,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/ 16*/
17 17
18#include QMK_KEYBOARD_H 18#include QMK_KEYBOARD_H
19#include "keymap_steno.h"
20 19
21enum uni_layers { 20enum uni_layers {
22 _PLOVER, 21 _PLOVER,
diff --git a/keyboards/stenokeyboards/the_uni/keymaps/utility_belt/keymap.c b/keyboards/stenokeyboards/the_uni/keymaps/utility_belt/keymap.c
index 47a89818f6..0962521903 100644
--- a/keyboards/stenokeyboards/the_uni/keymaps/utility_belt/keymap.c
+++ b/keyboards/stenokeyboards/the_uni/keymaps/utility_belt/keymap.c
@@ -16,7 +16,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/ 16*/
17 17
18#include QMK_KEYBOARD_H 18#include QMK_KEYBOARD_H
19#include "keymap_steno.h"
20 19
21enum uni_layers { 20enum uni_layers {
22 _PLOVER, 21 _PLOVER,
diff --git a/keyboards/thevankeyboards/minivan/keymaps/dcompact/keymap.c b/keyboards/thevankeyboards/minivan/keymaps/dcompact/keymap.c
index a036d563a1..614fe97710 100644
--- a/keyboards/thevankeyboards/minivan/keymaps/dcompact/keymap.c
+++ b/keyboards/thevankeyboards/minivan/keymaps/dcompact/keymap.c
@@ -15,7 +15,6 @@
15 */ 15 */
16 16
17#include QMK_KEYBOARD_H 17#include QMK_KEYBOARD_H
18#include "keymap_steno.h"
19 18
20// Custom Keycodes and Combinations Used 19// Custom Keycodes and Combinations Used
21#define DEL_SHF SFT_T(KC_DEL) 20#define DEL_SHF SFT_T(KC_DEL)
diff --git a/keyboards/xiudi/xd75/keymaps/raoeus/keymap.c b/keyboards/xiudi/xd75/keymaps/raoeus/keymap.c
index 22578350c1..8c57995f2f 100644
--- a/keyboards/xiudi/xd75/keymaps/raoeus/keymap.c
+++ b/keyboards/xiudi/xd75/keymaps/raoeus/keymap.c
@@ -16,7 +16,6 @@
16 */ 16 */
17 17
18#include QMK_KEYBOARD_H 18#include QMK_KEYBOARD_H
19#include "keymap_steno.h"
20 19
21void matrix_init_user(void) { 20void matrix_init_user(void) {
22 steno_set_mode(STENO_MODE_GEMINI); 21 steno_set_mode(STENO_MODE_GEMINI);
diff --git a/quantum/keymap_extras/keymap_steno.h b/quantum/keymap_extras/keymap_steno.h
index 852b2f7121..d2635446c6 100644
--- a/quantum/keymap_extras/keymap_steno.h
+++ b/quantum/keymap_extras/keymap_steno.h
@@ -1,119 +1,6 @@
1/* Copyright 2017 Joseph Wasson 1// Copyright 2023 QMK
2 * 2// SPDX-License-Identifier: GPL-2.0-or-later
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 3
17#pragma once 4#pragma once
18 5
19#include "keycodes.h" 6#pragma message("keymap_steno.h include is no longer required")
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#ifdef STENO_COMBINEDMAP
77enum steno_combined_keycodes {
78 STN_S3 = QK_STENO_COMB,
79 STN_TKL,
80 STN_PWL,
81 STN_HRL,
82 STN_FRR,
83 STN_PBR,
84 STN_LGR,
85 STN_TSR,
86 STN_DZR,
87 STN_AO,
88 STN_EU,
89 STN_COMB_MAX = STN_EU,
90};
91#endif
92
93#ifdef STENO_ENABLE_BOLT
94// TxBolt Codes
95# define TXB_NUL 0
96# define TXB_S_L 0b00000001
97# define TXB_T_L 0b00000010
98# define TXB_K_L 0b00000100
99# define TXB_P_L 0b00001000
100# define TXB_W_L 0b00010000
101# define TXB_H_L 0b00100000
102# define TXB_R_L 0b01000001
103# define TXB_A_L 0b01000010
104# define TXB_O_L 0b01000100
105# define TXB_STR 0b01001000
106# define TXB_E_R 0b01010000
107# define TXB_U_R 0b01100000
108# define TXB_F_R 0b10000001
109# define TXB_R_R 0b10000010
110# define TXB_P_R 0b10000100
111# define TXB_B_R 0b10001000
112# define TXB_L_R 0b10010000
113# define TXB_G_R 0b10100000
114# define TXB_T_R 0b11000001
115# define TXB_S_R 0b11000010
116# define TXB_D_R 0b11000100
117# define TXB_Z_R 0b11001000
118# define TXB_NUM 0b11010000
119#endif // STENO_ENABLE_BOLT
diff --git a/quantum/process_keycode/process_steno.c b/quantum/process_keycode/process_steno.c
index af26d4ca86..bd4361580b 100644
--- a/quantum/process_keycode/process_steno.c
+++ b/quantum/process_keycode/process_steno.c
@@ -16,7 +16,6 @@
16#include "process_steno.h" 16#include "process_steno.h"
17#include "quantum_keycodes.h" 17#include "quantum_keycodes.h"
18#include "eeconfig.h" 18#include "eeconfig.h"
19#include "keymap_steno.h"
20#include <string.h> 19#include <string.h>
21#ifdef VIRTSER_ENABLE 20#ifdef VIRTSER_ENABLE
22# include "virtser.h" 21# include "virtser.h"
diff --git a/quantum/process_keycode/process_steno.h b/quantum/process_keycode/process_steno.h
index 0dd2103218..5529980b71 100644
--- a/quantum/process_keycode/process_steno.h
+++ b/quantum/process_keycode/process_steno.h
@@ -19,6 +19,7 @@
19#include <stdint.h> 19#include <stdint.h>
20#include <stdbool.h> 20#include <stdbool.h>
21#include "action.h" 21#include "action.h"
22#include "steno_keycodes.h"
22 23
23#define BOLT_STROKE_SIZE 4 24#define BOLT_STROKE_SIZE 4
24#define GEMINI_STROKE_SIZE 6 25#define GEMINI_STROKE_SIZE 6
diff --git a/quantum/steno_keycodes.h b/quantum/steno_keycodes.h
new file mode 100644
index 0000000000..852b2f7121
--- /dev/null
+++ b/quantum/steno_keycodes.h
@@ -0,0 +1,119 @@
1/* Copyright 2017 Joseph Wasson
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#pragma once
18
19#include "keycodes.h"
20
21// List of keycodes for the steno keyboard. To prevent
22// errors, this must be <= 42 total entries in order to
23// support the GeminiPR protocol.
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#ifdef STENO_COMBINEDMAP
77enum steno_combined_keycodes {
78 STN_S3 = QK_STENO_COMB,
79 STN_TKL,
80 STN_PWL,
81 STN_HRL,
82 STN_FRR,
83 STN_PBR,
84 STN_LGR,
85 STN_TSR,
86 STN_DZR,
87 STN_AO,
88 STN_EU,
89 STN_COMB_MAX = STN_EU,
90};
91#endif
92
93#ifdef STENO_ENABLE_BOLT
94// TxBolt Codes
95# define TXB_NUL 0
96# define TXB_S_L 0b00000001
97# define TXB_T_L 0b00000010
98# define TXB_K_L 0b00000100
99# define TXB_P_L 0b00001000
100# define TXB_W_L 0b00010000
101# define TXB_H_L 0b00100000
102# define TXB_R_L 0b01000001
103# define TXB_A_L 0b01000010
104# define TXB_O_L 0b01000100
105# define TXB_STR 0b01001000
106# define TXB_E_R 0b01010000
107# define TXB_U_R 0b01100000
108# define TXB_F_R 0b10000001
109# define TXB_R_R 0b10000010
110# define TXB_P_R 0b10000100
111# define TXB_B_R 0b10001000
112# define TXB_L_R 0b10010000
113# define TXB_G_R 0b10100000
114# define TXB_T_R 0b11000001
115# define TXB_S_R 0b11000010
116# define TXB_D_R 0b11000100
117# define TXB_Z_R 0b11001000
118# define TXB_NUM 0b11010000
119#endif // STENO_ENABLE_BOLT