@@ 28,10 28,11 @@ bool process_joystick_buttons(uint16_t keycode, keyrecord_t *record) {
if (keycode < JS_BUTTON0 || keycode > JS_BUTTON_MAX) {
return true;
} else {
+ uint8_t button_idx = (keycode - JS_BUTTON0);
if (record->event.pressed) {
- joystick_status.buttons[(keycode - JS_BUTTON0) / 8] |= 1 << (keycode % 8);
+ joystick_status.buttons[button_idx / 8] |= 1 << (button_idx % 8);
} else {
- joystick_status.buttons[(keycode - JS_BUTTON0) / 8] &= ~(1 << (keycode % 8));
+ joystick_status.buttons[button_idx / 8] &= ~(1 << (button_idx % 8));
}
joystick_status.status |= JS_UPDATED;