All of lore.kernel.org
 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 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.