aboutsummaryrefslogtreecommitdiff
path: root/quantum/process_keycode
diff options
context:
space:
mode:
authorRyan <fauxpark@gmail.com>2022-01-26 00:40:55 +1100
committerGitHub <noreply@github.com>2022-01-25 13:40:55 +0000
commit3e0ee6fb74e125d14ac22c922d80def4649f6784 (patch)
treee661406000f2d0059d5983904462f515b15ed58c /quantum/process_keycode
parent6cc4e32e61a275a624061fd9be643973476cad9c (diff)
downloadqmk_firmware-3e0ee6fb74e125d14ac22c922d80def4649f6784.tar.gz
qmk_firmware-3e0ee6fb74e125d14ac22c922d80def4649f6784.zip
Fix joystick button off-by-one error (#16037)
Diffstat (limited to 'quantum/process_keycode')
-rw-r--r--quantum/process_keycode/process_joystick.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/quantum/process_keycode/process_joystick.c b/quantum/process_keycode/process_joystick.c
index 3ffaf42bf..fa9c2c1db 100644
--- a/quantum/process_keycode/process_joystick.c
+++ b/quantum/process_keycode/process_joystick.c
@@ -28,10 +28,11 @@ bool process_joystick_buttons(uint16_t keycode, keyrecord_t *record) {
28 if (keycode < JS_BUTTON0 || keycode > JS_BUTTON_MAX) { 28 if (keycode < JS_BUTTON0 || keycode > JS_BUTTON_MAX) {
29 return true; 29 return true;
30 } else { 30 } else {
31 uint8_t button_idx = (keycode - JS_BUTTON0);
31 if (record->event.pressed) { 32 if (record->event.pressed) {
32 joystick_status.buttons[(keycode - JS_BUTTON0) / 8] |= 1 << (keycode % 8); 33 joystick_status.buttons[button_idx / 8] |= 1 << (button_idx % 8);
33 } else { 34 } else {
34 joystick_status.buttons[(keycode - JS_BUTTON0) / 8] &= ~(1 << (keycode % 8)); 35 joystick_status.buttons[button_idx / 8] &= ~(1 << (button_idx % 8));
35 } 36 }
36 37
37 joystick_status.status |= JS_UPDATED; 38 joystick_status.status |= JS_UPDATED;