> On Jul 31, 2017, at 5:46 AM, Daniel P. Berrange <berra...@redhat.com> wrote: > > On Sun, Jul 30, 2017 at 04:29:27PM -0400, Programmingkid wrote: >> There are now keyboards that have 19 function keys. This patch extends QEMU >> so these function keys can be used. >> >> Signed-off-by: John Arbuckle <programmingk...@gmail.com> >> --- >> qapi-schema.json | 12 +++++++++++- >> ui/input-keymap.c | 9 +++++++++ >> 2 files changed, 20 insertions(+), 1 deletion(-) >> >> diff --git a/qapi-schema.json b/qapi-schema.json >> index c96f0a2..f1c989b 100644 >> --- a/qapi-schema.json >> +++ b/qapi-schema.json >> @@ -4862,6 +4862,15 @@ >> # @ac_refresh: since 2.10 >> # @ac_bookmarks: since 2.10 >> # altgr, altgr_r: dropped in 2.10 >> +# @f16: since 2.11 >> +# @f17: since 2.11 >> +# @f18: since 2.11 >> +# @f19: since 2.11 >> +# @f20: since 2.11 >> +# @f21: since 2.11 >> +# @f22: since 2.11 >> +# @f23: since 2.11 >> +# @f24: since 2.11 >> # >> # Since: 1.3.0 >> # >> @@ -4888,7 +4897,8 @@ >> 'audionext', 'audioprev', 'audiostop', 'audioplay', 'audiomute', >> 'volumeup', 'volumedown', 'mediaselect', >> 'mail', 'calculator', 'computer', >> - 'ac_home', 'ac_back', 'ac_forward', 'ac_refresh', >> 'ac_bookmarks' ] } >> + 'ac_home', 'ac_back', 'ac_forward', 'ac_refresh', >> 'ac_bookmarks', >> + 'f16', 'f17', 'f18', 'f19', 'f20', 'f21', 'f22', 'f23', 'f24'] } >> >> ## >> # @KeyValue: > > This bit looks fine. > >> diff --git a/ui/input-keymap.c b/ui/input-keymap.c >> index cf979c2..c0413e1 100644 >> --- a/ui/input-keymap.c >> +++ b/ui/input-keymap.c >> @@ -251,6 +251,15 @@ static const int qcode_to_number[] = { >> >> [Q_KEY_CODE_F11] = 0x57, >> [Q_KEY_CODE_F12] = 0x58, >> + [Q_KEY_CODE_F16] = 0x59, >> + [Q_KEY_CODE_F17] = 0x5a, >> + [Q_KEY_CODE_F18] = 0x5b, >> + [Q_KEY_CODE_F19] = 0x5c, >> + [Q_KEY_CODE_F20] = 0x5d, >> + [Q_KEY_CODE_F21] = 0x5e, >> + [Q_KEY_CODE_F22] = 0x5f, >> + [Q_KEY_CODE_F23] = 0x60, >> + [Q_KEY_CODE_F24] = 0x61, > > You've got a gap there F13, F14, F15 were all missing (pre-existing bug in > QEMU), so you can't carry on just incrementing after F12.
Actually F13, F14,and F15 are called Q_KEY_CODE_PRINT, Q_KEY_CODE_SCROLL_LOCK, and Q_KEY_CODE_PAUSE respectively. > Even if that were not the case, AT set1 scancodes are insane with no logical > numbering scheme. So what we actually end up needing is > > F13 == 0x5d > F14 == 0x5e > F15 == 0x5f > F16 == 0x55 > F17 == 0x83 > F18 == 0xf7 > F19 == 0x84 > F20 == 0x5a > F21 == 0x74 > F22 == 0xf9 > F23 == 0x6d > F24 == 0x6f Ok. I can adapt this numbering scheme in my next patch. Thank you for reviewing this patch set.