Il 21/05/2013 11:51, Amos Kong ha scritto:
> On Tue, May 21, 2013 at 05:04:30PM +0800, Amos Kong wrote:
>> On Tue, May 21, 2013 at 10:38:00AM +0200, Paolo Bonzini wrote:
>>>> Please correct me if something is wrong, thanks.
>>>>
>>>> When we use VNC/SPICE/SDL, vm Window will captured the key events,
>>>> then qemu process the events and transfer to guest through emulated PS2
>>>> device.
>>>>
>>>> When we hold the key in keyboard of host, real keyboard or host OS will
>>>> do auto-repeat. vm Window will transfer repeated events to guest.
>>>> In this case, it seems the auto-repeat of emulated PS2 device doesn't
>>>> needed.
>>>
>>> If you can make emulated autorepeat work also with VNC/SDL/SPICE, it
>>> would be much better, because then the guest can choose to enable or
>>> disable the autorepeat as desired.
>>>
>>> That's why I mentioned testing with FreeDOS, which does no emulation.
>>> You can find DOS programs to change the typematic rate.
>>
>> Yes, if we don't process events from host, the rate set in guest
>> doesn't work for SDL/VNC/SPICE/..
>>
>> I have fixed it by ignoring continual/repated(same keycode) press
>> events. It works now :)
> 
> When I test with linux guest, set rate by 'kbdrate -r ..',
> emulated PS2 device can get a keyboard_write (cmd: 0xf3), rate will
> be set, auto-repeat rate can be controlled.
> 
> I also tested by Win7, set rate by 'mode con rate=2',emulated PS2
> device can get a keyboard_write (cmd: 0xf3), rate will
> be set, auto-repeat rate can be controlled.
> 
> Is it enough to prove the auto-repeat implemented in ps2 is ok?
>  
>> I just tested by Linux guest (set rate by 'kbdrate -s ..'),
>> will test with FreeDOS.
> 
> In FreeDOS, I set rate by 'mode con rate=2', got a success prompt.
> but emulated PS2 device can't get a keyboard_write (cmd: 0xf3) in init
> stage & when I execute mode command. Auto-repeat always use default
> rate in qemu-ps2 code.
> 
> FreeDOS bug?

Probably.  Testing Windows is enough, I didn't think of it.

Which backends did you test among SDL/VNC/SPICE/GTK+?

Paolo


Reply via email to