[libvirt] feature request: virDomainSendkeys API

Yaniv Kaul ykaul at redhat.com
Tue Oct 13 13:22:32 UTC 2009


On 10/13/2009 2:58 PM, Daniel P. Berrange wrote:
> On Sat, Oct 10, 2009 at 10:50:51AM +0200, Dan Kenigsberg wrote:
>    
>> Our QA team makes use of qemu's sendkeys monitor command to test
>> interesting things such as Windows guest installation-from-scratch.
>>
>> When we move to libvirt, we loose this ability.
>>
>> On irc, dpb suggested using vnc to send the required keys. Are you aware
>> of a command-line tool for that, or should we build our own? If we go
>> down this path, we would have to build a similar tool for testing VMs
>> with SPICE. (and have nothing to do for VMs with no graphics support,
>> but these are not used in the product anyway)
>>      
> There's no CLI that I'm aware of currently. gtk-vnc would be the closest
> to that, but it does not currently expose its low level VNC connection
> GObject to the public - only its GTK widget - which would force use of
> a gui that you probably don't want
>
>    
>> Alternatively, libvirt can supply a new API for injecting key strokes
>> into a domain. Surely it's useful only for debug and qa, but so is
>> virDomainMemoryPeek.
>>      
> It is  a possibility - the fun bit would be deciding what the semantics
> would reasonably be. QEMU's sendkey monitor function defines a crude
> list of ~70 keysym names it will recognise, which does not seem to be in
> any way connected to its current loaded keyboard layout (if any). In fact
> for VNC, the preferred way is not to use a keylayout at all, and pass the
> raw scancodes, allowing guest OS to interpret them according its layout.
>
> So an API for 'sendkey' would suffer from not covering all keys&  not
> being aligned with any active keylayout, and probably could not have a
> standardized keysym naming convention across hypervisor drivers.
>    

But would keep our tests happy.
Y.

> Daniel
>    




More information about the libvir-list mailing list