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

Re: [Xen-devel] [PATCH] Paravirt framebuffer backend tools [2/5]

I think I understand the problem of key encoding, but I'm not sure I
fully understand the solutions proposed here, so let me summarize and
ask (possibly stupid) questions.

The backend gets keys in an encoding that depends on the software used
to access the keyboard:

* with SDL, struct SDL_keysym (consists of scancode, SDL keysym,
current modifiers and optionally Unicode translation),

* with LibVNCServer: rfbKeySym (which is just an X11 keysym).

The frontend needs to stuff Linux keycodes into the input layer.

Our job is to translate from frontend keysyms to Linux keycodes, and
the question is to find out how and where.

Translating SDL_keysym.scancode into Linux keycode should be
straightforward, but translating X11 keysyms isn't.  Steven mentioned
code in rdesktop that does that, and Anthony pointed to QEMU.

It would be nice to encapsulate all knowledge about frontend keysyms
in the frontends, i.e. to translate to a common wire encoding there.
Any reason why that's not the way to go?  Any reason why the wire
encoding can't (or shouldn't) be simply Linux keycodes?

Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.