1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
hw/input/hid.c - Add Support for More Than Five Mouse Buttons in QEMU for evdev?
Additional information:
Sure enough, there appear to only be five buttons defined.
https://gitlab.com/qemu-project/qemu/-/blob/master/hw/input/hid.c#L113
```c
[INPUT_BUTTON_LEFT] = 0x01,
[INPUT_BUTTON_RIGHT] = 0x02,
[INPUT_BUTTON_MIDDLE] = 0x04,
[INPUT_BUTTON_SIDE] = 0x08,
[INPUT_BUTTON_EXTRA] = 0x10,
```
At this point, the existing naming schema cannot be continued... might I suggest:
```c
[INPUT_BUTTON_SIX] = 0x??,
[INPUT_BUTTON_SEVEN] = 0x??,
[INPUT_BUTTON_EIGHT] = 0x??,
[INPUT_BUTTON_NINE] = 0x??,
[INPUT_BUTTON_TEN] = 0x??,
[INPUT_BUTTON_ELEVEN] = 0x??,
[INPUT_BUTTON_TWELVE] = 0x??,
```
Although, I'm not sure if 12 buttons is future-proofed enough.
I should also note that I found this post which states that there's no more space left in PS2 emulation, so I don't know if that would cause a conflict.
"ps/2 emulation looks like there are no unused bits for more buttons. Possibly we have to extend the usb mouse emulation for that."
https://listman.redhat.com/archives/vfio-users/2016-January/001596.html
Unfortunately, I have never written a patch. I'm not even sure how I would apply a patch in Unraid, other than overwriting the bin file. So if this is ever fixed, I would simply hope that one day a new version of QEMU would get up-streamed into a new version of Unraid.
So, here I am humbly asking for support. I don't know if it's as simple as just adding new definitions... and I have no idea what hex value to assign them.
*edit* I also failed to get a temporary workaround to work by remapping the mouse buttons in the host VM using xmodmap using this command:
`xmodmap -e "pointer = 1 12 3 4 5 6 7 8 9 10 11 2" &`
I tried saving `pointer = 1 12 3 4 5 6 7 8 9 10 11 2` in the host VM's root folder in .Xmodmap, but it did not propogate to guest VMs. The buttons were still their original mapping and running the xmod command had no effect.
|