On Tue, Jul 25, 2017 at 01:53:40PM +0200, Gerd Hoffmann wrote: > Hi, > > > > You're putting some specific code for spice in ps2 emulation. > > > IMO, the workaround should be moved to spice keyboard handling > > > (ui/spice-input.c), > > > which needs to generate a qcode instead of a scancode. > > > > This isn't really a spice specific hack. QEMU internal code is *not* > > required > > to use qcodes > > qcodes are prefered in new code though. > > > - the KeyValue struct is a union that allows use of either qcodes > > or XT scancodes, and the latter is what all the frontends (SPICE, > > VNC, GTk, SDL) > > use. QCodes are really only input by the monitor (the sendkey > > command). > > Well, PAUSE is actually sent as qcode by sdl and gtk. This avoids > special cases in the input layer (PAUSE is the only three scancodes key > sequence). IMO spice should do the same. I want switch UIs to qcodes > anyway.
qcodes as currently defined cover only a subset of the AT set1 scancodes, so we need to define countless more qcodes before we consider converting UIs to use qcodes. Aside from the pause/break bug, the changes to ps2 driver to round trip via qcodes have now made it impossible to send a large number of key sequences to the guest OS :-( Admittedly the missing key codes are not so commonly used, but it is still a notable regression in functionality today Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|