[Top][All Lists]

[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

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