qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Eric Blake <eblake@redhat.com>
To: Amos Kong <akong@redhat.com>
Cc: kraxel@redhat.com, qemu-devel@nongnu.org, lcapitulino@redhat.com
Subject: Re: [Qemu-devel] [PATCH] monitor: intervally send down events to guest in hold time
Date: Mon, 22 Apr 2013 10:25:12 -0600	[thread overview]
Message-ID: <51756468.2060400@redhat.com> (raw)
In-Reply-To: <20130422073252.GC1938@t430s.nay.redhat.com>

[-- Attachment #1: Type: text/plain, Size: 2308 bytes --]

On 04/22/2013 01:32 AM, Amos Kong wrote:
> On Sat, Apr 20, 2013 at 10:06:28AM -0600, Eric Blake wrote:
>> On 04/18/2013 10:44 PM, Amos Kong wrote:
>>> (qemu) sendkey a 1000
>>>
>>> Current design is that qemu only send one down event to guest,
>>> and delay sometime, then send one up event. In this case, only
>>> key can be identified by guest.
>>>
>>> This patch changed qemu to intervally send down events to guest
>>> in the hold time, the interval is 100ms.
>>
>> I don't like this.
> 
>> When you hold a key for a long time on bare metal,
>> there is only one down and one up event;
> 
> Really? I do check events by 'showkey', the output of showkey is not the
> events sent from keyboard?

I didn't know that there is some bare metal hardware that sends more
than one event.  As long as you are matching bare metal behavior, then I
will be happy; but I still wonder if hard-coding repeat rates instead of
making it configurable is the best choice.

> 
> # showkey -s (show keys' scancode)
> I can always see many down scancodes, and one up scancode.
> It's same when I disable / enable auto-repeat mode in system.
> 
> In the real host / vnc guest/ sdl guest, hold one key, many down
> events can be checked by showkey.

Nice tool that I had not used before.  Thanks for pointing it out to me.

> 
> 
> http://msdn.microsoft.com/en-us/library/windows/desktop/gg153546(v=vs.85).aspx
> """
> If you hold down a key long enough to start the keyboard's repeat
> feature, the system sends multiple key-down messages, followed by a
> single key-up message. """
> 
> key-down messages == key-down events?
> 
>> if the console displays
>> multiple copies of the character being typed, it is because the console
>> does the repeats itself.
> 
>> If the user wants multiple down and up events,
>> they should send multiple events, not rely on one command to send
>> multiple presses.

So now that I have more information, I'm okay with sending multiple down
events and one up event for a long hold time (if we are emulating
hardware that does the same), and still making the user call send-key
multiple times if they want multiple up events.

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 621 bytes --]

  parent reply	other threads:[~2013-04-22 16:25 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-04-19  4:44 [Qemu-devel] [PATCH] monitor: intervally send down events to guest in hold time Amos Kong
2013-04-20 16:06 ` Eric Blake
2013-04-22  7:32   ` Amos Kong
2013-04-22  8:09     ` Amos Kong
2013-04-22  9:33       ` Paolo Bonzini
2013-04-22 12:43         ` Luiz Capitulino
2013-04-22 13:03           ` Paolo Bonzini
2013-04-22 13:35             ` Gerd Hoffmann
2013-04-22 14:32               ` Paolo Bonzini
2013-04-22 15:20                 ` Gerd Hoffmann
2013-04-22 15:41                   ` Paolo Bonzini
2013-04-22 14:02             ` Anthony Liguori
2013-04-22 14:22               ` Luiz Capitulino
2013-04-23  2:24               ` Amos Kong
2013-04-22  8:25     ` [Qemu-devel] [PATCH] ui/input.c: replace magic numbers by macros Amos Kong
2013-04-22 16:25     ` Eric Blake [this message]
2013-05-14 12:42 ` [Qemu-devel] [PATCH] monitor: intervally send down events to guest in hold time Laszlo Ersek
2013-05-14 14:55   ` Anthony Liguori
2013-05-15  8:13     ` 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=51756468.2060400@redhat.com \
    --to=eblake@redhat.com \
    --cc=akong@redhat.com \
    --cc=kraxel@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 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).