diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/evdev.c | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/src/evdev.c b/src/evdev.c index 61c6dca..cba77e9 100644 --- a/src/evdev.c +++ b/src/evdev.c @@ -675,11 +675,21 @@ EvdevAddKeyClass(DeviceIntPtr device) #ifdef XKB else { - SetXkbOption(pInfo, "XkbRules", &pEvdev->xkb_rules); - SetXkbOption(pInfo, "XkbModel", &pEvdev->xkb_model); - SetXkbOption(pInfo, "XkbLayout", &pEvdev->xkb_layout); - SetXkbOption(pInfo, "XkbVariant", &pEvdev->xkb_variant); - SetXkbOption(pInfo, "XkbOptions", &pEvdev->xkb_options); + SetXkbOption(pInfo, "xkb_rules", &pEvdev->xkb_rules); + if (!pEvdev->xkb_rules) + SetXkbOption(pInfo, "XkbRules", &pEvdev->xkb_rules); + SetXkbOption(pInfo, "xkb_model", &pEvdev->xkb_model); + if (!pEvdev->xkb_rules) + SetXkbOption(pInfo, "XkbModel", &pEvdev->xkb_rules); + SetXkbOption(pInfo, "xkb_layout", &pEvdev->xkb_layout); + if (!pEvdev->xkb_rules) + SetXkbOption(pInfo, "XkbLayout", &pEvdev->xkb_rules); + SetXkbOption(pInfo, "xkb_variant", &pEvdev->xkb_variant); + if (!pEvdev->xkb_rules) + SetXkbOption(pInfo, "XkbVariant", &pEvdev->xkb_rules); + SetXkbOption(pInfo, "xkb_options", &pEvdev->xkb_options); + if (!pEvdev->xkb_rules) + SetXkbOption(pInfo, "XkbOptions", &pEvdev->xkb_rules); if (pEvdev->xkbnames.keymap) pEvdev->xkb_rules = NULL; |