tools/registry-list.c


Log

Author Commit Date CI Message
Peter Hutterer 50a24569 2021-11-10T14:45:53 tools/list: print an empty string for null vendor strings Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer abb115c7 2021-11-08T14:33:29 tools/list: enclose the the various field names in quotes Because otherwise the 'no' layout is treated as disagreement with whatever is to be disagreed with. Fixed in YAML 1.2 but that's not universally supported. Fixes #268
Peter Hutterer f434c690 2021-04-22T12:52:55 tools: change xkbcli list to output YAML We have a lot of keyboard layouts and the current output format is virtually useless at searching for a specific one to debug any issues with either the layout list or the output from libxkbregistry. Let's use YAML instead because that can easily be post-processed to extract the specific layouts wanted, e.g. to get the list of all layouts: xkbcli-list | yq -r ".layouts[].layout" to get the list of all variants of the "us" layout: xkbcli-list | yq -r '.layouts[] | select(.layout == "us") | .variant and the number of option groups: xkbcli-list | yq -r '.option_groups[] | length' Note that the top-level nodes have been de-capitalized, so where it was "Models" before it is now "models" and the "Options" node is now "option_groups". Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer 693ffb07 2021-04-22T12:42:00 tools: change the list separator handling Slightly easier to read than the "bool first" approach. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer 71418206 2020-07-09T12:15:45 tools: consistently return 2 on invalid usage Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer afb26e7d 2020-05-12T14:09:50 Add libxkbregistry to query available RMLVO This library is the replacement for clients parsing evdev.xml directly. Instead, they should use the API here so that in the future we may even be able to swap evdev.xml for a more suitable data format. The library parses through evdev.xml (using libxml2) and - if requested - through evdev.extras.xml as well. The merge approach is optimised for the default case where we have a system-installed rules XML and another file in $XDG_CONFIG_DIR that adds a few entries. We load the system file first, then append any custom ones to that. It's not possible to overwrite the MLVO list provided by the system files - if you want to do that, get the change upstream. XML validation is handled through the DTD itself which means we only need to check for a nonempty name, everything else the DTD validation should complain about. The logging system is effectively identical to xkbcommon. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>