diff options
author | Peter Hutterer <peter.hutterer@who-t.net> | 2021-01-08 14:33:56 +1000 |
---|---|---|
committer | Sergey Udaltsov <sergey.udaltsov@gmail.com> | 2021-02-16 16:16:32 +0000 |
commit | 4265882fd2293cebea4980f7df0f2c53357bf78b (patch) | |
tree | d14e35498481a418332976d88ebbeb09ad08a7c1 /meson.build | |
parent | 6307c44a2d813350d90183f426de2174e3a4d6e3 (diff) | |
download | xkeyboard-config-4265882fd2293cebea4980f7df0f2c53357bf78b.tar.gz |
gitlab CI: generate the evdev keycodes (v2)
The various <I123> keycodes in keycodes/evdev simply match the kernel
defines + offset 8. There is no need to maintain these manually, let's
generate them instead.
Keycodes update rarely and irregularly (on average maybe every second kernel
release) so there's no need to integrate this into the build itself, let's add
it to our CI instead.
The script here uses python-libevdev which has a list of the various key
codes and their names (compile-time built-in in libevdev itself so it's
advisable that a recent libevdev is used). The script is hooked up to a custom
job that will fail if there are key codes with a #define in the kernel that
are not listed in our evdev file. We allow that job to fail, it's not that
urgent to block any merge requests.
Changes to v1, see commit 5dc9b48c and its revert 8fa3b314:
- Parse the template for existing defines and alias those keys. e.g.
alias <I121> = <MUTE>;
- Kernel v5.10 keycodes are now included in the file
- The script defaults to the correct template/keycode file, no commandline
arguments needed for the default run.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Diffstat (limited to 'meson.build')
-rw-r--r-- | meson.build | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/meson.build b/meson.build index 2a63f85..1950d85 100644 --- a/meson.build +++ b/meson.build @@ -28,7 +28,7 @@ pkgconfig.generate( # KcGST only need to be installed as-is foreach dir: ['compat', 'geometry', 'keycodes', 'symbols', 'types'] install_subdir(dir, - exclude_files: ['Makefile.am'], + exclude_files: ['Makefile.am', 'evdev.in'], install_dir: dir_xkb_base) endforeach |