1
0
mirror of https://github.com/systemd/systemd.git synced 2025-03-22 06:50:18 +03:00

udev: input_id: tag accelerometers as ID_INPUT_ACCELEROMETER

input_id already (tries to) tag accelerometers as such, but this only works
for absolute accelerometers. Recent kernels mark accelerometers through an
input prop. Trust that prop and always tag devices with it with
ID_INPUT_ACCELEROMETER.

Note that detection by the prop bit works the same as the existing detection
and will ensure that no other tags get set on the device.
This commit is contained in:
Hans de Goede 2015-04-03 12:07:32 +02:00 committed by Peter Hutterer
parent 606df97b6a
commit bd1acc9f2f
2 changed files with 9 additions and 0 deletions

View File

@ -952,3 +952,7 @@ static inline int kcmp(pid_t pid1, pid_t pid2, int type, unsigned long idx1, uns
#ifndef INPUT_PROP_POINTING_STICK
#define INPUT_PROP_POINTING_STICK 0x05
#endif
#ifndef INPUT_PROP_ACCELEROMETER
#define INPUT_PROP_ACCELEROMETER 0x06
#endif

View File

@ -136,6 +136,11 @@ static void test_pointers (struct udev_device *dev,
int is_mouse = 0;
int is_touchpad = 0;
if (test_bit (INPUT_PROP_ACCELEROMETER, bitmask_props)) {
udev_builtin_add_property(dev, test, "ID_INPUT_ACCELEROMETER", "1");
return;
}
if (!test_bit (EV_KEY, bitmask_ev)) {
if (test_bit (EV_ABS, bitmask_ev) &&
test_bit (ABS_X, bitmask_abs) &&