HID: wacom: consolidate input capability settings for pen and touch
authorPing Cheng <pinglinux@gmail.com>
Tue, 27 Jan 2015 21:29:36 +0000 (13:29 -0800)
committerJiri Kosina <jkosina@suse.cz>
Thu, 29 Jan 2015 13:05:04 +0000 (14:05 +0100)
After PAD moved to its own interface, there were duplicated statements in
wacom_setup_pentouch_input_capabilities. Merge them together to reduce future
maintenance effort.

Signed-off-by: Ping Cheng <pingc@wacom.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
drivers/hid/wacom_wac.c

index 6d490f602cfdfcd8898cc0b72af205c971e0d131..d239d82a1f906b881c61ff4208a26d3f458a8927 100644 (file)
@@ -2089,32 +2089,17 @@ int wacom_setup_pentouch_input_capabilities(struct input_dev *input_dev,
        wacom_abs_set_axis(input_dev, wacom_wac);
 
        switch (features->type) {
-       case WACOM_MO:
-       case WACOM_G4:
-               /* fall through */
-
-       case GRAPHIRE:
-               input_set_capability(input_dev, EV_REL, REL_WHEEL);
-
-               __set_bit(BTN_LEFT, input_dev->keybit);
-               __set_bit(BTN_RIGHT, input_dev->keybit);
-               __set_bit(BTN_MIDDLE, input_dev->keybit);
-
-               __set_bit(BTN_TOOL_RUBBER, input_dev->keybit);
-               __set_bit(BTN_TOOL_PEN, input_dev->keybit);
-               __set_bit(BTN_TOOL_MOUSE, input_dev->keybit);
-               __set_bit(BTN_STYLUS, input_dev->keybit);
-               __set_bit(BTN_STYLUS2, input_dev->keybit);
-
-               __set_bit(INPUT_PROP_POINTER, input_dev->propbit);
-               break;
-
        case GRAPHIRE_BT:
                __clear_bit(ABS_MISC, input_dev->absbit);
+
+       case WACOM_MO:
+       case WACOM_G4:
                input_set_abs_params(input_dev, ABS_DISTANCE, 0,
                                              features->distance_max,
                                              0, 0);
+               /* fall through */
 
+       case GRAPHIRE:
                input_set_capability(input_dev, EV_REL, REL_WHEEL);
 
                __set_bit(BTN_LEFT, input_dev->keybit);
@@ -2131,30 +2116,13 @@ int wacom_setup_pentouch_input_capabilities(struct input_dev *input_dev,
                break;
 
        case WACOM_24HD:
-               input_set_abs_params(input_dev, ABS_Z, -900, 899, 0, 0);
-               input_abs_set_res(input_dev, ABS_Z, 287);
-               input_set_abs_params(input_dev, ABS_THROTTLE, 0, 71, 0, 0);
-               /* fall through */
-
        case DTK:
-               __set_bit(INPUT_PROP_DIRECT, input_dev->propbit);
-
-               wacom_setup_cintiq(wacom_wac);
-               break;
-
        case WACOM_22HD:
        case WACOM_21UX2:
        case WACOM_BEE:
        case CINTIQ:
-               input_set_abs_params(input_dev, ABS_Z, -900, 899, 0, 0);
-               input_abs_set_res(input_dev, ABS_Z, 287);
-
-               __set_bit(INPUT_PROP_DIRECT, input_dev->propbit);
-
-               wacom_setup_cintiq(wacom_wac);
-               break;
-
        case WACOM_13HD:
+       case CINTIQ_HYBRID:
                input_set_abs_params(input_dev, ABS_Z, -900, 899, 0, 0);
                input_abs_set_res(input_dev, ABS_Z, 287);
                __set_bit(INPUT_PROP_DIRECT, input_dev->propbit);
@@ -2164,6 +2132,10 @@ int wacom_setup_pentouch_input_capabilities(struct input_dev *input_dev,
        case INTUOS3:
        case INTUOS3L:
        case INTUOS3S:
+       case INTUOS4:
+       case INTUOS4WL:
+       case INTUOS4L:
+       case INTUOS4S:
                input_set_abs_params(input_dev, ABS_Z, -900, 899, 0, 0);
                input_abs_set_res(input_dev, ABS_Z, 287);
                /* fall through */
@@ -2202,17 +2174,6 @@ int wacom_setup_pentouch_input_capabilities(struct input_dev *input_dev,
                }
                break;
 
-       case INTUOS4:
-       case INTUOS4WL:
-       case INTUOS4L:
-       case INTUOS4S:
-               input_set_abs_params(input_dev, ABS_Z, -900, 899, 0, 0);
-               input_abs_set_res(input_dev, ABS_Z, 287);
-               wacom_setup_intuos(wacom_wac);
-
-               __set_bit(INPUT_PROP_POINTER, input_dev->propbit);
-               break;
-
        case WACOM_24HDT:
                if (features->device_type == BTN_TOOL_FINGER) {
                        input_set_abs_params(input_dev, ABS_MT_TOUCH_MAJOR, 0, features->x_max, 0, 0);
@@ -2308,14 +2269,6 @@ int wacom_setup_pentouch_input_capabilities(struct input_dev *input_dev,
                                              0, 0);
                }
                break;
-
-       case CINTIQ_HYBRID:
-               input_set_abs_params(input_dev, ABS_Z, -900, 899, 0, 0);
-               input_abs_set_res(input_dev, ABS_Z, 287);
-               __set_bit(INPUT_PROP_DIRECT, input_dev->propbit);
-
-               wacom_setup_cintiq(wacom_wac);
-               break;
        }
        return 0;
 }