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
next prev parent 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.