On Thu, Sep 1, 2011 at 9:00 AM, Jason Gerecke <killertofu@xxxxxxxxx> wrote: > > Adds INPUT_PROP_POINTER or INPUT_PROP_DIRECT as necessary to the > hardware supported by the Wacom driver. The DIRECT property is > assigned to devices with an embedded screen (i.e. touchscreens > and display tablets). The POINTER property is assigned to those > without embedded screens. > > Signed-off-by: Jason Gerecke <killertofu@xxxxxxxxx> Reviewed-by: Ping Cheng <pingc@xxxxxxxxx> Ping > --- > drivers/hid/hid-wacom.c | 2 ++ > drivers/input/tablet/wacom_wac.c | 25 ++++++++++++++++++++++++- > drivers/input/touchscreen/wacom_w8001.c | 2 ++ > 3 files changed, 28 insertions(+), 1 deletions(-) > > diff --git a/drivers/hid/hid-wacom.c b/drivers/hid/hid-wacom.c > index 0688832..5b9267d 100644 > --- a/drivers/hid/hid-wacom.c > +++ b/drivers/hid/hid-wacom.c > @@ -383,6 +383,8 @@ move_on: > hidinput = list_entry(hdev->inputs.next, struct hid_input, list); > input = hidinput->input; > > + __set_bit(INPUT_PROP_POINTER, input->propbit); > + > /* Basics */ > input->evbit[0] |= BIT(EV_KEY) | BIT(EV_ABS) | BIT(EV_REL); > > diff --git a/drivers/input/tablet/wacom_wac.c b/drivers/input/tablet/wacom_wac.c > index 87b0e0d..a28d48c 100644 > --- a/drivers/input/tablet/wacom_wac.c > +++ b/drivers/input/tablet/wacom_wac.c > @@ -1098,6 +1098,8 @@ void wacom_setup_input_capabilities(struct input_dev *input_dev, > __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 WACOM_21UX2: > @@ -1126,6 +1128,9 @@ void wacom_setup_input_capabilities(struct input_dev *input_dev, > } > > input_set_abs_params(input_dev, ABS_Z, -900, 899, 0, 0); > + > + __set_bit(INPUT_PROP_DIRECT, input_dev->propbit); > + > wacom_setup_cintiq(wacom_wac); > break; > > @@ -1150,6 +1155,8 @@ void wacom_setup_input_capabilities(struct input_dev *input_dev, > /* fall through */ > > case INTUOS: > + __set_bit(INPUT_PROP_POINTER, input_dev->propbit); > + > wacom_setup_intuos(wacom_wac); > break; > > @@ -1165,6 +1172,8 @@ void wacom_setup_input_capabilities(struct input_dev *input_dev, > > input_set_abs_params(input_dev, ABS_Z, -900, 899, 0, 0); > wacom_setup_intuos(wacom_wac); > + > + __set_bit(INPUT_PROP_POINTER, input_dev->propbit); > break; > > case TABLETPC2FG: > @@ -1183,14 +1192,24 @@ void wacom_setup_input_capabilities(struct input_dev *input_dev, > case TABLETPC: > __clear_bit(ABS_MISC, input_dev->absbit); > > + __set_bit(INPUT_PROP_DIRECT, input_dev->propbit); > + > if (features->device_type != BTN_TOOL_PEN) > break; /* no need to process stylus stuff */ > > /* fall through */ > > case PL: > - case PTU: > case DTU: > + __set_bit(BTN_TOOL_PEN, input_dev->keybit); > + __set_bit(BTN_TOOL_RUBBER, input_dev->keybit); > + __set_bit(BTN_STYLUS, input_dev->keybit); > + __set_bit(BTN_STYLUS2, input_dev->keybit); > + > + __set_bit(INPUT_PROP_DIRECT, input_dev->propbit); > + break; > + > + case PTU: > __set_bit(BTN_STYLUS2, input_dev->keybit); > /* fall through */ > > @@ -1198,11 +1217,15 @@ void wacom_setup_input_capabilities(struct input_dev *input_dev, > __set_bit(BTN_TOOL_PEN, input_dev->keybit); > __set_bit(BTN_TOOL_RUBBER, input_dev->keybit); > __set_bit(BTN_STYLUS, input_dev->keybit); > + > + __set_bit(INPUT_PROP_POINTER, input_dev->propbit); > break; > > case BAMBOO_PT: > __clear_bit(ABS_MISC, input_dev->absbit); > > + __set_bit(INPUT_PROP_POINTER, input_dev->propbit); > + > if (features->device_type == BTN_TOOL_DOUBLETAP) { > __set_bit(BTN_LEFT, input_dev->keybit); > __set_bit(BTN_FORWARD, input_dev->keybit); > diff --git a/drivers/input/touchscreen/wacom_w8001.c b/drivers/input/touchscreen/wacom_w8001.c > index c14412e..9941d39 100644 > --- a/drivers/input/touchscreen/wacom_w8001.c > +++ b/drivers/input/touchscreen/wacom_w8001.c > @@ -383,6 +383,8 @@ static int w8001_setup(struct w8001 *w8001) > dev->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_ABS); > strlcat(w8001->name, "Wacom Serial", sizeof(w8001->name)); > > + __set_bit(INPUT_PROP_DIRECT, dev->propbit); > + > /* penabled? */ > error = w8001_command(w8001, W8001_CMD_QUERY, true); > if (!error) { > -- > 1.7.6 > -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html