mirror of https://github.com/nirenjan/libx52.git
This change is an initial step to adding support for profiles in x52d. This will allow the user to create a keyboard layout in an easy to read/write text based format, and have it compiled into a flat layout that's easy for the daemon to parse and load into memory. This layout can then be used to map a user's action key to the actual input usage needed. This is necessary, because keyboards don't actually send the character that is typed, but just the position on the keyboard. For example, on a French AZERTY keyboard, the A key would actually send the usage for `Keyboard_q_and_Q`. The OS would translate that into the letter 'a' (or 'A' if Shift key is held) and pass that to the active window. This commit adds the full logic necessary for the layout loading, validation and compiling, as well as tests for the compiler and loader. |
||
|---|---|---|
| .. | ||
| test_layout_allowlist_sync.py | ||
| test_x52compile_layout.py | ||
| x52compile_layout.py | ||