xpra icon
Bug tracker and wiki

Changes between Version 5 and Version 6 of ProjectIdeas


Ignore:
Timestamp:
04/19/13 18:00:20 (7 years ago)
Author:
Antoine Martin
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ProjectIdeas

    v5 v6  
    5555           
    5656== 6) Keyboard mapping improvements ==
    57        The applications running on the server need to receive mouse and keyboard input. It is easy to map the client-side mouse-input to mouse events on the server side, but it's more difficult for the keyboard, because the keyboard mapping on the client side can be different from one client to another (US, french, german, ...). What transits over the wires are keycodes (the physical position of the key on the keyboard), and they are translated back to keysyms (the keymap-dependant symbol produced when the key is pressed) on the server side. Xpra uses obsolete X APIs to do this translation work, and often gets it wrong. In addition, running virtual machines with e.g. VirtualBox inside Xpra adds another layer of keyboard translation, and the end result is often wrong.\\
     57       The applications running on the server need to receive mouse and keyboard input. It is easy to map the client-side mouse-input to mouse events on the server side, but it's more difficult for the keyboard, because the keyboard mapping on the client side can be different from one client to another (US, french, german, ...). What transits over the wires are keycodes (the physical position of the key on the keyboard), and they are translated back to keysyms (the keymap-dependant symbol produced when the key is pressed) on the server side. Xpra uses obsolete X APIs to do this translation work, and often gets it wrong. In addition, running virtual machines with e.g. {{{VirtualBox}}} inside Xpra adds another layer of keyboard translation, and the end result is often wrong.\\
    5858       The tasks for this project are:
    5959           * Learn and understand the X11 keyboard input system (specifically Xkb)
    60            * Re-implement keyboard mapping logic using Xkb instead of core keyboard API
     60           * Re-implement keyboard mapping logic using Xkb instead of core keyboard API (probably using the [http://xkbcommon.org/doc/current/ xkbcommon] library)
    6161           
    6262           '''Difficulty''': hard\\