Fixes incorrect detection of touchpads (#66)
Some touchpad drivers (such as applespi) claim to have both EV_ABS and EV_REL capabilities. These touchpads are then reported as mice by libudev-zero.
This commit is contained in:
parent
c027f870c8
commit
bbeb7ad51c
1 changed files with 7 additions and 7 deletions
|
|
@ -458,13 +458,7 @@ static void set_properties_from_evdev(struct udev_device *udev_device)
|
|||
udev_list_entry_add(&udev_device->properties, "ID_INPUT_SWITCH", "1", 0);
|
||||
}
|
||||
|
||||
if (test_bit(ev_bits, EV_REL)) {
|
||||
if (test_bit(rel_bits, REL_Y) && test_bit(rel_bits, REL_X) &&
|
||||
test_bit(key_bits, BTN_MOUSE)) {
|
||||
udev_list_entry_add(&udev_device->properties, "ID_INPUT_MOUSE", "1", 0);
|
||||
}
|
||||
}
|
||||
else if (test_bit(ev_bits, EV_ABS)) {
|
||||
if (test_bit(ev_bits, EV_ABS)) {
|
||||
if (test_bit(key_bits, BTN_SELECT) || test_bit(key_bits, BTN_TR) ||
|
||||
test_bit(key_bits, BTN_START) || test_bit(key_bits, BTN_TL)) {
|
||||
if (test_bit(key_bits, BTN_TOUCH)) {
|
||||
|
|
@ -494,6 +488,12 @@ static void set_properties_from_evdev(struct udev_device *udev_device)
|
|||
}
|
||||
}
|
||||
}
|
||||
else if (test_bit(ev_bits, EV_REL)) {
|
||||
if (test_bit(rel_bits, REL_Y) && test_bit(rel_bits, REL_X) &&
|
||||
test_bit(key_bits, BTN_MOUSE)) {
|
||||
udev_list_entry_add(&udev_device->properties, "ID_INPUT_MOUSE", "1", 0);
|
||||
}
|
||||
}
|
||||
|
||||
if (!test_bit(ev_bits, EV_KEY)) {
|
||||
return;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue