Gerd Hoffmann <kra...@redhat.com> writes: > Hi, > >>> What is your vnc client? Does it support VNC_ENCODING_EXT_KEY_EVENT? >> >> It's uses gvnc as a protocol library and renders via fbdev. It reads >> keyboard events by putting /dev/tty into mediumraw mode and uses ext key >> events exclusively. It has no knowledge of the guest keymap. > > Neat. URL?
We haven't published yet but I keep meaning too... It's really quite simple. > Does the linux kernel keep track of {caps,num}lock state (+leds) with > the keyboard in mediumraw mode? Nope. > Or does it expect the userspace app set the led state then? Yup. > No UI client (neither vnc nor spice) knows the guest keymap btw. Well, they do actually. gtk-vnc has key modifier tracking code. I assume gtk-spice does too. This code looks at the GdkEventKey::keysym which has gone through the host keymap. The assumption is that the host keymap == the guest keymap at least as far as modifiers are concerned. Take a look at key_event in vncdisplay.c in gtk-vnc. >> I believe VMware already has a VNC extension for passing LED state >> changes and I think having an open extension for this is a Good Thing. >> It's a pretty obvious missing piece in the VNC protocol. > > Anyone tried to bug vmware to open the specs for the existing > extension? I have in the past but that was many years ago at this point. Regards, Anthony Liguori > > cheers, > Gerd