Add support for 8 buttons to mouse report (#10807)
* Add support for 8 buttons to mouse report This includes support for 8 buttons in mousekeys. However, this does move the keys around due to the fact that the last mousekey keycode is already 0xFF, so any past that would not work with register_code and the like, breaking them for tap hold keys, encoders, and other features. * Update mouse key docs * Add changes based on feedback * Fix VUSB report size comment Because drashna red gud * Fix typo in action.c * Fix IS_MOUSE_BUTTON check * Change start range for mousekeys so that the end is 0xFF properly * condense mousekeys check
This commit is contained in:
@ -278,16 +278,8 @@ void mousekey_on(uint8_t code) {
|
||||
mouse_report.h = wheel_unit() * -1;
|
||||
else if (code == KC_MS_WH_RIGHT)
|
||||
mouse_report.h = wheel_unit();
|
||||
else if (code == KC_MS_BTN1)
|
||||
mouse_report.buttons |= MOUSE_BTN1;
|
||||
else if (code == KC_MS_BTN2)
|
||||
mouse_report.buttons |= MOUSE_BTN2;
|
||||
else if (code == KC_MS_BTN3)
|
||||
mouse_report.buttons |= MOUSE_BTN3;
|
||||
else if (code == KC_MS_BTN4)
|
||||
mouse_report.buttons |= MOUSE_BTN4;
|
||||
else if (code == KC_MS_BTN5)
|
||||
mouse_report.buttons |= MOUSE_BTN5;
|
||||
else if (IS_MOUSEKEY_BUTTON(code))
|
||||
mouse_report.buttons |= 1 << (code - KC_MS_BTN1);
|
||||
else if (code == KC_MS_ACCEL0)
|
||||
mousekey_accel |= (1 << 0);
|
||||
else if (code == KC_MS_ACCEL1)
|
||||
@ -313,16 +305,8 @@ void mousekey_off(uint8_t code) {
|
||||
mouse_report.h = 0;
|
||||
else if (code == KC_MS_WH_RIGHT && mouse_report.h > 0)
|
||||
mouse_report.h = 0;
|
||||
else if (code == KC_MS_BTN1)
|
||||
mouse_report.buttons &= ~MOUSE_BTN1;
|
||||
else if (code == KC_MS_BTN2)
|
||||
mouse_report.buttons &= ~MOUSE_BTN2;
|
||||
else if (code == KC_MS_BTN3)
|
||||
mouse_report.buttons &= ~MOUSE_BTN3;
|
||||
else if (code == KC_MS_BTN4)
|
||||
mouse_report.buttons &= ~MOUSE_BTN4;
|
||||
else if (code == KC_MS_BTN5)
|
||||
mouse_report.buttons &= ~MOUSE_BTN5;
|
||||
else if (IS_MOUSEKEY_BUTTON(code))
|
||||
mouse_report.buttons &= ~(1 << (code - KC_MS_BTN1));
|
||||
else if (code == KC_MS_ACCEL0)
|
||||
mousekey_accel &= ~(1 << 0);
|
||||
else if (code == KC_MS_ACCEL1)
|
||||
@ -423,16 +407,8 @@ void mousekey_on(uint8_t code) {
|
||||
mouse_report.h = w_offset * -1;
|
||||
else if (code == KC_MS_WH_RIGHT)
|
||||
mouse_report.h = w_offset;
|
||||
else if (code == KC_MS_BTN1)
|
||||
mouse_report.buttons |= MOUSE_BTN1;
|
||||
else if (code == KC_MS_BTN2)
|
||||
mouse_report.buttons |= MOUSE_BTN2;
|
||||
else if (code == KC_MS_BTN3)
|
||||
mouse_report.buttons |= MOUSE_BTN3;
|
||||
else if (code == KC_MS_BTN4)
|
||||
mouse_report.buttons |= MOUSE_BTN4;
|
||||
else if (code == KC_MS_BTN5)
|
||||
mouse_report.buttons |= MOUSE_BTN5;
|
||||
else if (IS_MOUSEKEY_BUTTON(code))
|
||||
mouse_report.buttons |= 1 << (code - KC_MS_BTN1);
|
||||
else if (code == KC_MS_ACCEL0)
|
||||
mk_speed = mkspd_0;
|
||||
else if (code == KC_MS_ACCEL1)
|
||||
@ -462,16 +438,8 @@ void mousekey_off(uint8_t code) {
|
||||
mouse_report.h = 0;
|
||||
else if (code == KC_MS_WH_RIGHT && mouse_report.h > 0)
|
||||
mouse_report.h = 0;
|
||||
else if (code == KC_MS_BTN1)
|
||||
mouse_report.buttons &= ~MOUSE_BTN1;
|
||||
else if (code == KC_MS_BTN2)
|
||||
mouse_report.buttons &= ~MOUSE_BTN2;
|
||||
else if (code == KC_MS_BTN3)
|
||||
mouse_report.buttons &= ~MOUSE_BTN3;
|
||||
else if (code == KC_MS_BTN4)
|
||||
mouse_report.buttons &= ~MOUSE_BTN4;
|
||||
else if (code == KC_MS_BTN5)
|
||||
mouse_report.buttons &= ~MOUSE_BTN5;
|
||||
else if (IS_MOUSEKEY_BUTTON(code))
|
||||
mouse_report.buttons &= ~(1 << (code - KC_MS_BTN1));
|
||||
# ifdef MK_MOMENTARY_ACCEL
|
||||
else if (code == KC_MS_ACCEL0)
|
||||
mk_speed = mkspd_DEFAULT;
|
||||
|
Reference in New Issue
Block a user