qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Daniel P. Berrange" <berrange@redhat.com>
To: Gerd Hoffmann <kraxel@redhat.com>
Cc: "Hervé Poussineau" <hpoussin@reactos.org>, qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH for 2.10] ps2: fix sending of PAUSE/BREAK scancodes
Date: Wed, 26 Jul 2017 13:05:29 +0100	[thread overview]
Message-ID: <20170726120529.GG7620@redhat.com> (raw)
In-Reply-To: <1501069447.29903.4.camel@redhat.com>

[-- Attachment #1: Type: text/plain, Size: 1795 bytes --]

On Wed, Jul 26, 2017 at 01:44:07PM +0200, Gerd Hoffmann wrote:
>   Hi,
> 
> > 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
> 
> My keymap branch carries fixes for that now:
> https://www.kraxel.org/cgit/qemu/log/?h=work/xkbcommon
> 
> For your keycodemapdb patches I'd suggest to cherry-pick at least the
> "ui: move qemu_input_linux_to_qcode()" patch.

FYI, after adding qcodes to the keycodemapdb, (but not having picked
your branch), I see 131 keys where there is a known AT set 1 scancode,
but no corresponding QKeyCode.

I'll happily add the rest of them if you want (attaching the list)

> Then have sdl + gtk generate linux evdev codes using keycodemapdb, map
> that to qcodes using qemu_input_linux_to_qcode(), submit qcodes to the
> qemu input layer.

I was actually just going add an entry for QKeyCode names to the
keycodemapdb, so we can convert straight to that, and also let
us auto-generate the qemu_input_linux_to_qcode() table.

Strangely there is no Linux key code defined for AltGr, so if we
map via Linux key codes, we would loose ability to send AltGr

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

[-- Attachment #2: missing.txt --]
[-- Type: text/plain, Size: 8232 bytes --]

      Linux Key Name    AT Set 1 scancode
                                     0x54                     
  KEY_ZENKAKUHANKAKU                 0x76                     
        KEY_KATAKANA                 0x78                     
KEY_KATAKANAHIRAGANA                 0x70                     
        KEY_MUHENKAN                 0x7b                     
       KEY_KPJPCOMMA                 0x5c                     
        KEY_LINEFEED                 0x5b                     
           KEY_MACRO               0xe06f                     
            KEY_MUTE               0xe020                     
      KEY_VOLUMEDOWN               0xe02e                     
        KEY_VOLUMEUP               0xe030                     
           KEY_POWER               0xe05e                     
         KEY_KPEQUAL                 0x59                     
     KEY_KPPLUSMINUS               0xe04e                     
           KEY_PAUSE               0xe046                     
           KEY_SCALE               0xe00b                     
           KEY_HANJA               0xe00d                     
         KEY_COMPOSE               0xe05d                     
            KEY_STOP               0xe068                     
           KEY_AGAIN               0xe005                     
           KEY_PROPS               0xe006                     
            KEY_UNDO               0xe007                     
           KEY_FRONT               0xe00c                     
            KEY_COPY               0xe078                     
            KEY_OPEN                 0x64                     
           KEY_PASTE                 0x65                     
            KEY_FIND               0xe041                     
             KEY_CUT               0xe03c                     
            KEY_HELP               0xe075                     
            KEY_MENU               0xe01e                     
            KEY_CALC               0xe021                     
           KEY_SETUP                 0x66                     
           KEY_SLEEP               0xe05f                     
          KEY_WAKEUP               0xe063                     
            KEY_FILE                 0x67                     
        KEY_SENDFILE                 0x68                     
      KEY_DELETEFILE                 0x69                     
            KEY_XFER               0xe013                     
           KEY_PROG1               0xe01f                     
           KEY_PROG2               0xe017                     
             KEY_WWW               0xe002                     
           KEY_MSDOS                 0x6a                     
      KEY_SCREENLOCK               0xe012                     
       KEY_DIRECTION                 0x6b                     
    KEY_CYCLEWINDOWS               0xe026                     
            KEY_MAIL               0xe06c                     
       KEY_BOOKMARKS               0xe066                     
        KEY_COMPUTER               0xe06b                     
            KEY_BACK               0xe06a                     
         KEY_FORWARD               0xe069                     
         KEY_CLOSECD               0xe023                     
         KEY_EJECTCD                 0x6c                     
    KEY_EJECTCLOSECD               0xe07d                     
        KEY_NEXTSONG               0xe019                     
       KEY_PLAYPAUSE               0xe022                     
    KEY_PREVIOUSSONG               0xe010                     
          KEY_STOPCD               0xe024                     
          KEY_RECORD               0xe031                     
          KEY_REWIND               0xe018                     
           KEY_PHONE                 0x63                     
             KEY_ISO                 0x70                     
          KEY_CONFIG               0xe001                     
        KEY_HOMEPAGE               0xe032                     
         KEY_REFRESH               0xe067                     
            KEY_EXIT                 0x71                     
            KEY_MOVE                 0x72                     
            KEY_EDIT               0xe008                     
        KEY_SCROLLUP                 0x75                     
      KEY_SCROLLDOWN               0xe00f                     
     KEY_KPLEFTPAREN               0xe076                     
    KEY_KPRIGHTPAREN               0xe07b                     
             KEY_NEW               0xe009                     
            KEY_REDO               0xe00a                     
             KEY_F13                 0x5d                     
             KEY_F14                 0x5e                     
             KEY_F15                 0x5f                     
             KEY_F16                 0x55                     
             KEY_F17               0xe003                     
             KEY_F18               0xe077                     
             KEY_F19               0xe004                     
             KEY_F20                 0x5a                     
             KEY_F21                 0x74                     
             KEY_F22               0xe079                     
             KEY_F23                 0x6d                     
             KEY_F24                 0x6f                     
                                   0xe015                     
                                   0xe016                     
                                   0xe01a                     
                                   0xe01b                     
                                   0xe027                     
          KEY_PLAYCD               0xe028                     
         KEY_PAUSECD               0xe029                     
           KEY_PROG3               0xe02b                     
           KEY_PROG4               0xe02c                     
       KEY_DASHBOARD               0xe02d                     
         KEY_SUSPEND               0xe025                     
           KEY_CLOSE               0xe02f                     
            KEY_PLAY               0xe033                     
     KEY_FASTFORWARD               0xe034                     
       KEY_BASSBOOST               0xe036                     
           KEY_PRINT               0xe039                     
              KEY_HP               0xe03a                     
          KEY_CAMERA               0xe03b                     
           KEY_SOUND               0xe03d                     
        KEY_QUESTION               0xe03e                     
           KEY_EMAIL               0xe03f                     
            KEY_CHAT               0xe040                     
          KEY_SEARCH               0xe065                     
         KEY_CONNECT               0xe042                     
         KEY_FINANCE               0xe043                     
           KEY_SPORT               0xe044                     
            KEY_SHOP               0xe045                     
        KEY_ALTERASE               0xe014                     
          KEY_CANCEL               0xe04a                     
  KEY_BRIGHTNESSDOWN               0xe04c                     
    KEY_BRIGHTNESSUP               0xe054                     
           KEY_MEDIA               0xe06d                     
 KEY_SWITCHVIDEOMODE               0xe056                     
  KEY_KBDILLUMTOGGLE               0xe057                     
    KEY_KBDILLUMDOWN               0xe058                     
      KEY_KBDILLUMUP               0xe059                     
            KEY_SEND               0xe05a                     
           KEY_REPLY               0xe064                     
     KEY_FORWARDMAIL               0xe00e                     
            KEY_SAVE               0xe055                     
       KEY_DOCUMENTS               0xe070                     
         KEY_BATTERY               0xe071                     
       KEY_BLUETOOTH               0xe072                     
            KEY_WLAN               0xe073                     
             KEY_UWB               0xe074                     

  reply	other threads:[~2017-07-26 12:05 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-07-24 16:46 [Qemu-devel] [PATCH for 2.10] ps2: fix sending of PAUSE/BREAK scancodes Daniel P. Berrange
2017-07-24 19:55 ` Hervé Poussineau
2017-07-25  8:32   ` Daniel P. Berrange
2017-07-25 11:53     ` Gerd Hoffmann
2017-07-26 11:28       ` Daniel P. Berrange
2017-07-26 11:44         ` Gerd Hoffmann
2017-07-26 12:05           ` Daniel P. Berrange [this message]
2017-07-26 12:33             ` Gerd Hoffmann
2017-07-26 12:45               ` Daniel P. Berrange
2017-07-27  9:50                 ` Daniel P. Berrange

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=20170726120529.GG7620@redhat.com \
    --to=berrange@redhat.com \
    --cc=hpoussin@reactos.org \
    --cc=kraxel@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).