|
@@ -2032,7 +2032,7 @@ static void wacom_abs_set_axis(struct input_dev *input_dev,
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-int wacom_setup_input_capabilities(struct input_dev *input_dev,
|
|
|
+int wacom_setup_pentouch_input_capabilities(struct input_dev *input_dev,
|
|
|
struct wacom_wac *wacom_wac)
|
|
|
{
|
|
|
struct wacom_features *features = &wacom_wac->features;
|
|
@@ -2246,6 +2246,9 @@ int wacom_setup_input_capabilities(struct input_dev *input_dev,
|
|
|
__clear_bit(ABS_X, input_dev->absbit);
|
|
|
__clear_bit(ABS_Y, input_dev->absbit);
|
|
|
__clear_bit(BTN_TOUCH, input_dev->keybit);
|
|
|
+
|
|
|
+ /* PAD is setup by wacom_setup_pad_input_capabilities later */
|
|
|
+ return 1;
|
|
|
}
|
|
|
} else if (features->device_type == BTN_TOOL_PEN) {
|
|
|
__set_bit(INPUT_PROP_POINTER, input_dev->propbit);
|
|
@@ -2444,7 +2447,9 @@ int wacom_setup_pad_input_capabilities(struct input_dev *input_dev,
|
|
|
case INTUOSHT:
|
|
|
case BAMBOO_PT:
|
|
|
/* pad device is on the touch interface */
|
|
|
- if (features->device_type != BTN_TOOL_FINGER)
|
|
|
+ if ((features->device_type != BTN_TOOL_FINGER) ||
|
|
|
+ /* Bamboo Pen only tablet does not have pad */
|
|
|
+ ((features->type == BAMBOO_PT) && !features->touch_max))
|
|
|
return -ENODEV;
|
|
|
|
|
|
__clear_bit(ABS_MISC, input_dev->absbit);
|