summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorKristian Høgsberg <krh@bitplanet.net>2013-12-16 15:07:59 -0800
committerKristian Høgsberg <krh@bitplanet.net>2013-12-16 15:42:38 -0800
commit3d793c9053ca0097c0c5cfc44cfec51136db14c7 (patch)
tree20a4fa16074d034132c94426953d4bbbb4cd5c80 /src
parent77b0d23c00736b84b0fe11382911c89c9cb03cc6 (diff)
evdev: Use a has_keyboard flag instead of EVDEV_KEYBOARD bit
Diffstat (limited to 'src')
-rw-r--r--src/evdev.c14
-rw-r--r--src/evdev.h3
2 files changed, 8 insertions, 9 deletions
diff --git a/src/evdev.c b/src/evdev.c
index 3163ee07..bbce5870 100644
--- a/src/evdev.c
+++ b/src/evdev.c
@@ -50,7 +50,7 @@ evdev_led_update(struct evdev_device *device, enum weston_led leds)
struct input_event ev[ARRAY_LENGTH(map) + 1];
unsigned int i;
- if (!device->caps & EVDEV_KEYBOARD)
+ if (!(device->seat_caps & EVDEV_SEAT_KEYBOARD))
return;
memset(ev, 0, sizeof(ev));
@@ -444,7 +444,7 @@ evdev_configure_device(struct evdev_device *device)
unsigned long abs_bits[NBITS(ABS_MAX)];
unsigned long rel_bits[NBITS(REL_MAX)];
unsigned long key_bits[NBITS(KEY_MAX)];
- int has_key, has_abs, has_rel, has_mt, has_button;
+ int has_key, has_abs, has_rel, has_mt, has_button, has_keyboard;
unsigned int i;
has_key = 0;
@@ -452,6 +452,7 @@ evdev_configure_device(struct evdev_device *device)
has_abs = 0;
has_mt = 0;
has_button = 0;
+ has_keyboard = 0;
device->caps = 0;
ioctl(device->fd, EVIOCGBIT(0, sizeof(ev_bits)), ev_bits);
@@ -534,7 +535,7 @@ evdev_configure_device(struct evdev_device *device)
if (i >= BTN_MISC && i < KEY_OK)
continue;
if (TEST_BIT(key_bits, i)) {
- device->caps |= EVDEV_KEYBOARD;
+ has_keyboard = 1;
break;
}
}
@@ -549,9 +550,8 @@ evdev_configure_device(struct evdev_device *device)
}
}
}
- if (TEST_BIT(ev_bits, EV_LED)) {
- device->caps |= EVDEV_KEYBOARD;
- }
+ if (TEST_BIT(ev_bits, EV_LED))
+ has_keyboard = 1;
/* This rule tries to catch accelerometer devices and opt out. We may
* want to adjust the protocol later adding a proper event for dealing
@@ -573,7 +573,7 @@ evdev_configure_device(struct evdev_device *device)
has_rel ? " relative-motion": "",
has_button ? " button" : "");
}
- if ((device->caps & EVDEV_KEYBOARD)) {
+ if (has_keyboard) {
if (weston_seat_init_keyboard(device->seat, NULL) < 0)
return -1;
device->seat_caps |= EVDEV_SEAT_KEYBOARD;
diff --git a/src/evdev.h b/src/evdev.h
index 7dea01e3..691b0a78 100644
--- a/src/evdev.h
+++ b/src/evdev.h
@@ -42,8 +42,7 @@ enum evdev_event_type {
};
enum evdev_device_capability {
- EVDEV_KEYBOARD = (1 << 0),
- EVDEV_TOUCH = (1 << 1),
+ EVDEV_TOUCH = (1 << 0),
};
enum evdev_device_seat_capability {