Input: usbtouchscreen - add ELO IntelliTouch 2700 support
Signed-off-by: Michael Gebetsroither <michael@mgeb.org> Reviewed-by: Wanlong Gao <gaowanlong@cn.fujitsu.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
This commit is contained in:
parent
1729ad1f4f
commit
d2cc817a76
|
@ -541,6 +541,7 @@ config TOUCHSCREEN_USB_COMPOSITE
|
|||
- GoTop Super_Q2/GogoPen/PenPower tablets
|
||||
- JASTEC USB Touch Controller/DigiTech DTR-02U
|
||||
- Zytronic controllers
|
||||
- Elo TouchSystems 2700 IntelliTouch
|
||||
|
||||
Have a look at <http://linux.chapter7.ch/touchkit/> for
|
||||
a usage description and the required user-space stuff.
|
||||
|
@ -620,6 +621,11 @@ config TOUCHSCREEN_USB_JASTEC
|
|||
bool "JASTEC/DigiTech DTR-02U USB touch controller device support" if EXPERT
|
||||
depends on TOUCHSCREEN_USB_COMPOSITE
|
||||
|
||||
config TOUCHSCREEN_USB_ELO
|
||||
default y
|
||||
bool "Elo TouchSystems 2700 IntelliTouch controller device support" if EXPERT
|
||||
depends on TOUCHSCREEN_USB_COMPOSITE
|
||||
|
||||
config TOUCHSCREEN_USB_E2I
|
||||
default y
|
||||
bool "e2i Touchscreen controller (e.g. from Mimo 740)"
|
||||
|
|
|
@ -16,6 +16,7 @@
|
|||
* - JASTEC USB touch controller/DigiTech DTR-02U
|
||||
* - Zytronic capacitive touchscreen
|
||||
* - NEXIO/iNexio
|
||||
* - Elo TouchSystems 2700 IntelliTouch
|
||||
*
|
||||
* Copyright (C) 2004-2007 by Daniel Ritz <daniel.ritz@gmx.ch>
|
||||
* Copyright (C) by Todd E. Johnson (mtouchusb.c)
|
||||
|
@ -138,6 +139,7 @@ enum {
|
|||
DEVTYPE_ZYTRONIC,
|
||||
DEVTYPE_TC45USB,
|
||||
DEVTYPE_NEXIO,
|
||||
DEVTYPE_ELO,
|
||||
};
|
||||
|
||||
#define USB_DEVICE_HID_CLASS(vend, prod) \
|
||||
|
@ -239,6 +241,10 @@ static const struct usb_device_id usbtouch_devices[] = {
|
|||
.driver_info = DEVTYPE_NEXIO},
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_TOUCHSCREEN_USB_ELO
|
||||
{USB_DEVICE(0x04e7, 0x0020), .driver_info = DEVTYPE_ELO},
|
||||
#endif
|
||||
|
||||
{}
|
||||
};
|
||||
|
||||
|
@ -944,6 +950,24 @@ static int nexio_read_data(struct usbtouch_usb *usbtouch, unsigned char *pkt)
|
|||
#endif
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
* ELO part
|
||||
*/
|
||||
|
||||
#ifdef CONFIG_TOUCHSCREEN_USB_ELO
|
||||
|
||||
static int elo_read_data(struct usbtouch_usb *dev, unsigned char *pkt)
|
||||
{
|
||||
dev->x = (pkt[3] << 8) | pkt[2];
|
||||
dev->y = (pkt[5] << 8) | pkt[4];
|
||||
dev->touch = pkt[6] > 0;
|
||||
dev->press = pkt[6];
|
||||
|
||||
return 1;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
* the different device descriptors
|
||||
*/
|
||||
|
@ -953,6 +977,18 @@ static void usbtouch_process_multi(struct usbtouch_usb *usbtouch,
|
|||
#endif
|
||||
|
||||
static struct usbtouch_device_info usbtouch_dev_info[] = {
|
||||
#ifdef CONFIG_TOUCHSCREEN_USB_ELO
|
||||
[DEVTYPE_ELO] = {
|
||||
.min_xc = 0x0,
|
||||
.max_xc = 0x0fff,
|
||||
.min_yc = 0x0,
|
||||
.max_yc = 0x0fff,
|
||||
.max_press = 0xff,
|
||||
.rept_size = 8,
|
||||
.read_data = elo_read_data,
|
||||
},
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_TOUCHSCREEN_USB_EGALAX
|
||||
[DEVTYPE_EGALAX] = {
|
||||
.min_xc = 0x0,
|
||||
|
|
Loading…
Reference in New Issue