aboutsummaryrefslogtreecommitdiff
path: root/src/evdev_key.c
diff options
context:
space:
mode:
authorZephaniah E. Hull <warp@aehallh.com>2006-03-16 13:09:19 +0000
committerZephaniah E. Hull <warp@aehallh.com>2006-03-16 13:09:19 +0000
commit05b56eeb5c74aebe81de7550c41546d7d6f3fb0c (patch)
tree0e8b5de5bee20bb6dc9dbddceb020d1161599c94 /src/evdev_key.c
parentUpdate to include all the new device matching options. (diff)
downloadxf86-input-evdev-05b56eeb5c74aebe81de7550c41546d7d6f3fb0c.tar.gz
xf86-input-evdev-05b56eeb5c74aebe81de7550c41546d7d6f3fb0c.tar.bz2
xf86-input-evdev-05b56eeb5c74aebe81de7550c41546d7d6f3fb0c.zip
Switch from my own globbing function to fnmatch.
Detect keys numbered higher then buttons. Remove the (depreciated since long before xkb support was added to evdev) XkbKeymap option.
Diffstat (limited to 'src/evdev_key.c')
-rw-r--r--src/evdev_key.c34
1 files changed, 17 insertions, 17 deletions
diff --git a/src/evdev_key.c b/src/evdev_key.c
index e9d4518..1073d62 100644
--- a/src/evdev_key.c
+++ b/src/evdev_key.c
@@ -365,6 +365,12 @@ EvdevKeyNew (InputInfoPtr pInfo)
keys = 1;
break;
}
+ if (!keys)
+ for (i = KEY_OK; i <= KEY_MAX; i++)
+ if (TestBit (i, pEvdev->bits.key)) {
+ keys = 1;
+ break;
+ }
if (!keys)
return !Success;
@@ -375,23 +381,17 @@ EvdevKeyNew (InputInfoPtr pInfo)
pInfo->flags |= XI86_KEYBOARD_CAPABLE | XI86_CONFIGURED;
- SetXkbOption (pInfo, "XkbKeymap", NULL, &state->key->xkbnames.keymap);
- if (state->key->xkbnames.keymap) {
- xf86Msg(X_CONFIG, "%s: XkbKeymap overrides all other XKB settings\n",
- pInfo->name);
- } else {
- SetXkbOption (pInfo, "XkbRules", __XKBDEFRULES__, &state->key->xkb_rules);
- SetXkbOption (pInfo, "XkbModel", "evdev", &state->key->xkb_model);
- SetXkbOption (pInfo, "XkbLayout", "us", &state->key->xkb_layout);
- SetXkbOption (pInfo, "XkbVariant", NULL, &state->key->xkb_variant);
- SetXkbOption (pInfo, "XkbOptions", NULL, &state->key->xkb_options);
-
- SetXkbOption (pInfo, "XkbKeycodes", NULL, &state->key->xkbnames.keycodes);
- SetXkbOption (pInfo, "XkbTypes", NULL, &state->key->xkbnames.types);
- SetXkbOption (pInfo, "XkbCompat", NULL, &state->key->xkbnames.compat);
- SetXkbOption (pInfo, "XkbSymbols", NULL, &state->key->xkbnames.symbols);
- SetXkbOption (pInfo, "XkbGeometry", NULL, &state->key->xkbnames.geometry);
- }
+ SetXkbOption (pInfo, "XkbRules", __XKBDEFRULES__, &state->key->xkb_rules);
+ SetXkbOption (pInfo, "XkbModel", "evdev", &state->key->xkb_model);
+ SetXkbOption (pInfo, "XkbLayout", "us", &state->key->xkb_layout);
+ SetXkbOption (pInfo, "XkbVariant", NULL, &state->key->xkb_variant);
+ SetXkbOption (pInfo, "XkbOptions", NULL, &state->key->xkb_options);
+
+ SetXkbOption (pInfo, "XkbKeycodes", NULL, &state->key->xkbnames.keycodes);
+ SetXkbOption (pInfo, "XkbTypes", NULL, &state->key->xkbnames.types);
+ SetXkbOption (pInfo, "XkbCompat", NULL, &state->key->xkbnames.compat);
+ SetXkbOption (pInfo, "XkbSymbols", NULL, &state->key->xkbnames.symbols);
+ SetXkbOption (pInfo, "XkbGeometry", NULL, &state->key->xkbnames.geometry);
return Success;
}