qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v2 1/2] Add more function keys to QEMU


From: Daniel P. Berrange
Subject: Re: [Qemu-devel] [PATCH v2 1/2] Add more function keys to QEMU
Date: Mon, 31 Jul 2017 10:46:57 +0100
User-agent: Mutt/1.8.3 (2017-05-23)

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 <address@hidden>
> ---
>  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 :|



reply via email to

[Prev in Thread] Current Thread [Next in Thread]