All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Daniel P. Berrangé" <berrange@redhat.com>
To: Thorsten Glaser <t.glaser@tarent.de>
Cc: qemu-devel@nongnu.org
Subject: Re: qemu-system-x86_64: warning: Unknown X11 keycode mapping '<null>'.
Date: Tue, 3 Mar 2020 10:46:24 +0000	[thread overview]
Message-ID: <20200303104624.GC1773352@redhat.com> (raw)
In-Reply-To: <alpine.DEB.2.22.394.2003021901160.14371@tglase.lan.tarent.de>

On Mon, Mar 02, 2020 at 07:19:04PM +0100, Thorsten Glaser wrote:
> On Mon, 2 Mar 2020, Daniel P. Berrangé wrote:
> 
> > There's two translations happening
> > 
> >  * The scancode emitted by the kernel and/or hardware device,
> >    and then translated/mangled by X11 and reported as the
> >    hardware keycode
> > 
> >  * The keysym which is the mapping from the hardware keycode
> >    done by XKB and/or Xmodmap
> 
> Yes, sure.
> 
> > We're dealing with the first point in QEMU, taking the hardware
> > keycode and trying to undo the X11 mangling that was performed.
> 
> That’s where VNC often fails, generally, anyway… (asd often get
> translated back as adf).
> 
> > > But if I can do anything to help debugging this, sure.
> > 
> > Can you launch 'xev' inside your VNC session and press the 'Page Up'
> > button and let me know what it reports the keycode and keysym.
> 
> Sure.
> 
> > Specifically I'm interested in this line of text:
> > 
> >     state 0x0, keycode 112 (keysym 0xff55, Prior), same_screen YES,
> > 
> > On evdev it reports 112 as hardware code which is 0x70 hex, while with
> > 'kbd' it reports 99 which is 0x63 hex. These are the only two scenarios
> > QEMU knows how to cope with.
> 
> Then we’re somewhat out of luck:
> 
> KeyPress event, serial 35, synthetic NO, window 0x1000001,
>     root 0x25, subw 0x0, time 2624181177, (244,533), root:(250,560),
>     state 0x0, keycode 71 (keysym 0xff55, Prior), same_screen YES,
>     XLookupString gives 0 bytes:
>     XmbLookupString gives 0 bytes:
>     XFilterEvent returns: False

This is all rather unfortunate, as I can't determine the well known
scancode set that this matches so far. So I'll definitely have to
investigate the source to understand what's going on.

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	other threads:[~2020-03-03 10:47 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-03-01 23:04 qemu-system-x86_64: warning: Unknown X11 keycode mapping '<null>' Thorsten Glaser
2020-03-02 10:28 ` Daniel P. Berrangé
2020-03-02 12:43   ` Thorsten Glaser
2020-03-02 13:03     ` Daniel P. Berrangé
2020-03-02 18:19       ` Thorsten Glaser
2020-03-03 10:46         ` Daniel P. Berrangé [this message]
2020-03-03 10:44     ` Daniel P. Berrangé
2020-03-03 13:12       ` Thorsten Glaser
2020-03-03 13:14         ` Daniel P. Berrangé
  -- strict thread matches above, loose matches on Subject: below --
2020-02-26 23:31 Oliver Bailey

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200303104624.GC1773352@redhat.com \
    --to=berrange@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=t.glaser@tarent.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.