Input: add missing POINTER / DIRECT properties to a bunch of drivers
authorHans de Goede <hdegoede@redhat.com>
Mon, 8 Sep 2014 21:44:05 +0000 (14:44 -0700)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Mon, 8 Sep 2014 21:58:12 +0000 (14:58 -0700)
I've not done a full audit of all mouse drivers, I noticed these ones were
missing the POINTER property while working on the POINTING_STICK property.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
drivers/input/mouse/alps.c
drivers/input/mouse/elantech.c
drivers/input/mouse/psmouse-base.c
drivers/input/mouse/synaptics_usb.c
drivers/input/mouse/trackpoint.c

index 9d9e5076d402098353de590eb8d7a2b981dcd0bd..35a49bf572273e464399944c05e8072a7b06e138 100644 (file)
@@ -2373,6 +2373,7 @@ int alps_init(struct psmouse *psmouse)
        dev2->keybit[BIT_WORD(BTN_LEFT)] =
                BIT_MASK(BTN_LEFT) | BIT_MASK(BTN_MIDDLE) | BIT_MASK(BTN_RIGHT);
 
+       __set_bit(INPUT_PROP_POINTER, dev2->propbit);
        if (priv->flags & ALPS_DUALPOINT)
                __set_bit(INPUT_PROP_POINTING_STICK, dev2->propbit);
 
index 0cbf6281899cac9ac77f1cd000cc2bc8a2bb003e..06fc6e76ffbe0cf725053b8a1bdb3faaefa1c629 100644 (file)
@@ -1615,6 +1615,7 @@ int elantech_init(struct psmouse *psmouse)
                        BIT_MASK(BTN_LEFT) | BIT_MASK(BTN_MIDDLE) |
                        BIT_MASK(BTN_RIGHT);
 
+               __set_bit(INPUT_PROP_POINTER, tp_dev->propbit);
                __set_bit(INPUT_PROP_POINTING_STICK, tp_dev->propbit);
 
                error = input_register_device(etd->tp_dev);
index cff065f6261cf31a3188226f14fe28e9291f6770..b4e1f014ddc2297affeda8abc73c15954fdfabf0 100644 (file)
@@ -670,6 +670,8 @@ static void psmouse_apply_defaults(struct psmouse *psmouse)
        __set_bit(REL_X, input_dev->relbit);
        __set_bit(REL_Y, input_dev->relbit);
 
+       __set_bit(INPUT_PROP_POINTER, input_dev->propbit);
+
        psmouse->set_rate = psmouse_set_rate;
        psmouse->set_resolution = psmouse_set_resolution;
        psmouse->poll = psmouse_poll;
index db3973d78207f908fe0d017593078f1242db7579..6bcc0189c1c99898dc39bd5ced920f60c13bd553 100644 (file)
@@ -402,6 +402,11 @@ static int synusb_probe(struct usb_interface *intf,
                __set_bit(BTN_TOOL_TRIPLETAP, input_dev->keybit);
        }
 
+       if (synusb->flags & SYNUSB_TOUCHSCREEN)
+               __set_bit(INPUT_PROP_DIRECT, input_dev->propbit);
+       else
+               __set_bit(INPUT_PROP_POINTER, input_dev->propbit);
+
        __set_bit(BTN_LEFT, input_dev->keybit);
        __set_bit(BTN_RIGHT, input_dev->keybit);
        __set_bit(BTN_MIDDLE, input_dev->keybit);
index b377462748a2ba4faaece127809abd56f364d99c..30c8b6998808fa452a19e437c33bd7e9db8a0888 100644 (file)
@@ -393,6 +393,7 @@ int trackpoint_detect(struct psmouse *psmouse, bool set_properties)
        if ((button_info & 0x0f) >= 3)
                __set_bit(BTN_MIDDLE, psmouse->dev->keybit);
 
+       __set_bit(INPUT_PROP_POINTER, psmouse->dev->propbit);
        __set_bit(INPUT_PROP_POINTING_STICK, psmouse->dev->propbit);
 
        trackpoint_defaults(psmouse->private);