diff --git a/docs/feature_joystick.md b/docs/feature_joystick.md
index a82192bfe11..a5e4921f9b4 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 1982b8295e8..43a9e7fc160 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 5565e0c22c7..239f28833aa 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 bc20d46d3a4..46e0a128f95 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 4f950a5d628..b59692fec53 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 b8ed3cb9d92..0992e06f870 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 c74707e931d..96115aa496d 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 8da2afc97aa..e6f9678fbbf 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 af69d3aa05b..c4c6fb59a87 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 6379698848f..d6a14e120c0 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 44702a362d3..ac3968895b0 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 db13d5973d3..bab34025cfc 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.")