[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 3/3] qapi: convert sendkey
From: |
Amos Kong |
Subject: |
Re: [Qemu-devel] [PATCH 3/3] qapi: convert sendkey |
Date: |
Tue, 29 May 2012 19:57:39 +0800 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:12.0) Gecko/20120430 Thunderbird/12.0.1 |
On 05/25/2012 09:14 PM, Anthony Liguori wrote:
> On 05/24/2012 10:51 PM, Eric Blake wrote:
>> On 05/24/2012 09:32 PM, Amos Kong wrote:
>>> Convert 'sendkey' to use. do_sendkey() depends on some variables
>>> in monitor.c, so reserve qmp_sendkey() to monitor.c Rename
>>> 'string' to 'keys', rename 'hold_time' to 'hold-time'
>>>
>>> Signed-off-by: Amos Kong<address@hidden>
>>
>>> +## +# @sendkey: +# +# Send keys to VM. +# +# @keys: key
>>> sequence +# @hold-time: time to delay key up events +# +#
>>> Returns: Nothing on success +# If key is unknown or
>>> redundant, QERR_INVALID_PARAMETER +# If key is invalid,
>>> QERR_INVALID_PARAMETER_VALUE +# +# Notes: Send @var{keys} to the
>>> emulator. @var{keys} could be the name of the +# key or
>>> the raw value in either decimal or hexadecimal format. Use +#
>>> @code{-} to press several keys simultaneously. +# +# Since:
>>> 0.14.0 +## +{ 'command': 'sendkey', 'data': {'keys': 'str',
>>> '*hold-time': 'int'} }
>>
>> Rather than making 'keys' a free-form string where qemu then has
>> to parse '-' to separate keys, should we instead make it a JSON
>> array? For example,
>>
>> { "execute":"sendky", "data":{ "keys":["ctrl", "alt", "del"],
>> "hold-time":200 } }
>
> Actually, we should do:
>
> { 'enum': 'KeyCode', 'data': [ 'map', 'exclam', 'at', 'numbersign',
> ...] }
>
> { 'command': 'sendkey', 'data': { 'keys': [ 'KeyCode' ],
> '*hold-time': 'int' } }
>
> That also has the benefit of making it clear what symbolic names of
> the keycodes we support are.
Talked with Anthony in IRC, paste a summary.
There is a definition of supported keys in monitor.c (key_defs[]),
we need to add all the items to enum.
There is a macro in monitor.c (key_defs[]), just ignore it.
#if defined(TARGET_SPARC) && !defined(TARGET_SPARC64)
If we use enum, we don't need to check the keycodes in qmp_sendkey(),
and key-names need to be converted to keycodes in hmp_sendkey().
The keycodes are not consecutive, enum values do not need to be the
keysym values, use a different table to map enum names to keysym values.
--
Amos.
- Re: [Qemu-devel] [PATCH 3/3] qapi: convert sendkey, (continued)
- Re: [Qemu-devel] [PATCH 3/3] qapi: convert sendkey, Amos Kong, 2012/05/25
- Re: [Qemu-devel] [PATCH 3/3] qapi: convert sendkey, Daniel P. Berrange, 2012/05/25
- Re: [Qemu-devel] [PATCH 3/3] qapi: convert sendkey, Markus Armbruster, 2012/05/25
- Re: [Qemu-devel] [PATCH 3/3] qapi: convert sendkey, Luiz Capitulino, 2012/05/25
- Re: [Qemu-devel] [PATCH 3/3] qapi: convert sendkey, Daniel P. Berrange, 2012/05/25
- Re: [Qemu-devel] [PATCH 3/3] qapi: convert sendkey, Luiz Capitulino, 2012/05/25
- Re: [Qemu-devel] [PATCH 3/3] qapi: convert sendkey, Anthony Liguori, 2012/05/25
- Re: [Qemu-devel] [PATCH 3/3] qapi: convert sendkey, Luiz Capitulino, 2012/05/25
- Re: [Qemu-devel] [PATCH 3/3] qapi: convert sendkey, Jeff Cody, 2012/05/25
- Re: [Qemu-devel] [PATCH 3/3] qapi: convert sendkey, Anthony Liguori, 2012/05/25
- Re: [Qemu-devel] [PATCH 3/3] qapi: convert sendkey,
Amos Kong <=
- Re: [Qemu-devel] [PATCH 3/3] qapi: convert sendkey, Amos Kong, 2012/05/29
- Re: [Qemu-devel] [PATCH 3/3] qapi: convert sendkey, Luiz Capitulino, 2012/05/29
- Re: [Qemu-devel] [PATCH 3/3] qapi: convert sendkey, Amos Kong, 2012/05/30
- Re: [Qemu-devel] [PATCH 3/3] qapi: convert sendkey, Luiz Capitulino, 2012/05/30
- Re: [Qemu-devel] [PATCH 3/3] qapi: convert sendkey, Amos Kong, 2012/05/30
- Re: [Qemu-devel] [PATCH 3/3] qapi: convert sendkey, Paolo Bonzini, 2012/05/31
- Re: [Qemu-devel] [PATCH 3/3] qapi: convert sendkey, Amos Kong, 2012/05/31
Re: [Qemu-devel] [PATCH 3/3] qapi: convert sendkey, Luiz Capitulino, 2012/05/25