libxkbcommon/test/data/keymaps
Wismill 5b5b67f28c
Add support for modmap None (#291)
Unlike current xkbcommon, X11’s xkbcomp allows to remove entries in
the modifiers’ map using “modifier_map None { … }”.

“None” is translated to the special value “XkbNoModifier” defined in
“X11/extensions/XKB.h”. Then it relies on the fact that in "CopyModMapDef",
the following code:

    1U << entry->modifier

ends up being zero when “entry->modifier” is “XkbNoModifier” (i.e. 0xFF).
Indeed, it relies on the overflow behaviour of the left shift, which in
practice resolves to use only the 5 low bits of the shift amount, i.e.
0x1F here. Then the result of “1U << 0xFF” is cast to “char”, i.e. 0.

This is a good trick but too magical, so in libxkbcommon we will use
an explicit test against our new constant XKB_MOD_NONE.
2023-05-01 23:30:41 +03:00
..
bad.xkb Move test data files to test/data/keymaps 2012-07-12 14:14:50 +01:00
basic.xkb Import dataset into test/data/ 2012-07-12 14:48:49 +01:00
comprehensive-plus-geom.xkb Move test data files to test/data/keymaps 2012-07-12 14:14:50 +01:00
divide-by-zero.xkb scanner: restore lost DIVIDE token 2013-11-27 13:45:15 +02:00
host.xkb keymap-dump: follow xkbcomp in printing affect=both in pointer actions 2020-11-23 20:03:17 +02:00
modmap-none.xkb Add support for modmap None (#291) 2023-05-01 23:30:41 +03:00
no-aliases.xkb keycodes: fix keymap compilation with no aliases and malloc(0)==NULL 2014-09-10 13:44:33 +03:00
no-types.xkb types: don't use canonical/required types 2012-08-07 13:20:37 +03:00
quartz.xkb test/data: change quartz.xkb from CRLF to LF 2020-09-07 11:19:45 +03:00
stringcomp.data keymap-dump: follow xkbcomp in printing affect=both in pointer actions 2020-11-23 20:03:17 +02:00
syntax-error.xkb test: add file with a syntax error 2014-07-26 22:29:22 +03:00
syntax-error2.xkb ast-build: make sure InterpDef is freeable 2014-07-27 14:32:18 +03:00
unbound-vmod.xkb state: fix unbound virtual modifier bug 2013-03-18 22:20:01 +00:00