Message ID | 1391107728-1306-4-git-send-email-killertofu@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Thu, Jan 30, 2014 at 10:48 AM, Jason Gerecke <killertofu@gmail.com> wrote: > Some tablet PC sensors (e.g. the 0xEC found in the Thinkpad > Yoga) report more than 256 pressure levels and will experience > wraparound unless the full range is read. > > Signed-off-by: Jason Gerecke <killertofu@gmail.com> > --- > drivers/input/tablet/wacom_wac.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/input/tablet/wacom_wac.c b/drivers/input/tablet/wacom_wac.c > index 9ff5613..ae1437b 100644 > --- a/drivers/input/tablet/wacom_wac.c > +++ b/drivers/input/tablet/wacom_wac.c > @@ -1087,7 +1087,7 @@ static int wacom_tpc_pen(struct wacom_wac *wacom) > input_report_key(input, BTN_STYLUS2, data[1] & 0x10); > input_report_abs(input, ABS_X, le16_to_cpup((__le16 *)&data[2])); > input_report_abs(input, ABS_Y, le16_to_cpup((__le16 *)&data[4])); > - input_report_abs(input, ABS_PRESSURE, ((data[7] & 0x01) << 8) | data[6]); > + input_report_abs(input, ABS_PRESSURE, ((data[7] & 0x03) << 8) | data[6]); > input_report_key(input, BTN_TOUCH, data[1] & 0x05); > input_report_key(input, wacom->tool[0], prox); > return 1; > -- > 1.8.5.3 > Tested-by: Aaron Skomra <Aaron.Skomra@wacom.com> -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/input/tablet/wacom_wac.c b/drivers/input/tablet/wacom_wac.c index 9ff5613..ae1437b 100644 --- a/drivers/input/tablet/wacom_wac.c +++ b/drivers/input/tablet/wacom_wac.c @@ -1087,7 +1087,7 @@ static int wacom_tpc_pen(struct wacom_wac *wacom) input_report_key(input, BTN_STYLUS2, data[1] & 0x10); input_report_abs(input, ABS_X, le16_to_cpup((__le16 *)&data[2])); input_report_abs(input, ABS_Y, le16_to_cpup((__le16 *)&data[4])); - input_report_abs(input, ABS_PRESSURE, ((data[7] & 0x01) << 8) | data[6]); + input_report_abs(input, ABS_PRESSURE, ((data[7] & 0x03) << 8) | data[6]); input_report_key(input, BTN_TOUCH, data[1] & 0x05); input_report_key(input, wacom->tool[0], prox); return 1;
Some tablet PC sensors (e.g. the 0xEC found in the Thinkpad Yoga) report more than 256 pressure levels and will experience wraparound unless the full range is read. Signed-off-by: Jason Gerecke <killertofu@gmail.com> --- drivers/input/tablet/wacom_wac.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)