Handle super scroll

virtual-keyboard-mouse
nirenjan 2026-03-26 13:27:53 -07:00
parent 8f010b7258
commit 6ed2dce1b8
3 changed files with 28 additions and 18 deletions

View File

@ -54,8 +54,18 @@ static int report_wheel(void)
int wheel = 0;
bool scroll_up = new_report.button[LIBX52IO_BTN_MOUSE_SCROLL_UP];
bool scroll_dn = new_report.button[LIBX52IO_BTN_MOUSE_SCROLL_DN];
bool old_scroll_up = old_report.button[LIBX52IO_BTN_MOUSE_SCROLL_UP];
bool old_scroll_dn = old_report.button[LIBX52IO_BTN_MOUSE_SCROLL_DN];
vkm_mouse_scroll_direction dir;
/*
* Handle multiple scroll button presses in sequence. This happens if a
* hardware axis is very noisy and the firmware sends a sequence of reports
* with button down, even though this is technically a momentary button.
*/
scroll_up = (scroll_up ^ old_scroll_up) & scroll_up;
scroll_dn = (scroll_dn ^ old_scroll_dn) & scroll_dn;
if (scroll_up) {
// Scroll up event
wheel = 1 * mouse_scroll_dir;

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: libx52 0.3.3\n"
"Report-Msgid-Bugs-To: https://github.com/nirenjan/libx52/issues\n"
"POT-Creation-Date: 2026-03-26 13:09-0700\n"
"POT-Creation-Date: 2026-03-26 13:27-0700\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -861,38 +861,38 @@ msgstr ""
msgid "Error writing mouse button event (button %d, state %d)"
msgstr ""
#: daemon/x52d_mouse_handler.c:71
#: daemon/x52d_mouse_handler.c:81
#, c-format
msgid "Error writing mouse wheel event %d"
msgstr ""
#: daemon/x52d_mouse_handler.c:110
#: daemon/x52d_mouse_handler.c:120
#, c-format
msgid "Error writing mouse axis event (dx %d, dy %d)"
msgstr ""
#: daemon/x52d_mouse_handler.c:122
#: daemon/x52d_mouse_handler.c:132
msgid "Error writing mouse sync event"
msgstr ""
#: daemon/x52d_mouse_handler.c:141
#: daemon/x52d_mouse_handler.c:151
msgid "Starting X52 virtual mouse driver thread"
msgstr ""
#: daemon/x52d_mouse_handler.c:160
#: daemon/x52d_mouse_handler.c:170
#, c-format
msgid "Error %d initializing mouse thread: %s"
msgstr ""
#: daemon/x52d_mouse_handler.c:167
#: daemon/x52d_mouse_handler.c:177
msgid "Shutting down X52 virtual mouse driver thread"
msgstr ""
#: daemon/x52d_mouse_handler.c:174
#: daemon/x52d_mouse_handler.c:184
msgid "Virtual mouse not created. Ignoring thread state change"
msgstr ""
#: daemon/x52d_mouse_handler.c:226 daemon/x52d_mouse_handler.c:234
#: daemon/x52d_mouse_handler.c:236 daemon/x52d_mouse_handler.c:244
#, c-format
msgid "Error %d creating X52 virtual mouse"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: libx52 0.2.3\n"
"Report-Msgid-Bugs-To: https://github.com/nirenjan/libx52/issues\n"
"POT-Creation-Date: 2026-03-26 13:09-0700\n"
"POT-Creation-Date: 2026-03-26 13:27-0700\n"
"PO-Revision-Date: 2026-03-19 23:21-0700\n"
"Last-Translator: Nirenjan Krishnan <nirenjan@gmail.com>\n"
"Language-Team: Dummy Language for testing i18n\n"
@ -914,38 +914,38 @@ msgstr "Ettingsay ousemay everseray ollscray otay %s"
msgid "Error writing mouse button event (button %d, state %d)"
msgstr "Erroray itingwray ousemay uttonbay eventay (uttonbay %d, atestay %d)"
#: daemon/x52d_mouse_handler.c:71
#: daemon/x52d_mouse_handler.c:81
#, c-format
msgid "Error writing mouse wheel event %d"
msgstr "Erroray itingwray ousemay eelwhay eventay %d"
#: daemon/x52d_mouse_handler.c:110
#: daemon/x52d_mouse_handler.c:120
#, c-format
msgid "Error writing mouse axis event (dx %d, dy %d)"
msgstr "Erroray itingwray ousemay axisay eventay (xday %d, yday %d)"
#: daemon/x52d_mouse_handler.c:122
#: daemon/x52d_mouse_handler.c:132
msgid "Error writing mouse sync event"
msgstr "Erroray itingwray ousemay yncsay eventay"
#: daemon/x52d_mouse_handler.c:141
#: daemon/x52d_mouse_handler.c:151
msgid "Starting X52 virtual mouse driver thread"
msgstr "Artingstay X52 irtualvay ousemay iverdray eadthray"
#: daemon/x52d_mouse_handler.c:160
#: daemon/x52d_mouse_handler.c:170
#, c-format
msgid "Error %d initializing mouse thread: %s"
msgstr "Erroray %d initializingay ousemay eadthray: %s"
#: daemon/x52d_mouse_handler.c:167
#: daemon/x52d_mouse_handler.c:177
msgid "Shutting down X52 virtual mouse driver thread"
msgstr "Uttingshay ownday X52 irtualvay ousemay iverdray eadthray"
#: daemon/x52d_mouse_handler.c:174
#: daemon/x52d_mouse_handler.c:184
msgid "Virtual mouse not created. Ignoring thread state change"
msgstr "Irtualvay ousemay otnay eatedcray. Ignoringa eadthray atestay angechay"
#: daemon/x52d_mouse_handler.c:226 daemon/x52d_mouse_handler.c:234
#: daemon/x52d_mouse_handler.c:236 daemon/x52d_mouse_handler.c:244
#, c-format
msgid "Error %d creating X52 virtual mouse"
msgstr "Erroray %d eatingcray X52 irtualvay ousemay"