All of lore.kernel.org
 help / color / mirror / Atom feed
From: Amos Kong <akong@redhat.com>
To: Eric Blake <eblake@redhat.com>
Cc: aliguori@us.ibm.com, qemu-devel@nongnu.org, lcapitulino@redhat.com
Subject: Re: [Qemu-devel] [PATCH v2 6/6] qapi: convert sendkey
Date: Wed, 06 Jun 2012 15:13:39 +0800	[thread overview]
Message-ID: <4FCF0323.9070806@redhat.com> (raw)
In-Reply-To: <4FCE2027.5060002@redhat.com>

On 05/06/12 23:05, Eric Blake wrote:
> On 06/05/2012 08:55 AM, Amos Kong wrote:
>
>>>> +# @sendkey:
>>>> +#
>>>> +# Send keys to VM.
>>>> +#
>>>> +# @keys: key sequence
>>>> +# @hold-time: time to delay key up events, milliseconds
>>>> +#
>>>> +# Returns: Nothing on success
>>>> +#          If key is unknown or redundant, QERR_INVALID_PARAMETER
>>>> +#          If keys number is over the limitation, QERR_OVERFLOW
>>>> +#
>>>> +# Notes: Send keys to the emulator. Keys could be the name of the
>>>> +#        key or the raw value in either decimal or hexadecimal format. Use
>>>> +#        "-" to press several keys simultaneously.
>>>
>>> These notes don't really correspond to the QMP interface of passing
>>> in a JSON array of simultaneous keys to press.
>>
>>
>> # Notes: Send keys to the emulator. Keys could be the name of the
>> #        key or the raw value in either decimal or hexadecimal format. Use
>> #        a JSON array to press several keys simultaneously.
>>
>>
>>
>> Ho, I found another bug in my code, key in decimal or hexadecimal
>> format is not supported. I will fix it.
>
> How do you plan to support decimal in QMP?

In old do_sendkey(), only key-name and hexadecimal were supported,
the description needs to be fixed.


>   I don't think it's possible,
> at least not without still keeping a JSON array of keys to press.  On
> the other hand, I'm not sure if we need to worry about that.  Let me
> explain:
>
> Let's suppose the QMP interface is symbolic only.
>
> In the HMP interface, _you_ can use the lookup list to convert decimal
> to key name, so that the HMP interface is a wrapper around the QMP
> interface, but everything is symbolic by the time we get that far.
>
> In the libvirt case, where libvirt talks directly to QMP,

It seems we can only support key-name for QMP, and support 
key-name/hexadecimal
for HMP. Is it acceptable?


>  libvirt also
> has the same table for looking up keysyms vs. values (in fact, libvirt
> already uses that table to convert between different keysets, so for an
> example, the libvirt user can specify a command using xt_kbd or usb or
> ... mappings, which libvirt then converts into the mapping desired by
> qemu).  Since libvirt already consults a table, libvirt can ensure that
> the table has the proper QMP symbolic names in that table.


> Finally, I know there was a patch proposed by Dan Berrange a while back
> to let both libvirt and qemu share a common database of keyset names and
> corresponding integer mappings.  I don't remember if it was applied to
> qemu; if not, it should be revived and used at this time.
>

-- 
			Amos.

  reply	other threads:[~2012-06-06  7:13 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-06-01 22:54 [Qemu-devel] [PATCH v2 0/6] convert sendkey to qapi Amos Kong
2012-06-01 22:54 ` [Qemu-devel] [PATCH v2 1/6] qerror: add QERR_OVERFLOW Amos Kong
2012-06-04  5:27   ` Anthony Liguori
2012-06-05 14:29     ` [Qemu-devel] [PATCH v2 1/6] qerror: add MAX_KEYCODES 16 Amos Kong
     [not found]       ` <4FD0326F.3010806@redhat.com>
     [not found]         ` <20120611140642.06be2ee8@doriath.home>
     [not found]           ` <4FD62827.4060900@us.ibm.com>
     [not found]             ` <20120611142546.66871522@doriath.home>
2012-06-14 10:20               ` Amos Kong
2012-06-15  7:46                 ` Amos Kong
2012-06-15  7:57                   ` Gerd Hoffmann
2012-06-15 13:35                     ` Luiz Capitulino
2012-06-18 15:30                       ` Amos Kong
2012-06-19  9:52                         ` Amos Kong
2012-06-01 22:54 ` [Qemu-devel] [PATCH v2 2/6] fix doc of using raw values with sendkey Amos Kong
2012-06-06 18:16   ` Luiz Capitulino
2012-06-01 22:54 ` [Qemu-devel] [PATCH v2 3/6] rename keyname '<' to 'less' Amos Kong
2012-06-06 18:22   ` Luiz Capitulino
2012-06-06 23:12     ` Amos Kong
2012-06-01 22:54 ` [Qemu-devel] [PATCH v2 4/6] hmp: rename arguments Amos Kong
2012-06-01 22:54 ` [Qemu-devel] [PATCH v2 5/6] qapi: generate list struct and visit_list for enum Amos Kong
2012-06-05 15:01   ` Amos Kong
2012-06-06 18:40   ` Luiz Capitulino
2012-06-07  0:26     ` Michael Roth
2012-06-07  2:52       ` Amos Kong
2012-06-11 17:00         ` Luiz Capitulino
2012-06-07  0:15   ` Michael Roth
2012-06-07  3:33     ` Amos Kong
2012-06-01 22:54 ` [Qemu-devel] [PATCH v2 6/6] qapi: convert sendkey Amos Kong
2012-06-04 17:09   ` Eric Blake
2012-06-05 14:55     ` Amos Kong
2012-06-05 15:05       ` Eric Blake
2012-06-06  7:13         ` Amos Kong [this message]
2012-06-06 11:58           ` Eric Blake
2012-06-07  4:51             ` Anthony Liguori
2012-06-07 13:08               ` Eric Blake
2012-06-01 23:03 ` [Qemu-devel] [PATCH v2 0/6] convert sendkey to qapi Amos Kong

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4FCF0323.9070806@redhat.com \
    --to=akong@redhat.com \
    --cc=aliguori@us.ibm.com \
    --cc=eblake@redhat.com \
    --cc=lcapitulino@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.