qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PULL 4/7] ui: add multimedia keys


From: Daniel P. Berrange
Subject: Re: [Qemu-devel] [PULL 4/7] ui: add multimedia keys
Date: Thu, 27 Jul 2017 18:45:22 +0100
User-agent: Mutt/1.8.3 (2017-05-23)

On Thu, Jul 27, 2017 at 04:00:22PM +0200, Gerd Hoffmann wrote:
> Add multimedia keys to QKeyCodes and to the keymaps.
> 
> Signed-off-by: Gerd Hoffmann <address@hidden>
> Reviewed-by: Eric Blake <address@hidden>
> Message-id: address@hidden
> ---
>  ui/input-keymap.c | 44 ++++++++++++++++++++++++++++++++++++++++++++
>  qapi-schema.json  | 28 +++++++++++++++++++++++++++-
>  2 files changed, 71 insertions(+), 1 deletion(-)
> 
> diff --git a/ui/input-keymap.c b/ui/input-keymap.c
> index 7461e1edde..ae781beae9 100644
> --- a/ui/input-keymap.c
> +++ b/ui/input-keymap.c
> @@ -116,6 +116,28 @@ static int linux_to_qcode[KEY_CNT] = {
>      [KEY_LEFTMETA]       = Q_KEY_CODE_META_L,
>      [KEY_RIGHTMETA]      = Q_KEY_CODE_META_R,
>      [KEY_MENU]           = Q_KEY_CODE_MENU,
> +
> +    [KEY_SLEEP]          = Q_KEY_CODE_SLEEP,
> +    [KEY_WAKEUP]         = Q_KEY_CODE_WAKE,
> +    [KEY_CALC]           = Q_KEY_CODE_CALCULATOR,
> +    [KEY_MAIL]           = Q_KEY_CODE_MAIL,
> +    [KEY_COMPUTER]       = Q_KEY_CODE_COMPUTER,
> +
> +    [KEY_STOP]           = Q_KEY_CODE_AC_STOP,

We already have a Q_KEY_CODE_STOP that I think is the correct mapping
for KEY_STOP, so this new Q_KEY_CODE_AC_STOP looks like a dupe.

> +    [KEY_BOOKMARKS]      = Q_KEY_CODE_AC_BOOKMARKS,
> +    [KEY_BACK]           = Q_KEY_CODE_AC_BACK,
> +    [KEY_FORWARD]        = Q_KEY_CODE_AC_FORWARD,
> +    [KEY_HOMEPAGE]       = Q_KEY_CODE_AC_HOME,
> +    [KEY_REFRESH]        = Q_KEY_CODE_AC_REFRESH,
> +    [KEY_FIND]           = Q_KEY_CODE_AC_SEARCH,

Similarly we already have a Q_KEY_CODE_FIND that should map to
KEY_FIND, so this Q_KEY_CODE_AC_SEARCH is another dup AFAICT.

I'm curious what the 'AC_' prefix on all these is indicating ?
Do we actually need it ?

> +
> +    [KEY_NEXTSONG]       = Q_KEY_CODE_AUDIONEXT,
> +    [KEY_PREVIOUSSONG]   = Q_KEY_CODE_AUDIOPREV,
> +    [KEY_STOPCD]         = Q_KEY_CODE_AUDIOSTOP,
> +    [KEY_PLAYCD]         = Q_KEY_CODE_AUDIOPLAY,
> +    [KEY_MUTE]           = Q_KEY_CODE_AUDIOMUTE,
> +    [KEY_VOLUMEDOWN]     = Q_KEY_CODE_VOLUMEDOWN,
> +    [KEY_VOLUMEUP]       = Q_KEY_CODE_VOLUMEUP,

Missing Q_KEY_CODE_MEDIASELECT entry - presumably it was supposed
to map to  KEY_MEDIA

>  };
>  
>  static const int qcode_to_number[] = {
> @@ -252,6 +274,28 @@ static const int qcode_to_number[] = {
>      [Q_KEY_CODE_YEN] = 0x7d,
>      [Q_KEY_CODE_KP_COMMA] = 0x7e,
>  
> +    [Q_KEY_CODE_SLEEP] = 0xdf,
> +    [Q_KEY_CODE_WAKE] = 0xe3,
> +    [Q_KEY_CODE_CALCULATOR] = 0xa1,
> +    [Q_KEY_CODE_MAIL] = 0xec,
> +    [Q_KEY_CODE_COMPUTER] = 0xeb,
> +
> +    [Q_KEY_CODE_AC_STOP] = 0xe8,
> +    [Q_KEY_CODE_AC_BOOKMARKS] = 0xe6,
> +    [Q_KEY_CODE_AC_BACK] = 0xea,
> +    [Q_KEY_CODE_AC_FORWARD] = 0xe9,
> +    [Q_KEY_CODE_AC_HOME] = 0xb2,
> +    [Q_KEY_CODE_AC_REFRESH] = 0xe7,
> +    [Q_KEY_CODE_AC_SEARCH] = 0xe5,
> +
> +    [Q_KEY_CODE_AUDIONEXT] = 0x99,
> +    [Q_KEY_CODE_AUDIOPREV] = 0x90,
> +    [Q_KEY_CODE_AUDIOSTOP] = 0xa4,
> +    [Q_KEY_CODE_AUDIOPLAY] = 0xa2,
> +    [Q_KEY_CODE_AUDIOMUTE] = 0xa0,
> +    [Q_KEY_CODE_VOLUMEDOWN] = 0xae,
> +    [Q_KEY_CODE_VOLUMEUP] = 0xb0,

Again no MEDIASELECT entry

> +
>      [Q_KEY_CODE__MAX] = 0,
>  };
>  
> diff --git a/qapi-schema.json b/qapi-schema.json
> index 9c6c3e1a53..9cb15092a7 100644
> --- a/qapi-schema.json
> +++ b/qapi-schema.json
> @@ -4843,6 +4843,27 @@
>  # @henkan: since 2.9
>  # @yen: since 2.9
>  #
> +# @sleep: since 2.10
> +# @wake: since 2.10
> +# @audionext: since 2.10
> +# @audioprev: since 2.10
> +# @audiostop: since 2.10
> +# @audioplay: since 2.10
> +# @audiomute: since 2.10
> +# @volumeup: since 2.10
> +# @volumedown: since 2.10
> +# @mediaselect: since 2.10
> +# @mail: since 2.10
> +# @calculator: since 2.10
> +# @computer: since 2.10
> +# @ac_search: since 2.10
> +# @ac_home: since 2.10
> +# @ac_back: since 2.10
> +# @ac_forward: since 2.10
> +# @ac_stop: since 2.10
> +# @ac_refresh: since 2.10
> +# @ac_bookmarks: since 2.10
> +#
>  # Since: 1.3.0
>  #
>  ##
> @@ -4864,7 +4885,12 @@
>              'props', 'undo', 'front', 'copy', 'open', 'paste', 'find', 'cut',
>              'lf', 'help', 'meta_l', 'meta_r', 'compose', 'pause',
>              'ro', 'hiragana', 'henkan', 'yen',
> -            'kp_comma', 'kp_equals', 'power' ] }
> +            'kp_comma', 'kp_equals', 'power', 'sleep', 'wake',
> +            'audionext', 'audioprev', 'audiostop', 'audioplay', 'audiomute',
> +            'volumeup', 'volumedown', 'mediaselect',
> +            'mail', 'calculator', 'computer',
> +            'ac_search', 'ac_home', 'ac_back', 'ac_forward', 'ac_stop',
> +            'ac_refresh', 'ac_bookmarks' ] }
>  
>  ##
>  # @KeyValue:
> -- 
> 2.9.3
> 
> 

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]