summaryrefslogtreecommitdiffstats
path: root/drivers/usb/input/usbtouchscreen.c
diff options
context:
space:
mode:
authorDaniel Ritz <daniel.ritz-ml@swissonline.ch>2006-10-11 23:40:22 +0200
committerGreg Kroah-Hartman <gregkh@suse.de>2006-10-17 23:46:34 +0200
commit5dfb5f1d060a6f7dfddb78dc59f9e4d299088cc1 (patch)
treeb6aad7a1ca336538ba9ad58f97b319fe20415a13 /drivers/usb/input/usbtouchscreen.c
parentUEAGLE: fix ueagle-atm Oops (diff)
downloadlinux-5dfb5f1d060a6f7dfddb78dc59f9e4d299088cc1.tar.xz
linux-5dfb5f1d060a6f7dfddb78dc59f9e4d299088cc1.zip
usbtouchscreen: fix data reading for ITM touchscreens
ITM devices seem to report only garbage when not touched. update usbtouchscreen to do data reading like itmtouch. also fix wrong mask on pressure bits. Signed-off-by: Daniel Ritz <daniel.ritz@gmx.ch> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to '')
-rw-r--r--drivers/usb/input/usbtouchscreen.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/usb/input/usbtouchscreen.c b/drivers/usb/input/usbtouchscreen.c
index f26c1cd1129f..2902742895ad 100644
--- a/drivers/usb/input/usbtouchscreen.c
+++ b/drivers/usb/input/usbtouchscreen.c
@@ -256,10 +256,10 @@ static int itm_read_data(unsigned char *pkt, int *x, int *y, int *touch, int *pr
{
*x = ((pkt[0] & 0x1F) << 7) | (pkt[3] & 0x7F);
*y = ((pkt[1] & 0x1F) << 7) | (pkt[4] & 0x7F);
- *press = ((pkt[2] & 0x1F) << 7) | (pkt[5] & 0x7F);
+ *press = ((pkt[2] & 0x01) << 7) | (pkt[5] & 0x7F);
*touch = ~pkt[7] & 0x20;
- return 1;
+ return *touch;
}
#endif