* [Qemu-devel] [PATCH v2 1/2] Add more function keys to QEMU
@ 2017-07-30 20:29 Programmingkid
2017-07-31 9:46 ` Daniel P. Berrange
0 siblings, 1 reply; 7+ messages in thread
From: Programmingkid @ 2017-07-30 20:29 UTC (permalink / raw)
To: Peter Maydell, Eric Blake, Daniel P. Berrange
Cc: qemu-devel@nongnu.org qemu-devel
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 <programmingkidx@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:
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,
[Q_KEY_CODE_PRINT] = 0xb7,
--
2.7.2
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [Qemu-devel] [PATCH v2 1/2] Add more function keys to QEMU
2017-07-30 20:29 [Qemu-devel] [PATCH v2 1/2] Add more function keys to QEMU Programmingkid
@ 2017-07-31 9:46 ` Daniel P. Berrange
2017-07-31 12:46 ` Programmingkid
0 siblings, 1 reply; 7+ messages in thread
From: Daniel P. Berrange @ 2017-07-31 9:46 UTC (permalink / raw)
To: Programmingkid
Cc: Peter Maydell, Eric Blake, qemu-devel@nongnu.org qemu-devel
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 <programmingkidx@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.
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
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 :|
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Qemu-devel] [PATCH v2 1/2] Add more function keys to QEMU
2017-07-31 9:46 ` Daniel P. Berrange
@ 2017-07-31 12:46 ` Programmingkid
2017-07-31 13:10 ` Daniel P. Berrange
0 siblings, 1 reply; 7+ messages in thread
From: Programmingkid @ 2017-07-31 12:46 UTC (permalink / raw)
To: Daniel P. Berrange
Cc: Peter Maydell, Eric Blake, qemu-devel@nongnu.org qemu-devel
> On Jul 31, 2017, at 5:46 AM, Daniel P. Berrange <berrange@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 <programmingkidx@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.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Qemu-devel] [PATCH v2 1/2] Add more function keys to QEMU
2017-07-31 12:46 ` Programmingkid
@ 2017-07-31 13:10 ` Daniel P. Berrange
2017-07-31 14:52 ` Programmingkid
0 siblings, 1 reply; 7+ messages in thread
From: Daniel P. Berrange @ 2017-07-31 13:10 UTC (permalink / raw)
To: Programmingkid
Cc: Peter Maydell, Eric Blake, qemu-devel@nongnu.org qemu-devel
On Mon, Jul 31, 2017 at 08:46:56AM -0400, Programmingkid wrote:
>
> > On Jul 31, 2017, at 5:46 AM, Daniel P. Berrange <berrange@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 <programmingkidx@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.
Huh. That's not right. Print/Scroll/Pause are completely separate to F13/14/15
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 :|
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Qemu-devel] [PATCH v2 1/2] Add more function keys to QEMU
2017-07-31 13:10 ` Daniel P. Berrange
@ 2017-07-31 14:52 ` Programmingkid
2017-07-31 15:06 ` Daniel P. Berrange
0 siblings, 1 reply; 7+ messages in thread
From: Programmingkid @ 2017-07-31 14:52 UTC (permalink / raw)
To: Daniel P. Berrange
Cc: Peter Maydell, Eric Blake, qemu-devel@nongnu.org qemu-devel
> On Jul 31, 2017, at 9:10 AM, Daniel P. Berrange <berrange@redhat.com> wrote:
>
> On Mon, Jul 31, 2017 at 08:46:56AM -0400, Programmingkid wrote:
>>
>>> On Jul 31, 2017, at 5:46 AM, Daniel P. Berrange <berrange@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 <programmingkidx@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.
>
> Huh. That's not right. Print/Scroll/Pause are completely separate to F13/14/15
Actually it is how PC keyboards function keys F13 to F15 are labelled. This picture should help.
https://www.google.com/imgres?imgurl=https%3A%2F%2Faz801952.vo.msecnd.net%2Fresources%2F679d2c4e-1733-4515-8c1f-256ce28e8a53.gif&imgrefurl=https%3A%2F%2Feducation.microsoft.com%2FStory%2FLesson%3Ftoken%3DNmRcC&docid=WBXJqxx8_YpxSM&tbnid=of7lxsyPbWzk2M%3A&vet=10ahUKEwic1uTT4LPVAhXm3YMKHWnWBJ4QMwjXASgCMAI..i&w=900&h=288&bih=947&biw=1349&q=pc%20keyboard%20image&ved=0ahUKEwic1uTT4LPVAhXm3YMKHWnWBJ4QMwjXASgCMAI&iact=mrc&uact=8
The Print Screen, Scroll Lock, and Pause/Break keys correspond to F13, F14, and F15 on this keyboard. It is the same way on older Macintosh keyboards. As for keyboards of other systems there could be a difference. I'm aware of a specific example but I suppose it is possible. I do know with the current mapping of the Print Screen, Scroll Lock, and Pause/Break keys to the F13 to F15 keys Windows, Linux, and Mac OS guests seem to like it.
Did you want separate Q_KEY_CODE_F13, Q_KEY_CODE_F14, and Q_KEY_CODE_F15 constants added to QEMU?
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Qemu-devel] [PATCH v2 1/2] Add more function keys to QEMU
2017-07-31 14:52 ` Programmingkid
@ 2017-07-31 15:06 ` Daniel P. Berrange
2017-07-31 15:12 ` Programmingkid
0 siblings, 1 reply; 7+ messages in thread
From: Daniel P. Berrange @ 2017-07-31 15:06 UTC (permalink / raw)
To: Programmingkid
Cc: Peter Maydell, Eric Blake, qemu-devel@nongnu.org qemu-devel
On Mon, Jul 31, 2017 at 10:52:46AM -0400, Programmingkid wrote:
>
> > On Jul 31, 2017, at 9:10 AM, Daniel P. Berrange <berrange@redhat.com> wrote:
> >
> > On Mon, Jul 31, 2017 at 08:46:56AM -0400, Programmingkid wrote:
> >>
> >>> On Jul 31, 2017, at 5:46 AM, Daniel P. Berrange <berrange@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 <programmingkidx@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.
> >
> > Huh. That's not right. Print/Scroll/Pause are completely separate to F13/14/15
>
> Actually it is how PC keyboards function keys F13 to F15 are labelled. This
> picture should help.
[snip]
> The Print Screen, Scroll Lock, and Pause/Break keys correspond to F13, F14,
> and F15 on this keyboard. It is the same way on older Macintosh keyboards.
> As for keyboards of other systems there could be a difference. I'm aware of
> a specific example but I suppose it is possible. I do know with the current
> mapping of the Print Screen, Scroll Lock, and Pause/Break keys to the F13
> to F15 keys Windows, Linux, and Mac OS guests seem to like it.
If those keyboards are generating Print/ScrollLock/Pause scancodes when
F13/F14/F15 are pressed, then that's simply a case of the key labels
diverging from the scancodes, which is not entirely unusual. The key
point is that the various key code sets we use, define separate scancodes
for F13/F14/F15 vs Print/ScrollLock/Break, so we must match that. It just
means that the keyboards you show happen to not generate these particular
scan codes, but others will.
> Did you want separate Q_KEY_CODE_F13, Q_KEY_CODE_F14, and Q_KEY_CODE_F15
> constants added to QEMU?
Yes.
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 :|
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Qemu-devel] [PATCH v2 1/2] Add more function keys to QEMU
2017-07-31 15:06 ` Daniel P. Berrange
@ 2017-07-31 15:12 ` Programmingkid
0 siblings, 0 replies; 7+ messages in thread
From: Programmingkid @ 2017-07-31 15:12 UTC (permalink / raw)
To: Daniel P. Berrange
Cc: Peter Maydell, Eric Blake, qemu-devel@nongnu.org qemu-devel
> On Jul 31, 2017, at 11:06 AM, Daniel P. Berrange <berrange@redhat.com> wrote:
>
> On Mon, Jul 31, 2017 at 10:52:46AM -0400, Programmingkid wrote:
>>
>>> On Jul 31, 2017, at 9:10 AM, Daniel P. Berrange <berrange@redhat.com> wrote:
>>>
>>> On Mon, Jul 31, 2017 at 08:46:56AM -0400, Programmingkid wrote:
>>>>
>>>>> On Jul 31, 2017, at 5:46 AM, Daniel P. Berrange <berrange@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 <programmingkidx@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.
>>>
>>> Huh. That's not right. Print/Scroll/Pause are completely separate to F13/14/15
>>
>> Actually it is how PC keyboards function keys F13 to F15 are labelled. This
>> picture should help.
>
> [snip]
>
>> The Print Screen, Scroll Lock, and Pause/Break keys correspond to F13, F14,
>> and F15 on this keyboard. It is the same way on older Macintosh keyboards.
>> As for keyboards of other systems there could be a difference. I'm aware of
>> a specific example but I suppose it is possible. I do know with the current
>> mapping of the Print Screen, Scroll Lock, and Pause/Break keys to the F13
>> to F15 keys Windows, Linux, and Mac OS guests seem to like it.
>
> If those keyboards are generating Print/ScrollLock/Pause scancodes when
> F13/F14/F15 are pressed, then that's simply a case of the key labels
> diverging from the scancodes, which is not entirely unusual. The key
> point is that the various key code sets we use, define separate scancodes
> for F13/F14/F15 vs Print/ScrollLock/Break, so we must match that. It just
> means that the keyboards you show happen to not generate these particular
> scan codes, but others will.
>
>> Did you want separate Q_KEY_CODE_F13, Q_KEY_CODE_F14, and Q_KEY_CODE_F15
>> constants added to QEMU?
>
> Yes.
Ok I will implement this change in its own patch.
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2017-07-31 15:12 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-07-30 20:29 [Qemu-devel] [PATCH v2 1/2] Add more function keys to QEMU Programmingkid
2017-07-31 9:46 ` Daniel P. Berrange
2017-07-31 12:46 ` Programmingkid
2017-07-31 13:10 ` Daniel P. Berrange
2017-07-31 14:52 ` Programmingkid
2017-07-31 15:06 ` Daniel P. Berrange
2017-07-31 15:12 ` Programmingkid
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).