[systemd-commits] src/shared src/udev

Peter Hutterer whot at kemper.freedesktop.org
Mon Apr 6 18:46:39 PDT 2015


 src/shared/missing.h             |    4 ++++
 src/udev/udev-builtin-input_id.c |    5 +++++
 2 files changed, 9 insertions(+)

New commits:
commit bd1acc9f2ffa9c2baf1ddd6bb965352aef5c7446
Author: Hans de Goede <hdegoede at redhat.com>
Date:   Fri Apr 3 12:07:32 2015 +0200

    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.

diff --git a/src/shared/missing.h b/src/shared/missing.h
index 52d49f7..21c6afc 100644
--- a/src/shared/missing.h
+++ b/src/shared/missing.h
@@ -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
diff --git a/src/udev/udev-builtin-input_id.c b/src/udev/udev-builtin-input_id.c
index d4c38ca..ecfc447 100644
--- a/src/udev/udev-builtin-input_id.c
+++ b/src/udev/udev-builtin-input_id.c
@@ -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) &&



More information about the systemd-commits mailing list