Initial rework of steno feature (#26273)

This commit is contained in:
Joel Challis
2026-08-25 17:15:01 +01:00
committed by GitHub
parent 4b2c8b31b1
commit 4dfef5c638
21 changed files with 1554 additions and 403 deletions
+174 -7
View File
@@ -79,7 +79,7 @@ enum qk_keycode_ranges {
QK_AUDIO = 0x7480,
QK_AUDIO_MAX = 0x74BF,
QK_STENO = 0x74C0,
QK_STENO_MAX = 0x74FF,
QK_STENO_MAX = 0x751F,
QK_MACRO = 0x7700,
QK_MACRO_MAX = 0x777F,
QK_CONNECTION = 0x7780,
@@ -662,10 +662,89 @@ enum qk_keycode_defines {
QK_MUSIC_MODE_NEXT = 0x7493,
QK_AUDIO_VOICE_NEXT = 0x7494,
QK_AUDIO_VOICE_PREVIOUS = 0x7495,
QK_STENO_BOLT = 0x74F0,
QK_STENO_GEMINI = 0x74F1,
QK_STENO_COMB = 0x74F2,
QK_STENO_COMB_MAX = 0x74FC,
QK_STENO_FUNCTION = 0x74C0,
QK_STENO_N1 = 0x74C1,
QK_STENO_N2 = 0x74C2,
QK_STENO_N3 = 0x74C3,
QK_STENO_N4 = 0x74C4,
QK_STENO_N5 = 0x74C5,
QK_STENO_N6 = 0x74C6,
QK_STENO_S1 = 0x74C7,
QK_STENO_S2 = 0x74C8,
QK_STENO_TL = 0x74C9,
QK_STENO_KL = 0x74CA,
QK_STENO_PL = 0x74CB,
QK_STENO_WL = 0x74CC,
QK_STENO_HL = 0x74CD,
QK_STENO_RL = 0x74CE,
QK_STENO_A = 0x74CF,
QK_STENO_O = 0x74D0,
QK_STENO_ST1 = 0x74D1,
QK_STENO_ST2 = 0x74D2,
QK_STENO_RESET1 = 0x74D3,
QK_STENO_RESET2 = 0x74D4,
QK_STENO_POWER = 0x74D5,
QK_STENO_ST3 = 0x74D6,
QK_STENO_ST4 = 0x74D7,
QK_STENO_E = 0x74D8,
QK_STENO_U = 0x74D9,
QK_STENO_FR = 0x74DA,
QK_STENO_RR = 0x74DB,
QK_STENO_PR = 0x74DC,
QK_STENO_BR = 0x74DD,
QK_STENO_LR = 0x74DE,
QK_STENO_GR = 0x74DF,
QK_STENO_TR = 0x74E0,
QK_STENO_SR = 0x74E1,
QK_STENO_DR = 0x74E2,
QK_STENO_N7 = 0x74E3,
QK_STENO_N8 = 0x74E4,
QK_STENO_N9 = 0x74E5,
QK_STENO_NA = 0x74E6,
QK_STENO_NB = 0x74E7,
QK_STENO_NC = 0x74E8,
QK_STENO_ZR = 0x74E9,
QK_STENO_X1 = 0x74EA,
QK_STENO_X2 = 0x74EB,
QK_STENO_X3 = 0x74EC,
QK_STENO_X4 = 0x74ED,
QK_STENO_X5 = 0x74EE,
QK_STENO_X6 = 0x74EF,
QK_STENO_X7 = 0x74F0,
QK_STENO_X8 = 0x74F1,
QK_STENO_X9 = 0x74F2,
QK_STENO_X10 = 0x74F3,
QK_STENO_X11 = 0x74F4,
QK_STENO_X12 = 0x74F5,
QK_STENO_X13 = 0x74F6,
QK_STENO_X14 = 0x74F7,
QK_STENO_X15 = 0x74F8,
QK_STENO_X16 = 0x74F9,
QK_STENO_X17 = 0x74FA,
QK_STENO_X18 = 0x74FB,
QK_STENO_X19 = 0x74FC,
QK_STENO_X20 = 0x74FD,
QK_STENO_X21 = 0x74FE,
QK_STENO_X22 = 0x74FF,
QK_STENO_X23 = 0x7500,
QK_STENO_X24 = 0x7501,
QK_STENO_X25 = 0x7502,
QK_STENO_X26 = 0x7503,
QK_STENO_S3 = 0x750B,
QK_STENO_TKL = 0x750C,
QK_STENO_PWL = 0x750D,
QK_STENO_HRL = 0x750E,
QK_STENO_FRR = 0x750F,
QK_STENO_PBR = 0x7510,
QK_STENO_LGR = 0x7511,
QK_STENO_TSR = 0x7512,
QK_STENO_DZR = 0x7513,
QK_STENO_AO = 0x7514,
QK_STENO_EU = 0x7515,
QK_STENO_MODE_BOLT = 0x751C,
QK_STENO_MODE_GEMINI = 0x751D,
QK_STENO_MODE_NEXT = 0x751E,
QK_STENO_MODE_PREVIOUS = 0x751F,
QK_MACRO_0 = 0x7700,
QK_MACRO_1 = 0x7701,
QK_MACRO_2 = 0x7702,
@@ -1359,6 +1438,94 @@ enum qk_keycode_defines {
MU_NEXT = QK_MUSIC_MODE_NEXT,
AU_NEXT = QK_AUDIO_VOICE_NEXT,
AU_PREV = QK_AUDIO_VOICE_PREVIOUS,
ST_FN = QK_STENO_FUNCTION,
ST_N1 = QK_STENO_N1,
ST_NUM = QK_STENO_N1,
ST_N2 = QK_STENO_N2,
ST_N3 = QK_STENO_N3,
ST_N4 = QK_STENO_N4,
ST_N5 = QK_STENO_N5,
ST_N6 = QK_STENO_N6,
ST_S1 = QK_STENO_S1,
ST_SL = QK_STENO_S1,
ST_S2 = QK_STENO_S2,
ST_TL = QK_STENO_TL,
ST_KL = QK_STENO_KL,
ST_PL = QK_STENO_PL,
ST_WL = QK_STENO_WL,
ST_HL = QK_STENO_HL,
ST_RL = QK_STENO_RL,
ST_A = QK_STENO_A,
ST_O = QK_STENO_O,
ST_ST1 = QK_STENO_ST1,
ST_STR = QK_STENO_ST1,
ST_ST2 = QK_STENO_ST2,
ST_RE1 = QK_STENO_RESET1,
ST_RES1 = QK_STENO_RESET1,
ST_RE2 = QK_STENO_RESET2,
ST_RES2 = QK_STENO_RESET2,
ST_PWR = QK_STENO_POWER,
ST_ST3 = QK_STENO_ST3,
ST_ST4 = QK_STENO_ST4,
ST_E = QK_STENO_E,
ST_U = QK_STENO_U,
ST_FR = QK_STENO_FR,
ST_RR = QK_STENO_RR,
ST_PR = QK_STENO_PR,
ST_BR = QK_STENO_BR,
ST_LR = QK_STENO_LR,
ST_GR = QK_STENO_GR,
ST_TR = QK_STENO_TR,
ST_SR = QK_STENO_SR,
ST_DR = QK_STENO_DR,
ST_N7 = QK_STENO_N7,
ST_N8 = QK_STENO_N8,
ST_N9 = QK_STENO_N9,
ST_NA = QK_STENO_NA,
ST_NB = QK_STENO_NB,
ST_NC = QK_STENO_NC,
ST_ZR = QK_STENO_ZR,
ST_X1 = QK_STENO_X1,
ST_X2 = QK_STENO_X2,
ST_X3 = QK_STENO_X3,
ST_X4 = QK_STENO_X4,
ST_X5 = QK_STENO_X5,
ST_X6 = QK_STENO_X6,
ST_X7 = QK_STENO_X7,
ST_X8 = QK_STENO_X8,
ST_X9 = QK_STENO_X9,
ST_X10 = QK_STENO_X10,
ST_X11 = QK_STENO_X11,
ST_X12 = QK_STENO_X12,
ST_X13 = QK_STENO_X13,
ST_X14 = QK_STENO_X14,
ST_X15 = QK_STENO_X15,
ST_X16 = QK_STENO_X16,
ST_X17 = QK_STENO_X17,
ST_X18 = QK_STENO_X18,
ST_X19 = QK_STENO_X19,
ST_X20 = QK_STENO_X20,
ST_X21 = QK_STENO_X21,
ST_X22 = QK_STENO_X22,
ST_X23 = QK_STENO_X23,
ST_X24 = QK_STENO_X24,
ST_X25 = QK_STENO_X25,
ST_X26 = QK_STENO_X26,
ST_S3 = QK_STENO_S3,
ST_TKL = QK_STENO_TKL,
ST_PWL = QK_STENO_PWL,
ST_HRL = QK_STENO_HRL,
ST_FRR = QK_STENO_FRR,
ST_PBR = QK_STENO_PBR,
ST_LGR = QK_STENO_LGR,
ST_TSR = QK_STENO_TSR,
ST_DZR = QK_STENO_DZR,
ST_AO = QK_STENO_AO,
ST_EU = QK_STENO_EU,
ST_BOLT = QK_STENO_MODE_BOLT,
ST_GEMI = QK_STENO_MODE_GEMINI,
ST_NEXT = QK_STENO_MODE_NEXT,
ST_PREV = QK_STENO_MODE_PREVIOUS,
MC_0 = QK_MACRO_0,
MC_1 = QK_MACRO_1,
MC_2 = QK_MACRO_2,
@@ -1583,7 +1750,7 @@ enum qk_keycode_defines {
#define IS_JOYSTICK_KEYCODE(code) ((code) >= QK_JOYSTICK_BUTTON_0 && (code) <= QK_JOYSTICK_BUTTON_31)
#define IS_PROGRAMMABLE_BUTTON_KEYCODE(code) ((code) >= QK_PROGRAMMABLE_BUTTON_1 && (code) <= QK_PROGRAMMABLE_BUTTON_32)
#define IS_AUDIO_KEYCODE(code) ((code) >= QK_AUDIO_ON && (code) <= QK_AUDIO_VOICE_PREVIOUS)
#define IS_STENO_KEYCODE(code) ((code) >= QK_STENO_BOLT && (code) <= QK_STENO_COMB_MAX)
#define IS_STENO_KEYCODE(code) ((code) >= QK_STENO_FUNCTION && (code) <= QK_STENO_MODE_PREVIOUS)
#define IS_MACRO_KEYCODE(code) ((code) >= QK_MACRO_0 && (code) <= QK_MACRO_31)
#define IS_CONNECTION_KEYCODE(code) ((code) >= QK_OUTPUT_AUTO && (code) <= QK_BLUETOOTH_PROFILE5)
#define IS_BACKLIGHT_KEYCODE(code) ((code) >= QK_BACKLIGHT_ON && (code) <= QK_BACKLIGHT_TOGGLE_BREATHING)
@@ -1610,7 +1777,7 @@ enum qk_keycode_defines {
#define JOYSTICK_KEYCODE_RANGE QK_JOYSTICK_BUTTON_0 ... QK_JOYSTICK_BUTTON_31
#define PROGRAMMABLE_BUTTON_KEYCODE_RANGE QK_PROGRAMMABLE_BUTTON_1 ... QK_PROGRAMMABLE_BUTTON_32
#define AUDIO_KEYCODE_RANGE QK_AUDIO_ON ... QK_AUDIO_VOICE_PREVIOUS
#define STENO_KEYCODE_RANGE QK_STENO_BOLT ... QK_STENO_COMB_MAX
#define STENO_KEYCODE_RANGE QK_STENO_FUNCTION ... QK_STENO_MODE_PREVIOUS
#define MACRO_KEYCODE_RANGE QK_MACRO_0 ... QK_MACRO_31
#define CONNECTION_KEYCODE_RANGE QK_OUTPUT_AUTO ... QK_BLUETOOTH_PROFILE5
#define BACKLIGHT_KEYCODE_RANGE QK_BACKLIGHT_ON ... QK_BACKLIGHT_TOGGLE_BREATHING