htrefil / rkvm

Virtual KVM switch for Linux machines
MIT License
386 stars 50 forks source link

Issue with advanced keyboard - Ultimate Hacking Keyboard Modules #61

Open mohitt opened 4 months ago

mohitt commented 4 months ago

Hi,

I use an ultimate hacking keyboard with a trackball module. https://ultimatehackingkeyboard.com/

Now, on my client the keyboard works. But, my trackball doesn't. I opened an issue with the firmware team. https://github.com/UltimateHackingKeyboard/firmware/issues/760

What they are saying is USB HID report parser, we might have to fix. I can help if we can get this fixed.

Regards Mo

mohitt commented 3 months ago

@htrefil can someone please help me here ?

htrefil commented 3 months ago

On the server machine (that is the one which is physically connected to the trackball), run evtest, find and select the trackball device, then wiggle it a little to get a sample of the events it's supposed to output, and paste the output here.

It's possible that rkvm doesn't understand events from it or is missing some device configuration when creating the virtual device on the client.

mohitt commented 3 months ago

evetest showed me multiple devices with the same name 10, 16, 27, 28,29, 31, 262

List of devices.

No device specified, trying to scan all of /dev/input/event*
Not running as root, no devices may be available.
Available devices:
/dev/input/event0:      Lid Switch
/dev/input/event1:      Power Button
/dev/input/event10:     Ultimate Gadget Laboratories UHK 60 v2
/dev/input/event11:     Intel HID 5 button array
/dev/input/event12:     DELL0A5D:00 04F3:311C Mouse
/dev/input/event13:     Dell Privacy Driver
/dev/input/event14:     DELL0A5D:00 04F3:311C Touchpad
/dev/input/event15:     Dell WMI hotkeys
/dev/input/event16:     Ultimate Gadget Laboratories UHK 60 v2
/dev/input/event17:     HDA NVidia HDMI/DP,pcm=3
/dev/input/event18:     HDA NVidia HDMI/DP,pcm=7
/dev/input/event19:     HDA NVidia HDMI/DP,pcm=8
/dev/input/event2:      Sleep Button
/dev/input/event20:     HDA NVidia HDMI/DP,pcm=9
/dev/input/event21:     Video Bus
/dev/input/event22:     Video Bus
/dev/input/event23:     Power Button
/dev/input/event24:     Sleep Button
/dev/input/event25:     AT Translated Set 2 keyboard
/dev/input/event256:    Ultimate Gadget Laboratories UHK 60 v2
/dev/input/event257:    Intel HID 5 button array
/dev/input/event258:    DELL0A5D:00 04F3:311C Mouse
/dev/input/event259:    Dell Privacy Driver
/dev/input/event26:     PS/2 Generic Mouse
/dev/input/event260:    DELL0A5D:00 04F3:311C Touchpad
/dev/input/event261:    Dell WMI hotkeys
/dev/input/event262:    Ultimate Gadget Laboratories UHK 60 v2
/dev/input/event263:    Video Bus
/dev/input/event264:    Video Bus
/dev/input/event265:    sof-soundwire Headset Jack
/dev/input/event266:    sof-soundwire HDMI/DP,pcm=5
/dev/input/event267:    sof-soundwire HDMI/DP,pcm=6
/dev/input/event268:    sof-soundwire HDMI/DP,pcm=7
/dev/input/event269:    Logitech BRIO Consumer Control
/dev/input/event27:     Ultimate Gadget Laboratories UHK 60 v2
/dev/input/event270:    Logitech BRIO Consumer Control
/dev/input/event28:     Ultimate Gadget Laboratories UHK 60 v2
/dev/input/event29:     Ultimate Gadget Laboratories UHK 60 v2
/dev/input/event3:      AT Translated Set 2 keyboard
/dev/input/event30:     Intel HID events
/dev/input/event31:     Ultimate Gadget Laboratories UHK 60 v2
/dev/input/event4:      Intel HID events
/dev/input/event5:      Logitech G502 HERO Gaming Mouse
/dev/input/event6:      PS/2 Generic Mouse
/dev/input/event7:      Logitech G502 HERO Gaming Mouse Keyboard
/dev/input/event8:      Logitech G502 HERO Gaming Mouse
/dev/input/event9:      Logitech G502 HERO Gaming Mouse Keyboard
Select the device event number [0-270]:

Now, event31 generated events when used the trackball. Attached is the output of that

Input driver version is 1.0.1
Input device ID: bus 0x6 vendor 0x1d50 product 0x6124 version 0x110
Input device name: "Ultimate Gadget Laboratories UHK 60 v2"
Supported events:
  Event type 0 (EV_SYN)
  Event type 1 (EV_KEY)
    Event code 272 (BTN_LEFT)
    Event code 273 (BTN_RIGHT)
    Event code 274 (BTN_MIDDLE)
    Event code 275 (BTN_SIDE)
    Event code 276 (BTN_EXTRA)
    Event code 277 (BTN_FORWARD)
    Event code 278 (BTN_BACK)
    Event code 279 (BTN_TASK)
    Event code 280 (?)
    Event code 281 (?)
    Event code 282 (?)
    Event code 283 (?)
    Event code 284 (?)
    Event code 285 (?)
    Event code 286 (?)
    Event code 287 (?)
    Event code 288 (BTN_TRIGGER)
    Event code 289 (BTN_THUMB)
    Event code 290 (BTN_THUMB2)
    Event code 291 (BTN_TOP)
  Event type 2 (EV_REL)
    Event code 0 (REL_X)
    Event code 1 (REL_Y)
    Event code 6 (REL_HWHEEL)
    Event code 8 (REL_WHEEL)
    Event code 11 (REL_WHEEL_HI_RES)
    Event code 12 (REL_HWHEEL_HI_RES)
  Event type 4 (EV_MSC)
    Event code 4 (MSC_SCAN)
Properties:
Testing ... (interrupt to exit)
Event: time 1711421409.589893, type 2 (EV_REL), code 1 (REL_Y), value -1
Event: time 1711421409.589893, -------------- SYN_REPORT ------------
Event: time 1711421409.617843, type 2 (EV_REL), code 0 (REL_X), value -1
Event: time 1711421409.617843, -------------- SYN_REPORT ------------
Event: time 1711421409.623688, type 2 (EV_REL), code 0 (REL_X), value -1
Event: time 1711421409.623688, -------------- SYN_REPORT ------------
Event: time 1711421409.632864, type 2 (EV_REL), code 0 (REL_X), value -17
Event: time 1711421409.632864, type 2 (EV_REL), code 1 (REL_Y), value 10
Event: time 1711421409.632864, -------------- SYN_REPORT ------------
Event: time 1711421409.638867, type 2 (EV_REL), code 0 (REL_X), value -40
Event: time 1711421409.638867, type 2 (EV_REL), code 1 (REL_Y), value 29
Event: time 1711421409.638867, -------------- SYN_REPORT ------------
Event: time 1711421409.644937, type 2 (EV_REL), code 0 (REL_X), value -38
Event: time 1711421409.644937, type 2 (EV_REL), code 1 (REL_Y), value 22
Event: time 1711421409.644937, -------------- SYN_REPORT ------------
Event: time 1711421409.650823, type 2 (EV_REL), code 0 (REL_X), value -44
Event: time 1711421409.650823, type 2 (EV_REL), code 1 (REL_Y), value 26
Event: time 1711421409.650823, -------------- SYN_REPORT ------------
Event: time 1711421409.659777, type 2 (EV_REL), code 0 (REL_X), value -29
Event: time 1711421409.659777, type 2 (EV_REL), code 1 (REL_Y), value 22
Event: time 1711421409.659777, -------------- SYN_REPORT ------------
Event: time 1711421409.665811, type 2 (EV_REL), code 0 (REL_X), value -34
Event: time 1711421409.665811, type 2 (EV_REL), code 1 (REL_Y), value 21
Event: time 1711421409.665811, -------------- SYN_REPORT ------------
Event: time 1711421409.671677, type 2 (EV_REL), code 0 (REL_X), value -32
Event: time 1711421409.671677, type 2 (EV_REL), code 1 (REL_Y), value 15
Event: time 1711421409.671677, -------------- SYN_REPORT ------------
Event: time 1711421409.677756, type 2 (EV_REL), code 0 (REL_X), value -20
Event: time 1711421409.677756, type 2 (EV_REL), code 1 (REL_Y), value 8
Event: time 1711421409.677756, -------------- SYN_REPORT ------------
Event: time 1711421409.684606, type 2 (EV_REL), code 0 (REL_X), value -15
Event: time 1711421409.684606, -------------- SYN_REPORT ------------
Event: time 1711421409.687653, type 2 (EV_REL), code 1 (REL_Y), value 1
Event: time 1711421409.687653, -------------- SYN_REPORT ------------
Event: time 1711421409.693715, type 2 (EV_REL), code 0 (REL_X), value -11
Event: time 1711421409.693715, type 2 (EV_REL), code 1 (REL_Y), value 2
Event: time 1711421409.693715, -------------- SYN_REPORT ------------
Event: time 1711421409.699663, type 2 (EV_REL), code 0 (REL_X), value -10
Event: time 1711421409.699663, -------------- SYN_REPORT ------------
Event: time 1711421409.720642, type 2 (EV_REL), code 0 (REL_X), value -3
Event: time 1711421409.720642, -------------- SYN_REPORT ------------
Event: time 1711421409.726705, type 2 (EV_REL), code 0 (REL_X), value -4
Event: time 1711421409.726705, type 2 (EV_REL), code 1 (REL_Y), value -1
Event: time 1711421409.726705, -------------- SYN_REPORT ------------
Event: time 1711421409.732614, type 2 (EV_REL), code 0 (REL_X), value -4
Event: time 1711421409.732614, type 2 (EV_REL), code 1 (REL_Y), value -1
Event: time 1711421409.732614, -------------- SYN_REPORT ------------
Event: time 1711421409.738701, type 2 (EV_REL), code 0 (REL_X), value -2
Event: time 1711421409.738701, -------------- SYN_REPORT ------------
Event: time 1711421409.747698, type 2 (EV_REL), code 0 (REL_X), value -2
Event: time 1711421409.747698, type 2 (EV_REL), code 1 (REL_Y), value -1
Event: time 1711421409.747698, -------------- SYN_REPORT ------------
Event: time 1711421409.753697, type 2 (EV_REL), code 0 (REL_X), value -2
Event: time 1711421409.753697, type 2 (EV_REL), code 1 (REL_Y), value -1
Event: time 1711421409.753697, -------------- SYN_REPORT ------------
Event: time 1711421409.760598, type 2 (EV_REL), code 0 (REL_X), value -1
Event: time 1711421409.760598, -------------- SYN_REPORT ------------
Event: time 1711421409.896599, type 2 (EV_REL), code 0 (REL_X), value 1
Event: time 1711421409.896599, -------------- SYN_REPORT ------------
Event: time 1711421410.112748, type 2 (EV_REL), code 0 (REL_X), value 1
Event: time 1711421410.112748, -------------- SYN_REPORT ------------
Event: time 1711421410.137718, type 2 (EV_REL), code 0 (REL_X), value 5
Event: time 1711421410.137718, type 2 (EV_REL), code 1 (REL_Y), value -1
Event: time 1711421410.137718, -------------- SYN_REPORT ------------
Event: time 1711421410.143657, type 2 (EV_REL), code 0 (REL_X), value 8
Event: time 1711421410.143657, type 2 (EV_REL), code 1 (REL_Y), value -5
Event: time 1711421410.143657, -------------- SYN_REPORT ------------
Event: time 1711421410.149608, type 2 (EV_REL), code 0 (REL_X), value 9
Event: time 1711421410.149608, type 2 (EV_REL), code 1 (REL_Y), value -3
Event: time 1711421410.149608, -------------- SYN_REPORT ------------
Event: time 1711421410.164824, type 2 (EV_REL), code 0 (REL_X), value 6
Event: time 1711421410.164824, type 2 (EV_REL), code 1 (REL_Y), value -1
Event: time 1711421410.164824, -------------- SYN_REPORT ------------
Event: time 1711421410.170559, type 2 (EV_REL), code 0 (REL_X), value 10
Event: time 1711421410.170559, -------------- SYN_REPORT ------------
Event: time 1711421410.176546, type 2 (EV_REL), code 0 (REL_X), value 14
Event: time 1711421410.176546, type 2 (EV_REL), code 1 (REL_Y), value -2
Event: time 1711421410.176546, -------------- SYN_REPORT ------------
Event: time 1711421410.182573, type 2 (EV_REL), code 0 (REL_X), value 15
Event: time 1711421410.182573, type 2 (EV_REL), code 1 (REL_Y), value -2
Event: time 1711421410.182573, -------------- SYN_REPORT ------------
Event: time 1711421410.191599, type 2 (EV_REL), code 0 (REL_X), value 12
Event: time 1711421410.191599, type 2 (EV_REL), code 1 (REL_Y), value -1
Event: time 1711421410.191599, -------------- SYN_REPORT ------------
Event: time 1711421410.197628, type 2 (EV_REL), code 0 (REL_X), value 12
Event: time 1711421410.197628, -------------- SYN_REPORT ------------
Event: time 1711421410.203713, type 2 (EV_REL), code 0 (REL_X), value 13
Event: time 1711421410.203713, type 2 (EV_REL), code 1 (REL_Y), value -4
Event: time 1711421410.203713, -------------- SYN_REPORT ------------
Event: time 1711421410.210749, type 2 (EV_REL), code 0 (REL_X), value 14
Event: time 1711421410.210749, type 2 (EV_REL), code 1 (REL_Y), value -1
Event: time 1711421410.210749, -------------- SYN_REPORT ------------
Event: time 1711421410.219683, type 2 (EV_REL), code 0 (REL_X), value 13
Event: time 1711421410.219683, type 2 (EV_REL), code 1 (REL_Y), value -2
Event: time 1711421410.219683, -------------- SYN_REPORT ------------
Event: time 1711421410.225869, type 2 (EV_REL), code 0 (REL_X), value 11
Event: time 1711421410.225869, type 2 (EV_REL), code 1 (REL_Y), value -5
Event: time 1711421410.225869, -------------- SYN_REPORT ------------
Event: time 1711421410.231770, type 2 (EV_REL), code 0 (REL_X), value 18
Event: time 1711421410.231770, type 2 (EV_REL), code 1 (REL_Y), value -4
Event: time 1711421410.231770, -------------- SYN_REPORT ------------
Event: time 1711421410.237802, type 2 (EV_REL), code 0 (REL_X), value 11
Event: time 1711421410.237802, type 2 (EV_REL), code 1 (REL_Y), value -1
Event: time 1711421410.237802, -------------- SYN_REPORT ------------
Event: time 1711421410.258835, type 2 (EV_REL), code 0 (REL_X), value 5
Event: time 1711421410.258835, -------------- SYN_REPORT ------------
Event: time 1711421410.264686, type 2 (EV_REL), code 0 (REL_X), value 5
Event: time 1711421410.264686, -------------- SYN_REPORT ------------
Event: time 1711421410.270799, type 2 (EV_REL), code 0 (REL_X), value 3
Event: time 1711421410.270799, type 2 (EV_REL), code 1 (REL_Y), value -2
Event: time 1711421410.270799, -------------- SYN_REPORT ------------
Event: time 1711421410.279714, type 2 (EV_REL), code 0 (REL_X), value 2
Event: time 1711421410.279714, -------------- SYN_REPORT ------------
Event: time 1711421410.286831, type 2 (EV_REL), code 0 (REL_X), value 2
Event: time 1711421410.286831, -------------- SYN_REPORT ------------
Event: time 1711421410.292656, type 2 (EV_REL), code 0 (REL_X), value 2
Event: time 1711421410.292656, type 2 (EV_REL), code 1 (REL_Y), value -1
Event: time 1711421410.292656, -------------- SYN_REPORT ------------
Event: time 1711421410.346794, type 2 (EV_REL), code 0 (REL_X), value 1
Event: time 1711421410.346794, type 2 (EV_REL), code 1 (REL_Y), value -2
Event: time 1711421410.346794, -------------- SYN_REPORT ------------
Event: time 1711421410.352761, type 2 (EV_REL), code 0 (REL_X), value 1
Event: time 1711421410.352761, type 2 (EV_REL), code 1 (REL_Y), value -2
Event: time 1711421410.352761, -------------- SYN_REPORT ------------
Event: time 1711421410.374786, type 2 (EV_REL), code 1 (REL_Y), value -2
Event: time 1711421410.374786, -------------- SYN_REPORT ------------
Event: time 1711421410.380580, type 2 (EV_REL), code 1 (REL_Y), value -1
Event: time 1711421410.380580, -------------- SYN_REPORT ------------
Event: time 1711421410.386855, type 2 (EV_REL), code 1 (REL_Y), value -1
Event: time 1711421410.386855, -------------- SYN_REPORT ------------
Event: time 1711421410.395749, type 2 (EV_REL), code 1 (REL_Y), value -1
Event: time 1711421410.395749, -------------- SYN_REPORT ------------
Event: time 1711421410.401777, type 2 (EV_REL), code 1 (REL_Y), value -1
Event: time 1711421410.401777, -------------- SYN_REPORT ------------
Event: time 1711421410.407761, type 2 (EV_REL), code 1 (REL_Y), value -3
Event: time 1711421410.407761, -------------- SYN_REPORT ------------
Event: time 1711421410.413691, type 2 (EV_REL), code 1 (REL_Y), value -1
Event: time 1711421410.413691, -------------- SYN_REPORT ------------
Event: time 1711421410.422714, type 2 (EV_REL), code 1 (REL_Y), value -2
Event: time 1711421410.422714, -------------- SYN_REPORT ------------
Event: time 1711421410.428659, type 2 (EV_REL), code 1 (REL_Y), value -2
Event: time 1711421410.428659, -------------- SYN_REPORT ------------
Event: time 1711421410.435758, type 2 (EV_REL), code 1 (REL_Y), value -4
Event: time 1711421410.435758, -------------- SYN_REPORT ------------
Event: time 1711421410.441798, type 2 (EV_REL), code 0 (REL_X), value -1
Event: time 1711421410.441798, type 2 (EV_REL), code 1 (REL_Y), value -3
Event: time 1711421410.441798, -------------- SYN_REPORT ------------
Event: time 1711421410.447657, type 2 (EV_REL), code 1 (REL_Y), value -2
Event: time 1711421410.447657, -------------- SYN_REPORT ------------
Event: time 1711421410.456623, type 2 (EV_REL), code 0 (REL_X), value -2
Event: time 1711421410.456623, type 2 (EV_REL), code 1 (REL_Y), value -2
Event: time 1711421410.456623, -------------- SYN_REPORT ------------
Event: time 1711421410.462700, type 2 (EV_REL), code 1 (REL_Y), value -1
Event: time 1711421410.462700, -------------- SYN_REPORT ------------
Event: time 1711421410.468765, type 2 (EV_REL), code 1 (REL_Y), value -2
Event: time 1711421410.468765, -------------- SYN_REPORT ------------
Event: time 1711421410.474811, type 2 (EV_REL), code 1 (REL_Y), value -2
Event: time 1711421410.474811, -------------- SYN_REPORT ------------
Event: time 1711421410.483756, type 2 (EV_REL), code 0 (REL_X), value -1
Event: time 1711421410.483756, type 2 (EV_REL), code 1 (REL_Y), value -2
Event: time 1711421410.483756, -------------- SYN_REPORT ------------
Event: time 1711421410.489790, type 2 (EV_REL), code 1 (REL_Y), value -2
Event: time 1711421410.489790, -------------- SYN_REPORT ------------
Event: time 1711421410.495667, type 2 (EV_REL), code 1 (REL_Y), value -1
Event: time 1711421410.495667, -------------- SYN_REPORT ------------
Event: time 1711421410.632632, type 2 (EV_REL), code 0 (REL_X), value -1
Event: time 1711421410.632632, -------------- SYN_REPORT ------------
Event: time 1711421410.638702, type 2 (EV_REL), code 0 (REL_X), value -2
Event: time 1711421410.638702, type 2 (EV_REL), code 1 (REL_Y), value 1
Event: time 1711421410.638702, -------------- SYN_REPORT ------------
Event: time 1711421410.644589, type 2 (EV_REL), code 0 (REL_X), value -3
Event: time 1711421410.644589, type 2 (EV_REL), code 1 (REL_Y), value 2
Event: time 1711421410.644589, -------------- SYN_REPORT ------------
Event: time 1711421410.650702, type 2 (EV_REL), code 0 (REL_X), value -4
Event: time 1711421410.650702, -------------- SYN_REPORT ------------
Event: time 1711421410.653636, type 2 (EV_REL), code 1 (REL_Y), value 1
Event: time 1711421410.653636, -------------- SYN_REPORT ------------
Event: time 1711421410.660666, type 2 (EV_REL), code 0 (REL_X), value -2
Event: time 1711421410.660666, type 2 (EV_REL), code 1 (REL_Y), value 1
Event: time 1711421410.660666, -------------- SYN_REPORT ------------
Event: time 1711421410.666695, type 2 (EV_REL), code 0 (REL_X), value -4
Event: time 1711421410.666695, type 2 (EV_REL), code 1 (REL_Y), value 2
Event: time 1711421410.666695, -------------- SYN_REPORT ------------
Event: time 1711421410.672663, type 2 (EV_REL), code 0 (REL_X), value -3
Event: time 1711421410.672663, -------------- SYN_REPORT ------------
Event: time 1711421410.678710, type 2 (EV_REL), code 0 (REL_X), value -3
Event: time 1711421410.678710, -------------- SYN_REPORT ------------
Event: time 1711421410.687749, type 2 (EV_REL), code 0 (REL_X), value -3
Event: time 1711421410.687749, -------------- SYN_REPORT ------------
Event: time 1711421411.140779, type 2 (EV_REL), code 6 (REL_HWHEEL), value 1
Event: time 1711421411.140779, type 2 (EV_REL), code 12 (REL_HWHEEL_HI_RES), value 120
Event: time 1711421411.140779, -------------- SYN_REPORT ------------
Event: time 1711421411.173705, type 2 (EV_REL), code 6 (REL_HWHEEL), value 1
Event: time 1711421411.173705, type 2 (EV_REL), code 12 (REL_HWHEEL_HI_RES), value 120
Event: time 1711421411.173705, -------------- SYN_REPORT ------------
Event: time 1711421411.207769, type 2 (EV_REL), code 6 (REL_HWHEEL), value 1
Event: time 1711421411.207769, type 2 (EV_REL), code 12 (REL_HWHEEL_HI_RES), value 120
Event: time 1711421411.207769, -------------- SYN_REPORT ------------
Event: time 1711421411.955763, type 2 (EV_REL), code 1 (REL_Y), value 1
Event: time 1711421411.955763, -------------- SYN_REPORT ------------
Event: time 1711421411.961707, type 2 (EV_REL), code 1 (REL_Y), value 2
Event: time 1711421411.961707, -------------- SYN_REPORT ------------
Event: time 1711421411.970709, type 2 (EV_REL), code 1 (REL_Y), value 2
Event: time 1711421411.970709, -------------- SYN_REPORT ------------
Event: time 1711421411.976654, type 2 (EV_REL), code 1 (REL_Y), value 3
Event: time 1711421411.976654, -------------- SYN_REPORT ------------
Event: time 1711421411.982819, type 2 (EV_REL), code 1 (REL_Y), value 2
Event: time 1711421411.982819, -------------- SYN_REPORT ------------
Event: time 1711421411.988698, type 2 (EV_REL), code 1 (REL_Y), value 3
Event: time 1711421411.988698, -------------- SYN_REPORT ------------
Event: time 1711421411.994766, type 2 (EV_REL), code 1 (REL_Y), value 3
Event: time 1711421411.994766, -------------- SYN_REPORT ------------
Event: time 1711421412.003761, type 2 (EV_REL), code 1 (REL_Y), value 3
Event: time 1711421412.003761, -------------- SYN_REPORT ------------
Event: time 1711421412.010820, type 2 (EV_REL), code 1 (REL_Y), value 2
Event: time 1711421412.010820, -------------- SYN_REPORT ------------
Event: time 1711421412.016555, type 2 (EV_REL), code 1 (REL_Y), value 2
Event: time 1711421412.016555, -------------- SYN_REPORT ------------
Event: time 1711421412.022799, type 2 (EV_REL), code 1 (REL_Y), value 2
Event: time 1711421412.022799, -------------- SYN_REPORT ------------
Event: time 1711421412.031697, type 2 (EV_REL), code 1 (REL_Y), value 1
Event: time 1711421412.031697, -------------- SYN_REPORT ------------
Event: time 1711421412.037733, type 2 (EV_REL), code 1 (REL_Y), value 1
Event: time 1711421412.037733, -------------- SYN_REPORT ------------
Event: time 1711421412.064881, type 2 (EV_REL), code 1 (REL_Y), value 1
Event: time 1711421412.064881, -------------- SYN_REPORT ------------
Event: time 1711421412.076657, type 2 (EV_REL), code 1 (REL_Y), value 1
Event: time 1711421412.076657, -------------- SYN_REPORT ------------
Event: time 1711421412.086881, type 2 (EV_REL), code 0 (REL_X), value 1
Event: time 1711421412.086881, type 2 (EV_REL), code 1 (REL_Y), value 1
Event: time 1711421412.086881, -------------- SYN_REPORT ------------
Event: time 1711421412.099019, type 2 (EV_REL), code 0 (REL_X), value 1
Event: time 1711421412.099019, type 2 (EV_REL), code 1 (REL_Y), value 1
Event: time 1711421412.099019, -------------- SYN_REPORT ------------
Event: time 1711421412.104991, type 2 (EV_REL), code 0 (REL_X), value 1
Event: time 1711421412.104991, type 2 (EV_REL), code 1 (REL_Y), value 3
Event: time 1711421412.104991, -------------- SYN_REPORT ------------
Event: time 1711421412.207739, type 2 (EV_REL), code 1 (REL_Y), value -2
Event: time 1711421412.207739, -------------- SYN_REPORT ------------
Event: time 1711421412.213710, type 2 (EV_REL), code 1 (REL_Y), value -3
Event: time 1711421412.213710, -------------- SYN_REPORT ------------
Event: time 1711421412.219783, type 2 (EV_REL), code 1 (REL_Y), value -2
Event: time 1711421412.219783, -------------- SYN_REPORT ------------
Event: time 1711421412.229747, type 2 (EV_REL), code 1 (REL_Y), value -5
Event: time 1711421412.229747, -------------- SYN_REPORT ------------
Event: time 1711421412.235680, type 2 (EV_REL), code 0 (REL_X), value 1
Event: time 1711421412.235680, type 2 (EV_REL), code 1 (REL_Y), value -6
Event: time 1711421412.235680, -------------- SYN_REPORT ------------
Event: time 1711421412.241901, type 2 (EV_REL), code 1 (REL_Y), value -5
Event: time 1711421412.241901, -------------- SYN_REPORT ------------
Event: time 1711421412.247623, type 2 (EV_REL), code 1 (REL_Y), value -6
Event: time 1711421412.247623, -------------- SYN_REPORT ------------
Event: time 1711421412.253757, type 2 (EV_REL), code 0 (REL_X), value 2
Event: time 1711421412.253757, -------------- SYN_REPORT ------------
Event: time 1711421412.256552, type 2 (EV_REL), code 1 (REL_Y), value -4
Event: time 1711421412.256552, -------------- SYN_REPORT ------------
Event: time 1711421412.262889, type 2 (EV_REL), code 1 (REL_Y), value -5
Event: time 1711421412.262889, -------------- SYN_REPORT ------------
Event: time 1711421412.268773, type 2 (EV_REL), code 1 (REL_Y), value -4
Event: time 1711421412.268773, -------------- SYN_REPORT ------------
Event: time 1711421412.274749, type 2 (EV_REL), code 1 (REL_Y), value -4
Event: time 1711421412.274749, -------------- SYN_REPORT ------------
Event: time 1711421412.280637, type 2 (EV_REL), code 1 (REL_Y), value -4
Event: time 1711421412.280637, -------------- SYN_REPORT ------------
Event: time 1711421412.289780, type 2 (EV_REL), code 1 (REL_Y), value -4
Event: time 1711421412.289780, -------------- SYN_REPORT ------------
Event: time 1711421412.295616, type 2 (EV_REL), code 1 (REL_Y), value -4
Event: time 1711421412.295616, -------------- SYN_REPORT ------------
Event: time 1711421412.301662, type 2 (EV_REL), code 1 (REL_Y), value -2
Event: time 1711421412.301662, -------------- SYN_REPORT ------------
Event: time 1711421412.308601, type 2 (EV_REL), code 1 (REL_Y), value -2
Event: time 1711421412.308601, -------------- SYN_REPORT ------------
Event: time 1711421412.317700, type 2 (EV_REL), code 1 (REL_Y), value -1
Event: time 1711421412.317700, -------------- SYN_REPORT ------------
Event: time 1711421412.323599, type 2 (EV_REL), code 1 (REL_Y), value -3
Event: time 1711421412.323599, -------------- SYN_REPORT ------------
Event: time 1711421412.329784, type 2 (EV_REL), code 1 (REL_Y), value -2
Event: time 1711421412.329784, -------------- SYN_REPORT ------------
Event: time 1711421412.335578, type 2 (EV_REL), code 1 (REL_Y), value -1
Event: time 1711421412.335578, -------------- SYN_REPORT ------------
Event: time 1711421412.344566, type 2 (EV_REL), code 1 (REL_Y), value -3
Event: time 1711421412.344566, -------------- SYN_REPORT ------------
Event: time 1711421412.350614, type 2 (EV_REL), code 1 (REL_Y), value -2
Event: time 1711421412.350614, -------------- SYN_REPORT ------------
Event: time 1711421412.356590, type 2 (EV_REL), code 1 (REL_Y), value -3
Event: time 1711421412.356590, -------------- SYN_REPORT ------------
Event: time 1711421412.362611, type 2 (EV_REL), code 1 (REL_Y), value -1
Event: time 1711421412.362611, -------------- SYN_REPORT ------------
Event: time 1711421412.371649, type 2 (EV_REL), code 1 (REL_Y), value -2
Event: time 1711421412.371649, -------------- SYN_REPORT ------------
Event: time 1711421412.575612, type 2 (EV_REL), code 1 (REL_Y), value 1
Event: time 1711421412.575612, -------------- SYN_REPORT ------------
Event: time 1711421412.581965, type 2 (EV_REL), code 0 (REL_X), value -1
Event: time 1711421412.581965, type 2 (EV_REL), code 1 (REL_Y), value 1
Event: time 1711421412.581965, -------------- SYN_REPORT ------------
Event: time 1711421412.587602, type 2 (EV_REL), code 0 (REL_X), value -2
Event: time 1711421412.587602, type 2 (EV_REL), code 1 (REL_Y), value 2
Event: time 1711421412.587602, -------------- SYN_REPORT ------------
Event: time 1711421412.593725, type 2 (EV_REL), code 0 (REL_X), value -1
Event: time 1711421412.593725, type 2 (EV_REL), code 1 (REL_Y), value 1
Event: time 1711421412.593725, -------------- SYN_REPORT ------------
Event: time 1711421412.615748, type 2 (EV_REL), code 0 (REL_X), value -2
Event: time 1711421412.615748, -------------- SYN_REPORT ------------
Event: time 1711421412.621651, type 2 (EV_REL), code 0 (REL_X), value -2
Event: time 1711421412.621651, -------------- SYN_REPORT ------------
Event: time 1711421412.642898, type 2 (EV_REL), code 0 (REL_X), value -1
Event: time 1711421412.642898, -------------- SYN_REPORT ------------
Event: time 1711421412.648869, type 2 (EV_REL), code 0 (REL_X), value -4
Event: time 1711421412.648869, -------------- SYN_REPORT ------------
Event: time 1711421412.654681, type 2 (EV_REL), code 0 (REL_X), value -2
Event: time 1711421412.654681, -------------- SYN_REPORT ------------
Event: time 1711421412.663524, type 2 (EV_REL), code 0 (REL_X), value -1
Event: time 1711421412.663524, -------------- SYN_REPORT ------------
   Event: time 1711421418.797741, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90001
Event: time 1711421418.797741, type 1 (EV_KEY), code 272 (BTN_LEFT), value 1
Event: time 1711421418.797741, -------------- SYN_REPORT ------------
Event: time 1711421418.961707, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90001
Event: time 1711421418.961707, type 1 (EV_KEY), code 272 (BTN_LEFT), value 0
Event: time 1711421418.961707, -------------- SYN_REPORT ------------
Event: time 1711421419.508805, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90002
Event: time 1711421419.508805, type 1 (EV_KEY), code 273 (BTN_RIGHT), value 1
Event: time 1711421419.508805, -------------- SYN_REPORT ------------
Event: time 1711421419.636620, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90002
Event: time 1711421419.636620, type 1 (EV_KEY), code 273 (BTN_RIGHT), value 0
Event: time 1711421419.636620, -------------- SYN_REPORT ------------
mohitt commented 3 months ago

@htrefil thanks for responding, I have pasted the output of evtest . Dont mind getting on a call and solving it. This is the only software kvm that works on wayland 🙂 . So, I would really appreciate any help I can get to fix this trackball

mohitt commented 3 months ago

@htrefil I can help , if someone can guide me where to look at.

@colemickens @kaapstorm @h4ssi Any help would be great.

colemickens commented 3 months ago

I mean, idk (my contribution here was adding GH Action workflow), but I tested my touchpad, it emits EV_ABS events. I see there's this file, so I guess you should try duplicating it and updating it to copy the EV_REL equivalence of EVS_ABS:

https://github.com/htrefil/rkvm/blob/master/rkvm-input/src/abs.rs

htrefil commented 3 months ago

@mohitt I don't see anything weird except the unnamed event codes that evtest doesn't recognize. Might be worth looking into it. Sorry for the late reply, I am employed full time and have very little time and energy for rkvm right now.

@colemickens EV_REL events, like those coming from standard mice, are implemented and work fine.