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? # 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. 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. Amos.