From 6bbe8b6eddc56d43f4db07c665bf1791ea2ab871 Mon Sep 17 00:00:00 2001 From: Ryan Date: Tue, 25 Oct 2022 01:50:33 +1100 Subject: [PATCH] Normalise Joystick and Programmable Button keycodes (#18832) --- docs/feature_joystick.md | 38 ++- docs/feature_programmable_button.md | 68 ++--- docs/keycodes.md | 108 +++++--- .../rev1/ansi/keymaps/lalitmaganti/keymap.c | 18 +- .../keymaps/default/keymap.c | 10 +- .../misterdeck/keymaps/default/keymap.c | 2 +- .../onekey/keymaps/joystick/keymap.c | 2 +- .../synthlabs/solo/keymaps/gamepad/keymap.c | 6 +- quantum/process_keycode/process_joystick.c | 6 +- .../process_programmable_button.c | 4 +- quantum/quantum_keycodes.h | 233 ++++++++++-------- quantum/quantum_keycodes_legacy.h | 66 +++++ 12 files changed, 365 insertions(+), 196 deletions(-) diff --git a/docs/feature_joystick.md b/docs/feature_joystick.md index a82192bfe1..a5e4921f9b 100644 --- a/docs/feature_joystick.md +++ b/docs/feature_joystick.md @@ -119,9 +119,41 @@ By default, the resolution of each axis is 8 bit, giving a range of -127 to +127 Note that the supported AVR MCUs have a 10-bit ADC, and 12-bit for most STM32 MCUs. -### Triggering Joystick Buttons +### Keycodes -Joystick buttons are normal Quantum keycodes, defined as `JS_BUTTON0` to `JS_BUTTON31`, depending on the number of buttons you have configured. -To trigger a joystick button, just add the corresponding keycode to your keymap. +|Key |Aliases|Description| +|-----------------------|-------|-----------| +|`QK_JOYSTICK_BUTTON_0` |`JS_0` |Button 0 | +|`QK_JOYSTICK_BUTTON_1` |`JS_1` |Button 1 | +|`QK_JOYSTICK_BUTTON_2` |`JS_2` |Button 2 | +|`QK_JOYSTICK_BUTTON_3` |`JS_3` |Button 3 | +|`QK_JOYSTICK_BUTTON_4` |`JS_4` |Button 4 | +|`QK_JOYSTICK_BUTTON_5` |`JS_5` |Button 5 | +|`QK_JOYSTICK_BUTTON_6` |`JS_6` |Button 6 | +|`QK_JOYSTICK_BUTTON_7` |`JS_7` |Button 7 | +|`QK_JOYSTICK_BUTTON_8` |`JS_8` |Button 8 | +|`QK_JOYSTICK_BUTTON_9` |`JS_9` |Button 9 | +|`QK_JOYSTICK_BUTTON_10`|`JS_10`|Button 10 | +|`QK_JOYSTICK_BUTTON_11`|`JS_11`|Button 11 | +|`QK_JOYSTICK_BUTTON_12`|`JS_12`|Button 12 | +|`QK_JOYSTICK_BUTTON_13`|`JS_13`|Button 13 | +|`QK_JOYSTICK_BUTTON_14`|`JS_14`|Button 14 | +|`QK_JOYSTICK_BUTTON_15`|`JS_15`|Button 15 | +|`QK_JOYSTICK_BUTTON_16`|`JS_16`|Button 16 | +|`QK_JOYSTICK_BUTTON_17`|`JS_17`|Button 17 | +|`QK_JOYSTICK_BUTTON_18`|`JS_18`|Button 18 | +|`QK_JOYSTICK_BUTTON_19`|`JS_19`|Button 19 | +|`QK_JOYSTICK_BUTTON_20`|`JS_20`|Button 20 | +|`QK_JOYSTICK_BUTTON_21`|`JS_21`|Button 21 | +|`QK_JOYSTICK_BUTTON_22`|`JS_22`|Button 22 | +|`QK_JOYSTICK_BUTTON_23`|`JS_23`|Button 23 | +|`QK_JOYSTICK_BUTTON_24`|`JS_24`|Button 24 | +|`QK_JOYSTICK_BUTTON_25`|`JS_25`|Button 25 | +|`QK_JOYSTICK_BUTTON_26`|`JS_26`|Button 26 | +|`QK_JOYSTICK_BUTTON_27`|`JS_27`|Button 27 | +|`QK_JOYSTICK_BUTTON_28`|`JS_28`|Button 28 | +|`QK_JOYSTICK_BUTTON_29`|`JS_29`|Button 29 | +|`QK_JOYSTICK_BUTTON_30`|`JS_30`|Button 30 | +|`QK_JOYSTICK_BUTTON_31`|`JS_31`|Button 31 | You can also trigger joystick buttons in code with `register_joystick_button(button)` and `unregister_joystick_button(button)`, where `button` is the 0-based button index (0 = button 1). diff --git a/docs/feature_programmable_button.md b/docs/feature_programmable_button.md index 1982b8295e..43a9e7fc16 100644 --- a/docs/feature_programmable_button.md +++ b/docs/feature_programmable_button.md @@ -16,40 +16,40 @@ PROGRAMMABLE_BUTTON_ENABLE = yes ## Keycodes :id=keycodes -|Key |Aliases|Description | -|------------------------|-------|----------------------| -|`PROGRAMMABLE_BUTTON_1` |`PB_1` |Programmable button 1 | -|`PROGRAMMABLE_BUTTON_2` |`PB_2` |Programmable button 2 | -|`PROGRAMMABLE_BUTTON_3` |`PB_3` |Programmable button 3 | -|`PROGRAMMABLE_BUTTON_4` |`PB_4` |Programmable button 4 | -|`PROGRAMMABLE_BUTTON_5` |`PB_5` |Programmable button 5 | -|`PROGRAMMABLE_BUTTON_6` |`PB_6` |Programmable button 6 | -|`PROGRAMMABLE_BUTTON_7` |`PB_7` |Programmable button 7 | -|`PROGRAMMABLE_BUTTON_8` |`PB_8` |Programmable button 8 | -|`PROGRAMMABLE_BUTTON_9` |`PB_9` |Programmable button 9 | -|`PROGRAMMABLE_BUTTON_10`|`PB_10`|Programmable button 10| -|`PROGRAMMABLE_BUTTON_11`|`PB_11`|Programmable button 11| -|`PROGRAMMABLE_BUTTON_12`|`PB_12`|Programmable button 12| -|`PROGRAMMABLE_BUTTON_13`|`PB_13`|Programmable button 13| -|`PROGRAMMABLE_BUTTON_14`|`PB_14`|Programmable button 14| -|`PROGRAMMABLE_BUTTON_15`|`PB_15`|Programmable button 15| -|`PROGRAMMABLE_BUTTON_16`|`PB_16`|Programmable button 16| -|`PROGRAMMABLE_BUTTON_17`|`PB_17`|Programmable button 17| -|`PROGRAMMABLE_BUTTON_18`|`PB_18`|Programmable button 18| -|`PROGRAMMABLE_BUTTON_19`|`PB_19`|Programmable button 19| -|`PROGRAMMABLE_BUTTON_20`|`PB_20`|Programmable button 20| -|`PROGRAMMABLE_BUTTON_21`|`PB_21`|Programmable button 21| -|`PROGRAMMABLE_BUTTON_22`|`PB_22`|Programmable button 22| -|`PROGRAMMABLE_BUTTON_23`|`PB_23`|Programmable button 23| -|`PROGRAMMABLE_BUTTON_24`|`PB_24`|Programmable button 24| -|`PROGRAMMABLE_BUTTON_25`|`PB_25`|Programmable button 25| -|`PROGRAMMABLE_BUTTON_26`|`PB_26`|Programmable button 26| -|`PROGRAMMABLE_BUTTON_27`|`PB_27`|Programmable button 27| -|`PROGRAMMABLE_BUTTON_28`|`PB_28`|Programmable button 28| -|`PROGRAMMABLE_BUTTON_29`|`PB_29`|Programmable button 29| -|`PROGRAMMABLE_BUTTON_30`|`PB_30`|Programmable button 30| -|`PROGRAMMABLE_BUTTON_31`|`PB_31`|Programmable button 31| -|`PROGRAMMABLE_BUTTON_32`|`PB_32`|Programmable button 32| +|Key |Aliases|Description | +|---------------------------|-------|----------------------| +|`QK_PROGRAMMABLE_BUTTON_1` |`PB_1` |Programmable button 1 | +|`QK_PROGRAMMABLE_BUTTON_2` |`PB_2` |Programmable button 2 | +|`QK_PROGRAMMABLE_BUTTON_3` |`PB_3` |Programmable button 3 | +|`QK_PROGRAMMABLE_BUTTON_4` |`PB_4` |Programmable button 4 | +|`QK_PROGRAMMABLE_BUTTON_5` |`PB_5` |Programmable button 5 | +|`QK_PROGRAMMABLE_BUTTON_6` |`PB_6` |Programmable button 6 | +|`QK_PROGRAMMABLE_BUTTON_7` |`PB_7` |Programmable button 7 | +|`QK_PROGRAMMABLE_BUTTON_8` |`PB_8` |Programmable button 8 | +|`QK_PROGRAMMABLE_BUTTON_9` |`PB_9` |Programmable button 9 | +|`QK_PROGRAMMABLE_BUTTON_10`|`PB_10`|Programmable button 10| +|`QK_PROGRAMMABLE_BUTTON_11`|`PB_11`|Programmable button 11| +|`QK_PROGRAMMABLE_BUTTON_12`|`PB_12`|Programmable button 12| +|`QK_PROGRAMMABLE_BUTTON_13`|`PB_13`|Programmable button 13| +|`QK_PROGRAMMABLE_BUTTON_14`|`PB_14`|Programmable button 14| +|`QK_PROGRAMMABLE_BUTTON_15`|`PB_15`|Programmable button 15| +|`QK_PROGRAMMABLE_BUTTON_16`|`PB_16`|Programmable button 16| +|`QK_PROGRAMMABLE_BUTTON_17`|`PB_17`|Programmable button 17| +|`QK_PROGRAMMABLE_BUTTON_18`|`PB_18`|Programmable button 18| +|`QK_PROGRAMMABLE_BUTTON_19`|`PB_19`|Programmable button 19| +|`QK_PROGRAMMABLE_BUTTON_20`|`PB_20`|Programmable button 20| +|`QK_PROGRAMMABLE_BUTTON_21`|`PB_21`|Programmable button 21| +|`QK_PROGRAMMABLE_BUTTON_22`|`PB_22`|Programmable button 22| +|`QK_PROGRAMMABLE_BUTTON_23`|`PB_23`|Programmable button 23| +|`QK_PROGRAMMABLE_BUTTON_24`|`PB_24`|Programmable button 24| +|`QK_PROGRAMMABLE_BUTTON_25`|`PB_25`|Programmable button 25| +|`QK_PROGRAMMABLE_BUTTON_26`|`PB_26`|Programmable button 26| +|`QK_PROGRAMMABLE_BUTTON_27`|`PB_27`|Programmable button 27| +|`QK_PROGRAMMABLE_BUTTON_28`|`PB_28`|Programmable button 28| +|`QK_PROGRAMMABLE_BUTTON_29`|`PB_29`|Programmable button 29| +|`QK_PROGRAMMABLE_BUTTON_30`|`PB_30`|Programmable button 30| +|`QK_PROGRAMMABLE_BUTTON_31`|`PB_31`|Programmable button 31| +|`QK_PROGRAMMABLE_BUTTON_32`|`PB_32`|Programmable button 32| ## API :id=api diff --git a/docs/keycodes.md b/docs/keycodes.md index 5565e0c22c..239f28833a 100644 --- a/docs/keycodes.md +++ b/docs/keycodes.md @@ -299,6 +299,45 @@ See also: [Grave Escape](feature_grave_esc.md) |-----------------|---------|------------------------------------------------------------------| |`QK_GRAVE_ESCAPE`|`QK_GESC`|Escape when pressed, ` when Shift or GUI are held| +## Joystick :id=joystick + +See also: [Joystick](feature_joystick.md) + +|Key |Aliases|Description| +|-----------------------|-------|-----------| +|`QK_JOYSTICK_BUTTON_0` |`JS_0` |Button 0 | +|`QK_JOYSTICK_BUTTON_1` |`JS_1` |Button 1 | +|`QK_JOYSTICK_BUTTON_2` |`JS_2` |Button 2 | +|`QK_JOYSTICK_BUTTON_3` |`JS_3` |Button 3 | +|`QK_JOYSTICK_BUTTON_4` |`JS_4` |Button 4 | +|`QK_JOYSTICK_BUTTON_5` |`JS_5` |Button 5 | +|`QK_JOYSTICK_BUTTON_6` |`JS_6` |Button 6 | +|`QK_JOYSTICK_BUTTON_7` |`JS_7` |Button 7 | +|`QK_JOYSTICK_BUTTON_8` |`JS_8` |Button 8 | +|`QK_JOYSTICK_BUTTON_9` |`JS_9` |Button 9 | +|`QK_JOYSTICK_BUTTON_10`|`JS_10`|Button 10 | +|`QK_JOYSTICK_BUTTON_11`|`JS_11`|Button 11 | +|`QK_JOYSTICK_BUTTON_12`|`JS_12`|Button 12 | +|`QK_JOYSTICK_BUTTON_13`|`JS_13`|Button 13 | +|`QK_JOYSTICK_BUTTON_14`|`JS_14`|Button 14 | +|`QK_JOYSTICK_BUTTON_15`|`JS_15`|Button 15 | +|`QK_JOYSTICK_BUTTON_16`|`JS_16`|Button 16 | +|`QK_JOYSTICK_BUTTON_17`|`JS_17`|Button 17 | +|`QK_JOYSTICK_BUTTON_18`|`JS_18`|Button 18 | +|`QK_JOYSTICK_BUTTON_19`|`JS_19`|Button 19 | +|`QK_JOYSTICK_BUTTON_20`|`JS_20`|Button 20 | +|`QK_JOYSTICK_BUTTON_21`|`JS_21`|Button 21 | +|`QK_JOYSTICK_BUTTON_22`|`JS_22`|Button 22 | +|`QK_JOYSTICK_BUTTON_23`|`JS_23`|Button 23 | +|`QK_JOYSTICK_BUTTON_24`|`JS_24`|Button 24 | +|`QK_JOYSTICK_BUTTON_25`|`JS_25`|Button 25 | +|`QK_JOYSTICK_BUTTON_26`|`JS_26`|Button 26 | +|`QK_JOYSTICK_BUTTON_27`|`JS_27`|Button 27 | +|`QK_JOYSTICK_BUTTON_28`|`JS_28`|Button 28 | +|`QK_JOYSTICK_BUTTON_29`|`JS_29`|Button 29 | +|`QK_JOYSTICK_BUTTON_30`|`JS_30`|Button 30 | +|`QK_JOYSTICK_BUTTON_31`|`JS_31`|Button 31 | + ## Key Lock :id=key-lock See also: [Key Lock](feature_key_lock.md) @@ -708,41 +747,40 @@ See also: [One Shot Keys](one_shot_keys.md) See also: [Programmable Button](feature_programmable_button.md) -|Key |Description | -|------------------------|----------------------| -|`PROGRAMMABLE_BUTTON_1` |Programmable button 1 | -|`PROGRAMMABLE_BUTTON_2` |Programmable button 2 | -|`PROGRAMMABLE_BUTTON_3` |Programmable button 3 | -|`PROGRAMMABLE_BUTTON_4` |Programmable button 4 | -|`PROGRAMMABLE_BUTTON_5` |Programmable button 5 | -|`PROGRAMMABLE_BUTTON_6` |Programmable button 6 | -|`PROGRAMMABLE_BUTTON_7` |Programmable button 7 | -|`PROGRAMMABLE_BUTTON_8` |Programmable button 8 | -|`PROGRAMMABLE_BUTTON_9` |Programmable button 9 | -|`PROGRAMMABLE_BUTTON_10`|Programmable button 10| -|`PROGRAMMABLE_BUTTON_11`|Programmable button 11| -|`PROGRAMMABLE_BUTTON_12`|Programmable button 12| -|`PROGRAMMABLE_BUTTON_13`|Programmable button 13| -|`PROGRAMMABLE_BUTTON_14`|Programmable button 14| -|`PROGRAMMABLE_BUTTON_15`|Programmable button 15| -|`PROGRAMMABLE_BUTTON_16`|Programmable button 16| -|`PROGRAMMABLE_BUTTON_17`|Programmable button 17| -|`PROGRAMMABLE_BUTTON_18`|Programmable button 18| -|`PROGRAMMABLE_BUTTON_19`|Programmable button 19| -|`PROGRAMMABLE_BUTTON_20`|Programmable button 20| -|`PROGRAMMABLE_BUTTON_21`|Programmable button 21| -|`PROGRAMMABLE_BUTTON_22`|Programmable button 22| -|`PROGRAMMABLE_BUTTON_23`|Programmable button 23| -|`PROGRAMMABLE_BUTTON_24`|Programmable button 24| -|`PROGRAMMABLE_BUTTON_25`|Programmable button 25| -|`PROGRAMMABLE_BUTTON_26`|Programmable button 26| -|`PROGRAMMABLE_BUTTON_27`|Programmable button 27| -|`PROGRAMMABLE_BUTTON_28`|Programmable button 28| -|`PROGRAMMABLE_BUTTON_29`|Programmable button 29| -|`PROGRAMMABLE_BUTTON_30`|Programmable button 30| -|`PROGRAMMABLE_BUTTON_31`|Programmable button 31| -|`PROGRAMMABLE_BUTTON_32`|Programmable button 32| -|`PB_1` to `PB_32` |Aliases for keymaps | +|Key |Aliases|Description | +|---------------------------|-------|----------------------| +|`QK_PROGRAMMABLE_BUTTON_1` |`PB_1` |Programmable button 1 | +|`QK_PROGRAMMABLE_BUTTON_2` |`PB_2` |Programmable button 2 | +|`QK_PROGRAMMABLE_BUTTON_3` |`PB_3` |Programmable button 3 | +|`QK_PROGRAMMABLE_BUTTON_4` |`PB_4` |Programmable button 4 | +|`QK_PROGRAMMABLE_BUTTON_5` |`PB_5` |Programmable button 5 | +|`QK_PROGRAMMABLE_BUTTON_6` |`PB_6` |Programmable button 6 | +|`QK_PROGRAMMABLE_BUTTON_7` |`PB_7` |Programmable button 7 | +|`QK_PROGRAMMABLE_BUTTON_8` |`PB_8` |Programmable button 8 | +|`QK_PROGRAMMABLE_BUTTON_9` |`PB_9` |Programmable button 9 | +|`QK_PROGRAMMABLE_BUTTON_10`|`PB_10`|Programmable button 10| +|`QK_PROGRAMMABLE_BUTTON_11`|`PB_11`|Programmable button 11| +|`QK_PROGRAMMABLE_BUTTON_12`|`PB_12`|Programmable button 12| +|`QK_PROGRAMMABLE_BUTTON_13`|`PB_13`|Programmable button 13| +|`QK_PROGRAMMABLE_BUTTON_14`|`PB_14`|Programmable button 14| +|`QK_PROGRAMMABLE_BUTTON_15`|`PB_15`|Programmable button 15| +|`QK_PROGRAMMABLE_BUTTON_16`|`PB_16`|Programmable button 16| +|`QK_PROGRAMMABLE_BUTTON_17`|`PB_17`|Programmable button 17| +|`QK_PROGRAMMABLE_BUTTON_18`|`PB_18`|Programmable button 18| +|`QK_PROGRAMMABLE_BUTTON_19`|`PB_19`|Programmable button 19| +|`QK_PROGRAMMABLE_BUTTON_20`|`PB_20`|Programmable button 20| +|`QK_PROGRAMMABLE_BUTTON_21`|`PB_21`|Programmable button 21| +|`QK_PROGRAMMABLE_BUTTON_22`|`PB_22`|Programmable button 22| +|`QK_PROGRAMMABLE_BUTTON_23`|`PB_23`|Programmable button 23| +|`QK_PROGRAMMABLE_BUTTON_24`|`PB_24`|Programmable button 24| +|`QK_PROGRAMMABLE_BUTTON_25`|`PB_25`|Programmable button 25| +|`QK_PROGRAMMABLE_BUTTON_26`|`PB_26`|Programmable button 26| +|`QK_PROGRAMMABLE_BUTTON_27`|`PB_27`|Programmable button 27| +|`QK_PROGRAMMABLE_BUTTON_28`|`PB_28`|Programmable button 28| +|`QK_PROGRAMMABLE_BUTTON_29`|`PB_29`|Programmable button 29| +|`QK_PROGRAMMABLE_BUTTON_30`|`PB_30`|Programmable button 30| +|`QK_PROGRAMMABLE_BUTTON_31`|`PB_31`|Programmable button 31| +|`QK_PROGRAMMABLE_BUTTON_32`|`PB_32`|Programmable button 32| ## Space Cadet :id=space-cadet diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/lalitmaganti/keymap.c b/keyboards/gmmk/pro/rev1/ansi/keymaps/lalitmaganti/keymap.c index bc20d46d3a..46e0a128f9 100644 --- a/keyboards/gmmk/pro/rev1/ansi/keymaps/lalitmaganti/keymap.c +++ b/keyboards/gmmk/pro/rev1/ansi/keymaps/lalitmaganti/keymap.c @@ -17,15 +17,15 @@ along with this program. If not, see . #include QMK_KEYBOARD_H #ifdef PROGRAMMABLE_BUTTON_ENABLE -#define L1_NUM1 PROGRAMMABLE_BUTTON_1 -#define L1_NUM2 PROGRAMMABLE_BUTTON_2 -#define L1_NUM3 PROGRAMMABLE_BUTTON_3 -#define L1_NUM4 PROGRAMMABLE_BUTTON_4 -#define L1_NUM5 PROGRAMMABLE_BUTTON_5 -#define L1_NUM6 PROGRAMMABLE_BUTTON_6 -#define L1_NUM7 PROGRAMMABLE_BUTTON_7 -#define L1_NUM8 PROGRAMMABLE_BUTTON_8 -#define L1_NUM9 PROGRAMMABLE_BUTTON_9 +#define L1_NUM1 QK_PROGRAMMABLE_BUTTON_1 +#define L1_NUM2 QK_PROGRAMMABLE_BUTTON_2 +#define L1_NUM3 QK_PROGRAMMABLE_BUTTON_3 +#define L1_NUM4 QK_PROGRAMMABLE_BUTTON_4 +#define L1_NUM5 QK_PROGRAMMABLE_BUTTON_5 +#define L1_NUM6 QK_PROGRAMMABLE_BUTTON_6 +#define L1_NUM7 QK_PROGRAMMABLE_BUTTON_7 +#define L1_NUM8 QK_PROGRAMMABLE_BUTTON_8 +#define L1_NUM9 QK_PROGRAMMABLE_BUTTON_9 #else #define L1_NUM1 _______ #define L1_NUM2 _______ diff --git a/keyboards/handwired/battleship_gamepad/keymaps/default/keymap.c b/keyboards/handwired/battleship_gamepad/keymaps/default/keymap.c index 4f950a5d62..b59692fec5 100644 --- a/keyboards/handwired/battleship_gamepad/keymaps/default/keymap.c +++ b/keyboards/handwired/battleship_gamepad/keymaps/default/keymap.c @@ -33,9 +33,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, TG(2), KC_TRNS, KC_TRNS), [2] = LAYOUT( - KC_TRNS, KC_TRNS, TG(2), JS_BUTTON0, JS_BUTTON1, JS_BUTTON2, JS_BUTTON3, JS_BUTTON4, - KC_TRNS, KC_TRNS, KC_TRNS, JS_BUTTON5, JS_BUTTON6, JS_BUTTON7, JS_BUTTON8, JS_BUTTON9, - KC_TRNS, KC_TRNS, KC_TRNS, JS_BUTTON10, JS_BUTTON11, JS_BUTTON12, JS_BUTTON13, JS_BUTTON14, - KC_TRNS, KC_TRNS, KC_TRNS, JS_BUTTON15, JS_BUTTON16, JS_BUTTON17, JS_BUTTON18, JS_BUTTON19, - KC_TRNS, KC_TRNS, KC_TRNS, JS_BUTTON20, JS_BUTTON21, JS_BUTTON22, JS_BUTTON23, JS_BUTTON24) + KC_TRNS, KC_TRNS, TG(2), JS_0, JS_1, JS_2, JS_3, JS_4, + KC_TRNS, KC_TRNS, KC_TRNS, JS_5, JS_6, JS_7, JS_8, JS_9, + KC_TRNS, KC_TRNS, KC_TRNS, JS_10, JS_11, JS_12, JS_13, JS_14, + KC_TRNS, KC_TRNS, KC_TRNS, JS_15, JS_16, JS_17, JS_18, JS_19, + KC_TRNS, KC_TRNS, KC_TRNS, JS_20, JS_21, JS_22, JS_23, JS_24) }; diff --git a/keyboards/handwired/misterdeck/keymaps/default/keymap.c b/keyboards/handwired/misterdeck/keymaps/default/keymap.c index b8ed3cb9d9..0992e06f87 100644 --- a/keyboards/handwired/misterdeck/keymaps/default/keymap.c +++ b/keyboards/handwired/misterdeck/keymaps/default/keymap.c @@ -24,7 +24,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [NORMAL_LAYER] = LAYOUT( C(S(KC_F1)), C(S(KC_F2)), C(S(KC_F3)), C(S(KC_F4)), C(S(KC_F5)), C(S(KC_F6)), C(S(KC_F7)), C(S(KC_F8)), - JS_BUTTON0, JS_BUTTON1, JS_BUTTON2, JS_BUTTON3 + JS_0, JS_1, JS_2, JS_3 ) }; diff --git a/keyboards/handwired/onekey/keymaps/joystick/keymap.c b/keyboards/handwired/onekey/keymaps/joystick/keymap.c index c74707e931..96115aa496 100644 --- a/keyboards/handwired/onekey/keymaps/joystick/keymap.c +++ b/keyboards/handwired/onekey/keymaps/joystick/keymap.c @@ -5,7 +5,7 @@ #endif const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - LAYOUT_ortho_1x1(JS_BUTTON0) + LAYOUT_ortho_1x1(JS_0) }; void matrix_scan_user() { diff --git a/keyboards/synthlabs/solo/keymaps/gamepad/keymap.c b/keyboards/synthlabs/solo/keymaps/gamepad/keymap.c index 8da2afc97a..e6f9678fbb 100644 --- a/keyboards/synthlabs/solo/keymaps/gamepad/keymap.c +++ b/keyboards/synthlabs/solo/keymaps/gamepad/keymap.c @@ -5,9 +5,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT_all( - JS_BUTTON0,JS_BUTTON1,JS_BUTTON2,JS_BUTTON3,JS_BUTTON4,JS_BUTTON5,JS_BUTTON6, - KC_NO, JS_BUTTON7, KC_NO, - JS_BUTTON0,JS_BUTTON1,JS_BUTTON2,JS_BUTTON3,JS_BUTTON4,JS_BUTTON5,JS_BUTTON6 + JS_0,JS_1,JS_2,JS_3,JS_4,JS_5,JS_6, + KC_NO, JS_7, KC_NO, + JS_0,JS_1,JS_2,JS_3,JS_4,JS_5,JS_6 ) }; diff --git a/quantum/process_keycode/process_joystick.c b/quantum/process_keycode/process_joystick.c index af69d3aa05..c4c6fb59a8 100644 --- a/quantum/process_keycode/process_joystick.c +++ b/quantum/process_keycode/process_joystick.c @@ -19,11 +19,11 @@ bool process_joystick(uint16_t keycode, keyrecord_t *record) { switch (keycode) { - case JS_BUTTON0 ... JS_BUTTON_MAX: + case QK_JOYSTICK_BUTTON_MIN ... QK_JOYSTICK_BUTTON_MAX: if (record->event.pressed) { - register_joystick_button(keycode - JS_BUTTON0); + register_joystick_button(keycode - QK_JOYSTICK_BUTTON_MIN); } else { - unregister_joystick_button(keycode - JS_BUTTON0); + unregister_joystick_button(keycode - QK_JOYSTICK_BUTTON_MIN); } return false; } diff --git a/quantum/process_keycode/process_programmable_button.c b/quantum/process_keycode/process_programmable_button.c index 6379698848..d6a14e120c 100644 --- a/quantum/process_keycode/process_programmable_button.c +++ b/quantum/process_keycode/process_programmable_button.c @@ -19,8 +19,8 @@ along with this program. If not, see . #include "programmable_button.h" bool process_programmable_button(uint16_t keycode, keyrecord_t *record) { - if (keycode >= PROGRAMMABLE_BUTTON_MIN && keycode <= PROGRAMMABLE_BUTTON_MAX) { - uint8_t button = keycode - PROGRAMMABLE_BUTTON_MIN + 1; + if (keycode >= QK_PROGRAMMABLE_BUTTON_MIN && keycode <= QK_PROGRAMMABLE_BUTTON_MAX) { + uint8_t button = keycode - QK_PROGRAMMABLE_BUTTON_MIN + 1; if (record->event.pressed) { programmable_button_register(button); } else { diff --git a/quantum/quantum_keycodes.h b/quantum/quantum_keycodes.h index 44702a362d..ac3968895b 100644 --- a/quantum/quantum_keycodes.h +++ b/quantum/quantum_keycodes.h @@ -431,38 +431,38 @@ enum quantum_keycodes { DYN_MACRO_PLAY2, // 5D08 // Joystick - JS_BUTTON0, // 5D09 - JS_BUTTON1, // 5D0A - JS_BUTTON2, // 5D0B - JS_BUTTON3, // 5D0C - JS_BUTTON4, // 5D0D - JS_BUTTON5, // 5D0E - JS_BUTTON6, // 5D0F - JS_BUTTON7, // 5D10 - JS_BUTTON8, // 5D11 - JS_BUTTON9, // 5D12 - JS_BUTTON10, // 5D13 - JS_BUTTON11, // 5D14 - JS_BUTTON12, // 5D15 - JS_BUTTON13, // 5D16 - JS_BUTTON14, // 5D17 - JS_BUTTON15, // 5D18 - JS_BUTTON16, // 5D19 - JS_BUTTON17, // 5D1A - JS_BUTTON18, // 5D1B - JS_BUTTON19, // 5D1C - JS_BUTTON20, // 5D1D - JS_BUTTON21, // 5D1E - JS_BUTTON22, // 5D1F - JS_BUTTON23, // 5D20 - JS_BUTTON24, // 5D21 - JS_BUTTON25, // 5D22 - JS_BUTTON26, // 5D23 - JS_BUTTON27, // 5D24 - JS_BUTTON28, // 5D25 - JS_BUTTON29, // 5D26 - JS_BUTTON30, // 5D27 - JS_BUTTON31, // 5D28 + QK_JOYSTICK_BUTTON_0, // 5D09 + QK_JOYSTICK_BUTTON_1, // 5D0A + QK_JOYSTICK_BUTTON_2, // 5D0B + QK_JOYSTICK_BUTTON_3, // 5D0C + QK_JOYSTICK_BUTTON_4, // 5D0D + QK_JOYSTICK_BUTTON_5, // 5D0E + QK_JOYSTICK_BUTTON_6, // 5D0F + QK_JOYSTICK_BUTTON_7, // 5D10 + QK_JOYSTICK_BUTTON_8, // 5D11 + QK_JOYSTICK_BUTTON_9, // 5D12 + QK_JOYSTICK_BUTTON_10, // 5D13 + QK_JOYSTICK_BUTTON_11, // 5D14 + QK_JOYSTICK_BUTTON_12, // 5D15 + QK_JOYSTICK_BUTTON_13, // 5D16 + QK_JOYSTICK_BUTTON_14, // 5D17 + QK_JOYSTICK_BUTTON_15, // 5D18 + QK_JOYSTICK_BUTTON_16, // 5D19 + QK_JOYSTICK_BUTTON_17, // 5D1A + QK_JOYSTICK_BUTTON_18, // 5D1B + QK_JOYSTICK_BUTTON_19, // 5D1C + QK_JOYSTICK_BUTTON_20, // 5D1D + QK_JOYSTICK_BUTTON_21, // 5D1E + QK_JOYSTICK_BUTTON_22, // 5D1F + QK_JOYSTICK_BUTTON_23, // 5D20 + QK_JOYSTICK_BUTTON_24, // 5D21 + QK_JOYSTICK_BUTTON_25, // 5D22 + QK_JOYSTICK_BUTTON_26, // 5D23 + QK_JOYSTICK_BUTTON_27, // 5D24 + QK_JOYSTICK_BUTTON_28, // 5D25 + QK_JOYSTICK_BUTTON_29, // 5D26 + QK_JOYSTICK_BUTTON_30, // 5D27 + QK_JOYSTICK_BUTTON_31, // 5D28 // Leader Key QK_LEADER, // 5D29 @@ -526,38 +526,38 @@ enum quantum_keycodes { DT_DOWN, // Programmable Button - PROGRAMMABLE_BUTTON_1, - PROGRAMMABLE_BUTTON_2, - PROGRAMMABLE_BUTTON_3, - PROGRAMMABLE_BUTTON_4, - PROGRAMMABLE_BUTTON_5, - PROGRAMMABLE_BUTTON_6, - PROGRAMMABLE_BUTTON_7, - PROGRAMMABLE_BUTTON_8, - PROGRAMMABLE_BUTTON_9, - PROGRAMMABLE_BUTTON_10, - PROGRAMMABLE_BUTTON_11, - PROGRAMMABLE_BUTTON_12, - PROGRAMMABLE_BUTTON_13, - PROGRAMMABLE_BUTTON_14, - PROGRAMMABLE_BUTTON_15, - PROGRAMMABLE_BUTTON_16, - PROGRAMMABLE_BUTTON_17, - PROGRAMMABLE_BUTTON_18, - PROGRAMMABLE_BUTTON_19, - PROGRAMMABLE_BUTTON_20, - PROGRAMMABLE_BUTTON_21, - PROGRAMMABLE_BUTTON_22, - PROGRAMMABLE_BUTTON_23, - PROGRAMMABLE_BUTTON_24, - PROGRAMMABLE_BUTTON_25, - PROGRAMMABLE_BUTTON_26, - PROGRAMMABLE_BUTTON_27, - PROGRAMMABLE_BUTTON_28, - PROGRAMMABLE_BUTTON_29, - PROGRAMMABLE_BUTTON_30, - PROGRAMMABLE_BUTTON_31, - PROGRAMMABLE_BUTTON_32, + QK_PROGRAMMABLE_BUTTON_1, + QK_PROGRAMMABLE_BUTTON_2, + QK_PROGRAMMABLE_BUTTON_3, + QK_PROGRAMMABLE_BUTTON_4, + QK_PROGRAMMABLE_BUTTON_5, + QK_PROGRAMMABLE_BUTTON_6, + QK_PROGRAMMABLE_BUTTON_7, + QK_PROGRAMMABLE_BUTTON_8, + QK_PROGRAMMABLE_BUTTON_9, + QK_PROGRAMMABLE_BUTTON_10, + QK_PROGRAMMABLE_BUTTON_11, + QK_PROGRAMMABLE_BUTTON_12, + QK_PROGRAMMABLE_BUTTON_13, + QK_PROGRAMMABLE_BUTTON_14, + QK_PROGRAMMABLE_BUTTON_15, + QK_PROGRAMMABLE_BUTTON_16, + QK_PROGRAMMABLE_BUTTON_17, + QK_PROGRAMMABLE_BUTTON_18, + QK_PROGRAMMABLE_BUTTON_19, + QK_PROGRAMMABLE_BUTTON_20, + QK_PROGRAMMABLE_BUTTON_21, + QK_PROGRAMMABLE_BUTTON_22, + QK_PROGRAMMABLE_BUTTON_23, + QK_PROGRAMMABLE_BUTTON_24, + QK_PROGRAMMABLE_BUTTON_25, + QK_PROGRAMMABLE_BUTTON_26, + QK_PROGRAMMABLE_BUTTON_27, + QK_PROGRAMMABLE_BUTTON_28, + QK_PROGRAMMABLE_BUTTON_29, + QK_PROGRAMMABLE_BUTTON_30, + QK_PROGRAMMABLE_BUTTON_31, + QK_PROGRAMMABLE_BUTTON_32, // Dedicated macro keys for Configurator and VIA MACRO_0, @@ -876,8 +876,40 @@ enum quantum_keycodes { #define DM_PLY2 DYN_MACRO_PLAY2 // Joystick aliases -#define JS_BUTTON_MIN JS_BUTTON0 -#define JS_BUTTON_MAX JS_BUTTON31 +#define JS_0 QK_JOYSTICK_BUTTON_0 +#define JS_1 QK_JOYSTICK_BUTTON_1 +#define JS_2 QK_JOYSTICK_BUTTON_2 +#define JS_3 QK_JOYSTICK_BUTTON_3 +#define JS_4 QK_JOYSTICK_BUTTON_4 +#define JS_5 QK_JOYSTICK_BUTTON_5 +#define JS_6 QK_JOYSTICK_BUTTON_6 +#define JS_7 QK_JOYSTICK_BUTTON_7 +#define JS_8 QK_JOYSTICK_BUTTON_8 +#define JS_9 QK_JOYSTICK_BUTTON_9 +#define JS_10 QK_JOYSTICK_BUTTON_10 +#define JS_11 QK_JOYSTICK_BUTTON_11 +#define JS_12 QK_JOYSTICK_BUTTON_12 +#define JS_13 QK_JOYSTICK_BUTTON_13 +#define JS_14 QK_JOYSTICK_BUTTON_14 +#define JS_15 QK_JOYSTICK_BUTTON_15 +#define JS_16 QK_JOYSTICK_BUTTON_16 +#define JS_17 QK_JOYSTICK_BUTTON_17 +#define JS_18 QK_JOYSTICK_BUTTON_18 +#define JS_19 QK_JOYSTICK_BUTTON_19 +#define JS_20 QK_JOYSTICK_BUTTON_20 +#define JS_21 QK_JOYSTICK_BUTTON_21 +#define JS_22 QK_JOYSTICK_BUTTON_22 +#define JS_23 QK_JOYSTICK_BUTTON_23 +#define JS_24 QK_JOYSTICK_BUTTON_24 +#define JS_25 QK_JOYSTICK_BUTTON_25 +#define JS_26 QK_JOYSTICK_BUTTON_26 +#define JS_27 QK_JOYSTICK_BUTTON_27 +#define JS_28 QK_JOYSTICK_BUTTON_28 +#define JS_29 QK_JOYSTICK_BUTTON_29 +#define JS_30 QK_JOYSTICK_BUTTON_30 +#define JS_31 QK_JOYSTICK_BUTTON_31 +#define QK_JOYSTICK_BUTTON_MIN QK_JOYSTICK_BUTTON_0 +#define QK_JOYSTICK_BUTTON_MAX QK_JOYSTICK_BUTTON_31 // One Shot aliases #define OS_TOGG ONESHOT_TOGGLE @@ -885,40 +917,41 @@ enum quantum_keycodes { #define OS_OFF ONESHOT_DISABLE // Programmable Button aliases -#define PB_1 PROGRAMMABLE_BUTTON_1 -#define PB_2 PROGRAMMABLE_BUTTON_2 -#define PB_3 PROGRAMMABLE_BUTTON_3 -#define PB_4 PROGRAMMABLE_BUTTON_4 -#define PB_5 PROGRAMMABLE_BUTTON_5 -#define PB_6 PROGRAMMABLE_BUTTON_6 -#define PB_7 PROGRAMMABLE_BUTTON_7 -#define PB_8 PROGRAMMABLE_BUTTON_8 -#define PB_9 PROGRAMMABLE_BUTTON_9 -#define PB_10 PROGRAMMABLE_BUTTON_10 -#define PB_11 PROGRAMMABLE_BUTTON_11 -#define PB_12 PROGRAMMABLE_BUTTON_12 -#define PB_13 PROGRAMMABLE_BUTTON_13 -#define PB_14 PROGRAMMABLE_BUTTON_14 -#define PB_15 PROGRAMMABLE_BUTTON_15 -#define PB_16 PROGRAMMABLE_BUTTON_16 -#define PB_17 PROGRAMMABLE_BUTTON_17 -#define PB_18 PROGRAMMABLE_BUTTON_18 -#define PB_19 PROGRAMMABLE_BUTTON_19 -#define PB_20 PROGRAMMABLE_BUTTON_20 -#define PB_21 PROGRAMMABLE_BUTTON_21 -#define PB_22 PROGRAMMABLE_BUTTON_22 -#define PB_23 PROGRAMMABLE_BUTTON_23 -#define PB_24 PROGRAMMABLE_BUTTON_24 -#define PB_25 PROGRAMMABLE_BUTTON_25 -#define PB_26 PROGRAMMABLE_BUTTON_26 -#define PB_27 PROGRAMMABLE_BUTTON_27 -#define PB_28 PROGRAMMABLE_BUTTON_28 -#define PB_29 PROGRAMMABLE_BUTTON_29 -#define PB_30 PROGRAMMABLE_BUTTON_30 -#define PB_31 PROGRAMMABLE_BUTTON_31 -#define PB_32 PROGRAMMABLE_BUTTON_32 -#define PROGRAMMABLE_BUTTON_MIN PROGRAMMABLE_BUTTON_1 -#define PROGRAMMABLE_BUTTON_MAX PROGRAMMABLE_BUTTON_32 +#define PB_1 QK_PROGRAMMABLE_BUTTON_1 +#define PB_2 QK_PROGRAMMABLE_BUTTON_2 +#define PB_3 QK_PROGRAMMABLE_BUTTON_3 +#define PB_4 QK_PROGRAMMABLE_BUTTON_4 +#define PB_5 QK_PROGRAMMABLE_BUTTON_5 +#define PB_6 QK_PROGRAMMABLE_BUTTON_6 +#define PB_7 QK_PROGRAMMABLE_BUTTON_7 +#define PB_8 QK_PROGRAMMABLE_BUTTON_8 +#define PB_9 QK_PROGRAMMABLE_BUTTON_9 +#define PB_10 QK_PROGRAMMABLE_BUTTON_10 +#define PB_11 QK_PROGRAMMABLE_BUTTON_11 +#define PB_12 QK_PROGRAMMABLE_BUTTON_12 +#define PB_13 QK_PROGRAMMABLE_BUTTON_13 +#define PB_14 QK_PROGRAMMABLE_BUTTON_14 +#define PB_15 QK_PROGRAMMABLE_BUTTON_15 +#define PB_16 QK_PROGRAMMABLE_BUTTON_16 +#define PB_17 QK_PROGRAMMABLE_BUTTON_17 +#define PB_18 QK_PROGRAMMABLE_BUTTON_18 +#define PB_19 QK_PROGRAMMABLE_BUTTON_19 +#define PB_20 QK_PROGRAMMABLE_BUTTON_20 +#define PB_21 QK_PROGRAMMABLE_BUTTON_21 +#define PB_22 QK_PROGRAMMABLE_BUTTON_22 +#define PB_23 QK_PROGRAMMABLE_BUTTON_23 +#define PB_24 QK_PROGRAMMABLE_BUTTON_24 +#define PB_25 QK_PROGRAMMABLE_BUTTON_25 +#define PB_26 QK_PROGRAMMABLE_BUTTON_26 +#define PB_27 QK_PROGRAMMABLE_BUTTON_27 +#define PB_28 QK_PROGRAMMABLE_BUTTON_28 +#define PB_29 QK_PROGRAMMABLE_BUTTON_29 +#define PB_30 QK_PROGRAMMABLE_BUTTON_30 +#define PB_31 QK_PROGRAMMABLE_BUTTON_31 +#define PB_32 QK_PROGRAMMABLE_BUTTON_32 +#define QK_PROGRAMMABLE_BUTTON_MIN QK_PROGRAMMABLE_BUTTON_1 +#define QK_PROGRAMMABLE_BUTTON_MAX QK_PROGRAMMABLE_BUTTON_32 + #define CAPSWRD CAPS_WORD #include "quantum_keycodes_legacy.h" diff --git a/quantum/quantum_keycodes_legacy.h b/quantum/quantum_keycodes_legacy.h index db13d5973d..bab34025cf 100644 --- a/quantum/quantum_keycodes_legacy.h +++ b/quantum/quantum_keycodes_legacy.h @@ -8,6 +8,72 @@ #define VLK_TOG QK_VELOCIKEY_TOGGLE +#define PROGRAMMABLE_BUTTON_1 QK_PROGRAMMABLE_BUTTON_1 +#define PROGRAMMABLE_BUTTON_2 QK_PROGRAMMABLE_BUTTON_2 +#define PROGRAMMABLE_BUTTON_3 QK_PROGRAMMABLE_BUTTON_3 +#define PROGRAMMABLE_BUTTON_4 QK_PROGRAMMABLE_BUTTON_4 +#define PROGRAMMABLE_BUTTON_5 QK_PROGRAMMABLE_BUTTON_5 +#define PROGRAMMABLE_BUTTON_6 QK_PROGRAMMABLE_BUTTON_6 +#define PROGRAMMABLE_BUTTON_7 QK_PROGRAMMABLE_BUTTON_7 +#define PROGRAMMABLE_BUTTON_8 QK_PROGRAMMABLE_BUTTON_8 +#define PROGRAMMABLE_BUTTON_9 QK_PROGRAMMABLE_BUTTON_9 +#define PROGRAMMABLE_BUTTON_10 QK_PROGRAMMABLE_BUTTON_10 +#define PROGRAMMABLE_BUTTON_11 QK_PROGRAMMABLE_BUTTON_11 +#define PROGRAMMABLE_BUTTON_12 QK_PROGRAMMABLE_BUTTON_12 +#define PROGRAMMABLE_BUTTON_13 QK_PROGRAMMABLE_BUTTON_13 +#define PROGRAMMABLE_BUTTON_14 QK_PROGRAMMABLE_BUTTON_14 +#define PROGRAMMABLE_BUTTON_15 QK_PROGRAMMABLE_BUTTON_15 +#define PROGRAMMABLE_BUTTON_16 QK_PROGRAMMABLE_BUTTON_16 +#define PROGRAMMABLE_BUTTON_17 QK_PROGRAMMABLE_BUTTON_17 +#define PROGRAMMABLE_BUTTON_18 QK_PROGRAMMABLE_BUTTON_18 +#define PROGRAMMABLE_BUTTON_19 QK_PROGRAMMABLE_BUTTON_19 +#define PROGRAMMABLE_BUTTON_20 QK_PROGRAMMABLE_BUTTON_20 +#define PROGRAMMABLE_BUTTON_21 QK_PROGRAMMABLE_BUTTON_21 +#define PROGRAMMABLE_BUTTON_22 QK_PROGRAMMABLE_BUTTON_22 +#define PROGRAMMABLE_BUTTON_23 QK_PROGRAMMABLE_BUTTON_23 +#define PROGRAMMABLE_BUTTON_24 QK_PROGRAMMABLE_BUTTON_24 +#define PROGRAMMABLE_BUTTON_25 QK_PROGRAMMABLE_BUTTON_25 +#define PROGRAMMABLE_BUTTON_26 QK_PROGRAMMABLE_BUTTON_26 +#define PROGRAMMABLE_BUTTON_27 QK_PROGRAMMABLE_BUTTON_27 +#define PROGRAMMABLE_BUTTON_28 QK_PROGRAMMABLE_BUTTON_28 +#define PROGRAMMABLE_BUTTON_29 QK_PROGRAMMABLE_BUTTON_29 +#define PROGRAMMABLE_BUTTON_30 QK_PROGRAMMABLE_BUTTON_30 +#define PROGRAMMABLE_BUTTON_31 QK_PROGRAMMABLE_BUTTON_31 +#define PROGRAMMABLE_BUTTON_32 QK_PROGRAMMABLE_BUTTON_32 + +#define JS_BUTTON0 QK_JOYSTICK_BUTTON_0 +#define JS_BUTTON1 QK_JOYSTICK_BUTTON_1 +#define JS_BUTTON2 QK_JOYSTICK_BUTTON_2 +#define JS_BUTTON3 QK_JOYSTICK_BUTTON_3 +#define JS_BUTTON4 QK_JOYSTICK_BUTTON_4 +#define JS_BUTTON5 QK_JOYSTICK_BUTTON_5 +#define JS_BUTTON6 QK_JOYSTICK_BUTTON_6 +#define JS_BUTTON7 QK_JOYSTICK_BUTTON_7 +#define JS_BUTTON8 QK_JOYSTICK_BUTTON_8 +#define JS_BUTTON9 QK_JOYSTICK_BUTTON_9 +#define JS_BUTTON10 QK_JOYSTICK_BUTTON_10 +#define JS_BUTTON11 QK_JOYSTICK_BUTTON_11 +#define JS_BUTTON12 QK_JOYSTICK_BUTTON_12 +#define JS_BUTTON13 QK_JOYSTICK_BUTTON_13 +#define JS_BUTTON14 QK_JOYSTICK_BUTTON_14 +#define JS_BUTTON15 QK_JOYSTICK_BUTTON_15 +#define JS_BUTTON16 QK_JOYSTICK_BUTTON_16 +#define JS_BUTTON17 QK_JOYSTICK_BUTTON_17 +#define JS_BUTTON18 QK_JOYSTICK_BUTTON_18 +#define JS_BUTTON19 QK_JOYSTICK_BUTTON_19 +#define JS_BUTTON20 QK_JOYSTICK_BUTTON_20 +#define JS_BUTTON21 QK_JOYSTICK_BUTTON_21 +#define JS_BUTTON22 QK_JOYSTICK_BUTTON_22 +#define JS_BUTTON23 QK_JOYSTICK_BUTTON_23 +#define JS_BUTTON24 QK_JOYSTICK_BUTTON_24 +#define JS_BUTTON25 QK_JOYSTICK_BUTTON_25 +#define JS_BUTTON26 QK_JOYSTICK_BUTTON_26 +#define JS_BUTTON27 QK_JOYSTICK_BUTTON_27 +#define JS_BUTTON28 QK_JOYSTICK_BUTTON_28 +#define JS_BUTTON29 QK_JOYSTICK_BUTTON_29 +#define JS_BUTTON30 QK_JOYSTICK_BUTTON_30 +#define JS_BUTTON31 QK_JOYSTICK_BUTTON_31 + #define TERM_ON _Static_assert(false, "The Terminal feature has been removed from QMK. Please remove use of TERM_ON/TERM_OFF from your keymap.") #define TERM_OFF _Static_assert(false, "The Terminal feature has been removed from QMK.. Please remove use of TERM_ON/TERM_OFF from your keymap.") // #define RESET _Static_assert(false, "The RESET keycode has been removed from QMK.. Please remove use from your keymap.")