Category : fdo

Layout editor keyboard

This is a screenshot of the keyboard for the layout editor. The keyboard is a widget which is composed of individual widgets of each key. I did not use glade-3 for the keyboard at this time. Although it is possible to create custom widgets in Python and install them in Glade, the current distributed packages

Read More →

Keyboard layout editor UI concept

(click for bigger image) At the top we select the keyboard layout file, the variant, and set the corresponding verbose name. The keyboard layout editor shows a standard keyboard, where each keyboard key can show up to four levels. When you select a key, the bottor-left window shows the characters that have been set (here

Read More →

Converting between XKB and XML

I completed the stage that takes keyboard layout files from XKB (X.Org) and converts them to XML documents, based on a keyboard layout Relax NG schema. Then, these XML documents can also be converted back to keyboard layout files. Here is an imaginary example of a keyboard layout file. // Keyboard layout for the Zzurope

Read More →

ANTLR grammar for XKB, and Relax NG schema (draft)

I completed the ANTLRv3 grammar for symbols/ configuration files of XKB. The grammar can parse and create the abstract syntax tree (AST) for all keyboard layouts in xkeyboard-config. ANTLRv3 helps you create parsers for domain specific languages (DSL), an example of which is the configuration files in XKB. Having the ANTLRv3 grammar for a configuration

Read More →

Looking into the symbol files

In the previous post, we talked about the ANTLR grammar that parses the XKB layout files. The grammar is available at http://code.google.com/p/keyboardlayouteditor/source/browse. I’ll rather push to the freedesktop repository once the project is completed. Now it’s too easy for me, just doing svn commit -m something. Below you can see the relevant layout files for

Read More →

Parsing XKB files with antlr

antlr (well, antlr3) is an amazing tool that replaces lex/flex, yacc/bison. One would use antlr3 if they want to deal with Domain-Specific Languages (DSL), an example of which are the text configuration files. In our case, we use antlr3 to parse some of the XKB configuration files, those found in /etc/X11/xkb/symbols/??. Our aim is to

Read More →

Keyboard Layout Editor GSOC project

I got accepted for a GSOC project with the X.Org Foundation. My mentor is Sergey Udaltsov and I look forward working with him. The project is about creating a Keyboard Layout Editor, that can be used to edit XKB files with a nice GUI. I will be blogging about these from here (fdo category at

Read More →