Re: [PATCH spice-protocol] vdagent: add keyboard description message

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> ----- Original Message -----
> > The message will be used for transferring the keyboard layout
> > from the client to the guest. When the agent receives this message,
> > it tries to set the specified keyboard layout.
> > 
> > https://bugs.freedesktop.org/show_bug.cgi?id=85332
> > ---
> > VDAgentMessage will be used for the transfer, the type of the
> > message depends
> > on a client.
> > Linux clients use VD_AGENT_KEYBOARD_DESCRIPTION_XKB,
> > windows clients use VD_AGENT_KEYBOARD_DESCRIPTION_WINDOWS.
> 
> Can you be more explicit about the content of the message? How do you
> transfer the keyboard layout?
> 
xkb client: the content is a string having information similar like running 'setxkbmap -print'.
windows client: the content is based on GetKeyboardLayoutName function which returns 
a device identifier and a language identifier (eg 0x0409 for us english).

> It sounds wrong that the guest agent will have to accommodate with
> two kinds of descriptions. It would make more sense to me for the
> protocol to define one description (presumably xkb), and make the
> client and agent use that only, as it should reduce the complexity.
> Perhaps you have good reasons to have two kind of descriptions
> possible?

Some conversions between xkb and windows definitions are possible, but I wanted 
to have more precise behavior when the client and the guest are running the same OS.
> 
> > ---
> >  spice/vd_agent.h | 6 ++++++
> >  1 file changed, 6 insertions(+)
> > 
> > diff --git a/spice/vd_agent.h b/spice/vd_agent.h
> > index 7464661..79cc39d 100644
> > --- a/spice/vd_agent.h
> > +++ b/spice/vd_agent.h
> > @@ -77,6 +77,7 @@ enum {
> >      VD_AGENT_FILE_XFER_DATA,
> >      VD_AGENT_CLIENT_DISCONNECTED,
> >      VD_AGENT_MAX_CLIPBOARD,
> > +    VD_AGENT_KEYBOARD_DESCRIPTION,
> >      VD_AGENT_END_MESSAGE,
> >  };
> >  
> > @@ -245,6 +246,11 @@ typedef struct SPICE_ATTR_PACKED
> > VDAgentAnnounceCapabilities {
> >  #define VD_AGENT_SET_CAPABILITY(caps, index) \
> >      { (caps)[(index) / 32] |= (1 << ((index) % 32)); }
> >  
> > +enum {
> > +    VD_AGENT_KEYBOARD_DESCRIPTION_XKB,
> > +    VD_AGENT_KEYBOARD_DESCRIPTION_WINDOWS,
> > +};
> > +
> >  #include <spice/end-packed.h>
> >  
> >  #endif /* _H_VD_AGENT */
> > --
> > 1.9.3
> > 
> > _______________________________________________
> > Spice-devel mailing list
> > Spice-devel@xxxxxxxxxxxxxxxxxxxxx
> > http://lists.freedesktop.org/mailman/listinfo/spice-devel
> > 
> 
_______________________________________________
Spice-devel mailing list
Spice-devel@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/spice-devel





[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]     [Monitors]