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
|
VM running under latest Qemu receives 2, 3, 8, and = when sent the keysyms for @, #, *, and + respectively
Git commit hash where bug was reproduced: 62a172e6a77d9072bb1a18f295ce0fcf4b90a4f2
A user of my application bVNC reported that when he connects to his VMs running under Qemu, he cannot send @, #, and *. Instead, 2, 3, and 8 appear in the VM respectively. I built the latest Qemu from source, and reproduced the issue.
bVNC converts keycodes or unicode characters that the Android keyboard sends it to corresponding keysyms. For example, it sends keysym 64 for @ rather than sending SHIFT+2.
A debug log of the application sending the keysyms shows metaState == 0, indicating lack of modifier keys.
When 2 appears in place of @:
03-21 00:11:21.761 8864 8864 I RemoteKeyboard: Sending key. Down: true, key: 64. keysym:64, metaState: 0
03-21 00:11:21.763 8864 8864 I RemoteKeyboard: Sending key. Down: false, key: 64. keysym:64, metaState: 0
When 3 appears in place of #:
03-21 00:11:08.947 8864 8864 I RemoteKeyboard: Sending key. Down: true, key: 35. keysym:35, metaState: 0
03-21 00:11:08.950 8864 8864 I RemoteKeyboard: Sending key. Down: false, key: 35. keysym:35, metaState: 0
When 0 appears instead of *:
03-21 00:11:28.586 8864 8864 I RemoteKeyboard: Sending key. Down: true, key: 42. keysym:42, metaState: 0
03-21 00:11:28.588 8864 8864 I RemoteKeyboard: Sending key. Down: false, key: 42. keysym:42, metaState: 0
When = appears instead of +:
03-21 01:05:40.021 10061 10061 I RemoteKeyboard: Sending key. Down: true, key: 43. keysym:43, metaState: 0
03-21 01:05:40.022 10061 10061 I RemoteKeyboard: Sending key. Down: false, key: 43. keysym:43, metaState: 0
|