Skip to content

Keyboard internationalization

This MR adds all the keyboard layouts specified by the Unicode CLDR project. The converter used to generate the layout files (res/generate_layouts.py) is also added. G3kKeyboard then loads the appropriate keyboard layout based on the locale.

Technical details:

  • Keys in the keyboard layout JSON files can have one of these three elements: target, character or keyval. A target specifies that the key switches to another mode (e.g. from alphabet to numbers). A character can be any unicode character. A keyval can be any key as understood by X11, which is currently only used to send XK_BackSpace.
  • XrdWindow string properties now use character arrays instead of GStrings
  • XrdWindow now has three keyboard-specific properties: target, character and keyval. They should be moved to a G3kKeyboardKey class in the future.

Merge request reports