Changes between Version 19 and Version 20 of ProjectIdeas
- Timestamp:
- 02/25/14 11:37:08 (8 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
ProjectIdeas
v19 v20 2 2 = Project Ideas = 3 3 4 Xpra is a remote desktop tool providing many exciting features as compared to other open source tools. It is developed with a mix of Python and C, and works on many platforms. The list below describes Google Summer of Code project ideas, aimed both at improving Xpra and at teaching the students about how a remote desktop solution works.5 4 Xpra is a remote desktop tool providing many exciting features as compared to other open source tools. It is developed with a [/wiki/Source#Statistics mix of Python and C], and works on many platforms. The list below describes Google Summer of Code project ideas, aimed both at improving Xpra and at teaching the students about how a remote desktop solution works. 5 6 6 Xpra is taking part in [https://www.google-melange.com/gsoc/homepage/google/gsoc2014 Google Summer of Code 2014] under the umbrella of the [http://www.x.org/ X.org] organization. Students will therefore be applying to [http://www.x.org/wiki/SummerOfCodeIdeas/ X.org GSoC] after having discussed their project with Xpra. To apply, you need to : 7 7 - [/wiki/Building download, build] and [/wiki/Usage use Xpra] a little … … 42 42 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.\\ 43 43 The tasks for this project are: 44 * Learn and understand the X11 keyboard input system (specifically Xkb)45 * Re-implement keyboard mapping logic using Xkbinstead of core keyboard API (probably using the [http://xkbcommon.org/doc/current/ xkbcommon] library)44 * Learn and understand the X11 keyboard input system (specifically {{{Xkb}}}) 45 * Re-implement keyboard mapping logic using {{{Xkb}}} instead of core keyboard API (probably using the [http://xkbcommon.org/doc/current/ xkbcommon] library) 46 46 47 47 '''Difficulty''': hard\\