qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] Pipe key broken on US keyboards


From: Daniel P . Berrangé
Subject: Re: [Qemu-devel] Pipe key broken on US keyboards
Date: Fri, 17 Aug 2018 16:51:52 +0100
User-agent: Mutt/1.10.1 (2018-07-13)

On Fri, Aug 17, 2018 at 11:16:29AM -0400, Phillip Susi wrote:
> On 8/17/2018 11:05 AM, Daniel P. Berrangé wrote:
> > Reading again, this is a bit odd. On most keyboards, holding down shift
> > key generally would NOT change the scan code that is reported (there are a
> 
> Right; a real keyboard won't change the scan code, but it seems that
> European keyboards have this extra key that can also produce a |, so
> when qemu gets the key code for |, it has to pick one scan code or the
> other to translate the | into, and it picks the wrong one.
> 
> Looking at the code it looks like qemu has its own qcode set and
> translates between that and all of these other sets.  I'm guessing
> either input-keymap-linux-to-qcode.c or input-keymap-x11-to-qcode.c is
> where the error is, but these do not exist so I guess they must be auto
> generated somehow by the build process?
> 
> Actually, which one of those code sets is vnc using?

Since you're using tightvnc on Windows, it won't be using the raw scancode
extension to RFB, so it'll be sending X keysyms across the wire eg 

  "|" has X11 keysym 0x7c  (XK_bar)
  "\" has X11 keysym 0x5c  (XK_backslash)

First thing is the converting keysym number to a name, which
uses name2keysym[] data table.  This gives 'bar' and 'backslash'
as names, respectively

The names are now looked up in the keymap (pc-bios/keymaps/en-us)
which says

  backslash 0x2b
  bar 0x2b shift

QEMU now has a Qcode that it can pass to the ps2 frontend
which converts to the AT set 1/2 scancode for injection to
the guest.

Any one of those many steps could be going wrong and its hard
to see which, without being able to reproduce it myself

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 :|



reply via email to

[Prev in Thread] Current Thread [Next in Thread]