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 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).