Unhandled ps2 keyboard keysym with UEFI-edk2-bootrom and bhyve(8)

Harry Schmalzbauer freebsd at omnilan.de
Tue Jan 3 13:18:08 UTC 2017

Bezüglich Peter Grehan's Nachricht vom 13.12.2016 06:57 (localtime):
> Hi Harry,
>> Unfortunately the VNC part seems to have keyscan problems:
>>     Unhandled ps2 keyboard keysym 0xc4
>>     Unhandled ps2 keyboard keysym 0xf6
>>     Unhandled ps2 keyboard keysym 0xff7f
>> Just to list a view...
>> The really unfortunate problem is that some characters are completely
>> missing, while others are just shifted (involving even meta keys).
>> I haven't found any rule yet, it looks like a mixture of en-US and de-DE
>> layout.
>> Most unfortunate, I can't login because of the missing characters :-( So
>> close yet so far...
>  Would you be able to list the key mappings that don't work (and also
> the VNC client you are using) ?

Sorry for the long delay,

I tried a view VNC clients for Windows and FreeBSD, but all show exactly
the same disfunctional/shifted keys (german maps here).

It seems that keymapping is done twice?!?
If I use en_US layout on the machine running VNC Client, I get correct
_german_ keystrokes inside the guest (since the guest was configured for
german layout)

Windows clients "VNC viewer plus" and "RealVNC" most times can't connect
because »RFB protocol error: unknown rect encoding 255«
Early connection during guest's boot process allows these to connect!?!

I have absolutely no clue about VNC, so I guess it's simply my fault. If
anybody knows how to feed VNC-client with unmapped keystrokes please
drop me a note! Or what these RFB protocol errors mean...

Here's a list I created before trying en_US layout...

keycode 11+s (2): 0x22 becomes 0xc4 (keycode 48+s)
keycode 12+s (3): 0xa7 becomes '' (Unhandled ps2 keyboard keysym 0xa7)
keycode 15+s (6): 0x26 becomes 0x2f (keycode 16+s)
keycode 16+s (7): 0x2f becomes 0x5f (keycode 61+s)
keycode 17+s (8): 0x28 becomes 0x29 (keycode 18+s)
keycode 18+s (9): 0x29 becomes 0x3d (keycode 19+s)
keycode 19+s (0): 0x3d becomes 0xfe50 (keycode 21+s)

keycode 20+s: 0x3f becomes 0x5f (keycode 61+s, like kc16+s)
keycode 20: 0xdf becomes '' (Unhandled ps2 keyboard keysym 0xdf)

keycode 21+s: 0xfe50 become '' (Unhandled ps2 keyboard keysym 0xfe50)
keycode 21: 0xfe51 become '' (Unhandled ps2 keyboard keysym 0xfe51)

keycode 34+s: 0xdc becomes '' (Unhandled ps2 keyboard keysym 0xdc)
keycode 34: 0xfc becomes '' (Unhandled ps2 keyboard keysym 0xfc)

keycode 35+s: 0x2a becomes 0x28 (keycode 17+s)
keycode 35: 0x2b becomes 0xfe51 (keycode 21)

keycode 47+s: 0xd6 becomes '' (Unhandled ps2 keyboard keysym 0xd6)
keycode 47: 0xf6 becomes '' (Unhandled ps2 keyboard keysym 0xf6)

keycode 48+s: 0xc4 becomes '' (Unhandled ps2 keyboard keysym 0xc4)
keycode 48: 0xe4 becomes '' (Unhandled ps2 keyboard keysym 0xe4)

keycode 49+s: Unhandled ps2 keyboard keysym 0xb0
keycode 49: Unhandled ps2 keyboard keysym 0xfe52

keycode 51+s: 0x27 becomes 0xc4 (keycode 48+s)
keycode 51:  0x23 becomes 0x33 (keycode 12)

keycode 59+s: 0x3b becomes 0xd6 (keycode 47+s)
keycode 60+s: 0x3a becomes 0xd6 (keycode 47+s, like kc59+s)

keycode 61+s: 0x5f becomes 0x3f (keycode 20+s)
keycode 61: 0x2d becomes 0xdf (keycode 20)

keycode 94: 0x3c becomes 0x2c (keycode 59)
keycode 94+s: 0x3e becomes 0x3a (keycode 60+s)


More information about the freebsd-virtualization mailing list