linux usb 触摸屏驱动,请教大家一个linux下的usb触摸屏驱动的问题

我手头有个usb红外触摸屏, 在windows下插上就可以使用,但在linux下,插上后,加载了usbhid驱动,生了/dev/input/event4及 /dev/input/mouse0两个设备文件  但点击后在X window下鼠标没有任何反应。 cat /dev/input/mouse0后,点击也没有任何输出,我判断是驱动问题。但手头没有该设备的技术资料,只是通过 lsusb -v 得到了些该设备的信息。  下面是lsusb -v 的输出

Bus 005 Device 041: ID 03fc:0588 Elitegroup Computer Systems

Device Descriptor:

bLength                18

bDescriptorType         1

bcdUSB               1.10

bDeviceClass            0 (Defined at Interface level)

bDeviceSubClass         0

bDeviceProtocol         0

bMaxPacketSize0        64

idVendor           0x03fc Elitegroup Computer Systems

idProduct          0x0588

bcdDevice            2.00

iManufacturer           1 Huitoo KIT

iProduct                2 HuiToo Computer INC.

iSerial                 0

bNumConfigurations      1

Configuration Descriptor:

bLength                 9

bDescriptorType         2

wTotalLength           98

bNumInterfaces          3

bConfigurationValue     1

iConfiguration          0

bmAttributes         0xa0

(Bus Powered)

Remote Wakeup

MaxPower              100mA

Interface Descriptor:

bLength                 9

bDescriptorType         4

bInterfaceNumber        0

bAlternateSetting       0

bNumEndpoints           1

bInterfaceClass         3 Human Interface Device

bInterfaceSubClass      0 No Subclass

bInterfaceProtocol      2 Mouse

iInterface              3 USB_IR_TouchScreen

HID Device Descriptor:

bLength                 9

bDescriptorType        33

bcdHID               1.00

bCountryCode            0 Not supported

bNumDescriptors         1

bDescriptorType        34 Report

wDescriptorLength     683

Report Descriptor: (length is 683)

Item(Global): Usage Page, data= [ 0x01 ] 1

Generic Desktop Controls

Item(Local ): Usage, data= [ 0x02 ] 2

Mouse

Item(Main  ): Collection, data= [ 0x01 ] 1

Application

Item(Global): Report ID, data= [ 0x01 ] 1

Item(Local ): Usage, data= [ 0x01 ] 1

Pointer

Item(Main  ): Collection, data= [ 0x00 ] 0

Physical

Item(Global): Usage Page, data= [ 0x09 ] 9

Buttons

Item(Local ): Usage Minimum, data= [ 0x01 ] 1

Button 1 (Primary)

Item(Local ): Usage Maximum, data= [ 0x03 ] 3

Button 3 (Tertiary)

Item(Global): Logical Minimum, data= [ 0x00 ] 0

Item(Global): Logical Maximum, data= [ 0x01 ] 1

Item(Global): Report Count, data= [ 0x03 ] 3

Item(Global): Report Size, data= [ 0x01 ] 1

Item(Main  ): Input, data= [ 0x02 ] 2

Data Variable Absolute No_Wrap Linear

Preferred_State No_Null_Position Non_Volatile Bitfield

Item(Global): Report Count, data= [ 0x01 ] 1

Item(Global): Report Size, data= [ 0x05 ] 5

Item(Main  ): Input, data= [ 0x01 ] 1

Constant Array Absolute No_Wrap Linear

Preferred_State No_Null_Position Non_Volatile Bitfield

Item(Global): Usage Page, data= [ 0x01 ] 1

Generic Desktop Controls

Item(Local ): Usage, data= [ 0x30 ] 48

Direction-X

Item(Local ): Usage, data= [ 0x31 ] 49

Direction-Y

Item(Global): Logical Minimum, data= [ 0x00 ] 0

Item(Global): Logical Maximum, data= [ 0xff 0x0f ] 4095

Item(Global): Physical Minimum, data= [ 0x00 ] 0

Item(Global): Physical Maximum, data= [ 0xff 0x0f ] 4095

Item(Global): Report Size, data= [ 0x10 ] 16

Item(Global): Report Count, data= [ 0x02 ] 2

Item(Main  ): Input, data= [ 0x02 ] 2

Data Variable Absolute No_Wrap Linear

Preferred_State No_Null_Position Non_Volatile Bitfield

Item(Main  ): End Collection, data=none

Item(Main  ): End Collection, data=none

Item(Global): Usage Page, data= [ 0x0d ] 13

Digitizer

Item(Local ): Usage, data= [ 0x04 ] 4

Touch Screen

Item(Main  ): Collection, data= [ 0x01 ] 1

Application

Item(Global): Report ID, data= [ 0x02 ] 2

Item(Local ): Usage, data= [ 0x22 ] 34

Finger

Item(Main  ): Collection, data= [ 0x02 ] 2

Logical

Item(Local ): Usage, data= [ 0x42 ] 66

Tip Switch

Item(Global): Logical Minimum, data= [ 0x00 ] 0

Item(Global): Logical Maximum, data= [ 0x01 ] 1

Item(Global): Report Size, data= [ 0x01 ] 1

Item(Global): Report Count, data= [ 0x01 ] 1

Item(Main  ): Input, data= [ 0x02 ] 2

Data Variable Absolute No_Wrap Linear

Preferred_State No_Null_Position Non_Volatile Bitfield

Item(Local ): Usage, data= [ 0x32 ] 50

In Range

Item(Main  ): Input, data= [ 0x02 ] 2

Data Variable Absolute No_Wrap Linear

Preferred_State No_Null_Position Non_Volatile Bitfield

Item(Global): Report Count, data= [ 0x06 ] 6

Item(Main  ): Input, data= [ 0x03 ] 3

Constant Variable Absolute No_Wrap Linear

Preferred_State No_Null_Position Non_Volatile Bitfield

Item(Global): Report Size, data= [ 0x08 ] 8

Item(Local ): Usage, data= [ 0x51 ] 81

Contact ID

Item(Global): Report Count, data= [ 0x01 ] 1

Item(Main  ): Input, data= [ 0x02 ] 2

Data Variable Absolute No_Wrap Linear

Preferred_State No_Null_Position Non_Volatile Bitfield

Item(Global): Usage Page, data= [ 0x01 ] 1

Generic Desktop Controls

Item(Global): Logical Maximum, data= [ 0xff 0x0f ] 4095

Item(Global): Report Size, data= [ 0x10 ] 16

Item(Global): Unit Exponent, data= [ 0x00 ] 0

Unit Exponent: 0

Item(Global): Unit, data= [ 0x00 ] 0

System: None, Unit: (None)

Item(Local ): Usage, data= [ 0x30 ] 48

Direction-X

Item(Global): Physical Minimum, data= [ 0x00 ] 0

Item(Global): Physical Maximum, data= [ 0x00 0x00 ] 0

Item(Main  ): Input, data= [ 0x02 ] 2

Data Variable Absolute No_Wrap Linear

Preferred_State No_Null_Position Non_Volatile Bitfield

Item(Local ): Usage, data= [ 0x31 ] 49

Direction-Y

Item(Main  ): Input, data= [ 0x02 ] 2

Data Variable Absolute No_Wrap Linear

Preferred_State No_Null_Position Non_Volatile Bitfield

Item(Main  ): End Collection, data=none

Item(Main  ): Collection, data= [ 0x02 ] 2

Logical

Item(Global): Usage Page, data= [ 0x0d ] 13

Digitizer

Item(Local ): Usage, data= [ 0x42 ] 66

Tip Switch

Item(Global): Logical Minimum, data= [ 0x00 ] 0

Item(Global): Logical Maximum, data= [ 0x01 ] 1

Item(Global): Report Size, data= [ 0x01 ] 1

Item(Global): Report Count, data= [ 0x01 ] 1

Item(Main  ): Input, data= [ 0x02 ] 2

Data Variable Absolute No_Wrap Linear

Preferred_State No_Null_Position Non_Volatile Bitfield

Item(Local ): Usage, data= [ 0x32 ] 50

In Range

Item(Main  ): Input, data= [ 0x02 ] 2

Data Variable Absolute No_Wrap Linear

Preferred_State No_Null_Position Non_Volatile Bitfield

Item(Global): Report Count, data= [ 0x06 ] 6

Item(Main  ): Input, data= [ 0x03 ] 3

Constant Variable Absolute No_Wrap Linear

Preferred_State No_Null_Position Non_Volatile Bitfield

Item(Global): Report Size, data= [ 0x08 ] 8

Item(Local ): Usage, data= [ 0x51 ] 81

Contact ID

Item(Global): Report Count, data= [ 0x01 ] 1

Item(Main  ): Input, data= [ 0x02 ] 2

Data Variable Absolute No_Wrap Linear

Preferred_State No_Null_Position Non_Volatile Bitfield

Item(Global): Usage Page, data= [ 0x01 ] 1

Generic Desktop Controls

Item(Global): Logical Maximum, data= [ 0xff 0x0f ] 4095

Item(Global): Report Size, data= [ 0x10 ] 16

Item(Global): Unit Exponent, data= [ 0x00 ] 0

Unit Exponent: 0

Item(Global): Unit, data= [ 0x00 ] 0

System: None, Unit: (None)

Item(Local ): Usage, data= [ 0x30 ] 48

Direction-X

Item(Global): Physical Minimum, data= [ 0x00 ] 0

Item(Global): Physical Maximum, data= [ 0x00 0x00 ] 0

Item(Main  ): Input, data= [ 0x02 ] 2

Data Variable Absolute No_Wrap Linear

Preferred_State No_Null_Position Non_Volatile Bitfield

Item(Local ): Usage, data= [ 0x31 ] 49

Direction-Y

Item(Main  ): Input, data= [ 0x02 ] 2

Data Variable Absolute No_Wrap Linear

Preferred_State No_Null_Position Non_Volatile Bitfield

Item(Main  ): End Collection, data=none

Item(Main  ): Collection, data= [ 0x02 ] 2

Logical

Item(Global): Usage Page, data= [ 0x0d ] 13

Digitizer

Item(Local ): Usage, data= [ 0x42 ] 66

Tip Switch

Item(Global): Logical Minimum, data= [ 0x00 ] 0

Item(Global): Logical Maximum, data= [ 0x01 ] 1

Item(Global): Report Size, data= [ 0x01 ] 1

Item(Global): Report Count, data= [ 0x01 ] 1

Item(Main  ): Input, data= [ 0x02 ] 2

Data Variable Absolute No_Wrap Linear

Preferred_State No_Null_Position Non_Volatile Bitfield

Item(Local ): Usage, data= [ 0x32 ] 50

In Range

Item(Main  ): Input, data= [ 0x02 ] 2

Data Variable Absolute No_Wrap Linear

Preferred_State No_Null_Position Non_Volatile Bitfield

Item(Global): Report Count, data= [ 0x06 ] 6

Item(Main  ): Input, data= [ 0x03 ] 3

Constant Variable Absolute No_Wrap Linear

Preferred_State No_Null_Position Non_Volatile Bitfield

Item(Global): Report Size, data= [ 0x08 ] 8

Item(Local ): Usage, data= [ 0x51 ] 81

Contact ID

Item(Global): Report Count, data= [ 0x01 ] 1

Item(Main  ): Input, data= [ 0x02 ] 2

Data Variable Absolute No_Wrap Linear

Preferred_State No_Null_Position Non_Volatile Bitfield

Item(Global): Usage Page, data= [ 0x01 ] 1

Generic Desktop Controls

Item(Global): Logical Maximum, data= [ 0xff 0x0f ] 4095

Item(Global): Report Size, data= [ 0x10 ] 16

Item(Global): Unit Exponent, data= [ 0x00 ] 0

Unit Exponent: 0

Item(Global): Unit, data= [ 0x00 ] 0

System: None, Unit: (None)

Item(Local ): Usage, data= [ 0x30 ] 48

Direction-X

Item(Global): Physical Minimum, data= [ 0x00 ] 0

Item(Global): Physical Maximum, data= [ 0x00 0x00 ] 0

Item(Main  ): Input, data= [ 0x02 ] 2

Data Variable Absolute No_Wrap Linear

Preferred_State No_Null_Position Non_Volatile Bitfield

Item(Local ): Usage, data= [ 0x31 ] 49

Direction-Y

Item(Main  ): Input, data= [ 0x02 ] 2

Data Variable Absolute No_Wrap Linear

Preferred_State No_Null_Position Non_Volatile Bitfield

Item(Main  ): End Collection, data=none

Item(Main  ): Collection, data= [ 0x02 ] 2

Logical

Item(Global): Usage Page, data= [ 0x0d ] 13

Digitizer

Item(Local ): Usage, data= [ 0x42 ] 66

Tip Switch

Item(Global): Logical Minimum, data= [ 0x00 ] 0

Item(Global): Logical Maximum, data= [ 0x01 ] 1

Item(Global): Report Size, data= [ 0x01 ] 1

Item(Global): Report Count, data= [ 0x01 ] 1

Item(Main  ): Input, data= [ 0x02 ] 2

Data Variable Absolute No_Wrap Linear

Preferred_State No_Null_Position Non_Volatile Bitfield

Item(Local ): Usage, data= [ 0x32 ] 50

In Range

Item(Main  ): Input, data= [ 0x02 ] 2

Data Variable Absolute No_Wrap Linear

Preferred_State No_Null_Position Non_Volatile Bitfield

Item(Global): Report Count, data= [ 0x06 ] 6

Item(Main  ): Input, data= [ 0x03 ] 3

Constant Variable Absolute No_Wrap Linear

Preferred_State No_Null_Position Non_Volatile Bitfield

Item(Global): Report Size, data= [ 0x08 ] 8

Item(Local ): Usage, data= [ 0x51 ] 81

Contact ID

Item(Global): Report Count, data= [ 0x01 ] 1

Item(Main  ): Input, data= [ 0x02 ] 2

Data Variable Absolute No_Wrap Linear

Preferred_State No_Null_Position Non_Volatile Bitfield

Item(Global): Usage Page, data= [ 0x01 ] 1

Generic Desktop Controls

Item(Global): Logical Maximum, data= [ 0xff 0x0f ] 4095

Item(Global): Report Size, data= [ 0x10 ] 16

Item(Global): Unit Exponent, data= [ 0x00 ] 0

Unit Exponent: 0

Item(Global): Unit, data= [ 0x00 ] 0

System: None, Unit: (None)

Item(Local ): Usage, data= [ 0x30 ] 48

Direction-X

Item(Global): Physical Minimum, data= [ 0x00 ] 0

Item(Global): Physical Maximum, data= [ 0x00 0x00 ] 0

Item(Main  ): Input, data= [ 0x02 ] 2

Data Variable Absolute No_Wrap Linear

Preferred_State No_Null_Position Non_Volatile Bitfield

Item(Local ): Usage, data= [ 0x31 ] 49

Direction-Y

Item(Main  ): Input, data= [ 0x02 ] 2

Data Variable Absolute No_Wrap Linear

Preferred_State No_Null_Position Non_Volatile Bitfield

Item(Main  ): End Collection, data=none

Item(Main  ): Collection, data= [ 0x02 ] 2

Logical

Item(Global): Usage Page, data= [ 0x0d ] 13

Digitizer

Item(Local ): Usage, data= [ 0x42 ] 66

Tip Switch

Item(Global): Logical Minimum, data= [ 0x00 ] 0

Item(Global): Logical Maximum, data= [ 0x01 ] 1

Item(Global): Report Size, data= [ 0x01 ] 1

Item(Global): Report Count, data= [ 0x01 ] 1

Item(Main  ): Input, data= [ 0x02 ] 2

Data Variable Absolute No_Wrap Linear

Preferred_State No_Null_Position Non_Volatile Bitfield

Item(Local ): Usage, data= [ 0x32 ] 50

In Range

Item(Main  ): Input, data= [ 0x02 ] 2

Data Variable Absolute No_Wrap Linear

Preferred_State No_Null_Position Non_Volatile Bitfield

Item(Global): Report Count, data= [ 0x06 ] 6

Item(Main  ): Input, data= [ 0x03 ] 3

Constant Variable Absolute No_Wrap Linear

Preferred_State No_Null_Position Non_Volatile Bitfield

Item(Global): Report Size, data= [ 0x08 ] 8

Item(Local ): Usage, data= [ 0x51 ] 81

Contact ID

Item(Global): Report Count, data= [ 0x01 ] 1

Item(Main  ): Input, data= [ 0x02 ] 2

Data Variable Absolute No_Wrap Linear

Preferred_State No_Null_Position Non_Volatile Bitfield

Item(Global): Usage Page, data= [ 0x01 ] 1

Generic Desktop Controls

Item(Global): Logical Maximum, data= [ 0xff 0x0f ] 4095

Item(Global): Report Size, data= [ 0x10 ] 16

Item(Global): Unit Exponent, data= [ 0x00 ] 0

Unit Exponent: 0

Item(Global): Unit, data= [ 0x00 ] 0

System: None, Unit: (None)

Item(Local ): Usage, data= [ 0x30 ] 48

Direction-X

Item(Global): Physical Minimum, data= [ 0x00 ] 0

Item(Global): Physical Maximum, data= [ 0x00 0x00 ] 0

Item(Main  ): Input, data= [ 0x02 ] 2

Data Variable Absolute No_Wrap Linear

Preferred_State No_Null_Position Non_Volatile Bitfield

Item(Local ): Usage, data= [ 0x31 ] 49

Direction-Y

Item(Main  ): Input, data= [ 0x02 ] 2

Data Variable Absolute No_Wrap Linear

Preferred_State No_Null_Position Non_Volatile Bitfield

Item(Main  ): End Collection, data=none

Item(Main  ): Collection, data= [ 0x02 ] 2

Logical

Item(Global): Usage Page, data= [ 0x0d ] 13

Digitizer

Item(Local ): Usage, data= [ 0x42 ] 66

Tip Switch

Item(Global): Logical Minimum, data= [ 0x00 ] 0

Item(Global): Logical Maximum, data= [ 0x01 ] 1

Item(Global): Report Size, data= [ 0x01 ] 1

Item(Global): Report Count, data= [ 0x01 ] 1

Item(Main  ): Input, data= [ 0x02 ] 2

Data Variable Absolute No_Wrap Linear

Preferred_State No_Null_Position Non_Volatile Bitfield

Item(Local ): Usage, data= [ 0x32 ] 50

In Range

Item(Main  ): Input, data= [ 0x02 ] 2

Data Variable Absolute No_Wrap Linear

Preferred_State No_Null_Position Non_Volatile Bitfield

Item(Global): Report Count, data= [ 0x06 ] 6

Item(Main  ): Input, data= [ 0x03 ] 3

Constant Variable Absolute No_Wrap Linear

Preferred_State No_Null_Position Non_Volatile Bitfield

Item(Global): Report Size, data= [ 0x08 ] 8

Item(Local ): Usage, data= [ 0x51 ] 81

Contact ID

Item(Global): Report Count, data= [ 0x01 ] 1

Item(Main  ): Input, data= [ 0x02 ] 2

Data Variable Absolute No_Wrap Linear

Preferred_State No_Null_Position Non_Volatile Bitfield

Item(Global): Usage Page, data= [ 0x01 ] 1

Generic Desktop Controls

Item(Global): Logical Maximum, data= [ 0xff 0x0f ] 4095

Item(Global): Report Size, data= [ 0x10 ] 16

Item(Global): Unit Exponent, data= [ 0x00 ] 0

Unit Exponent: 0

Item(Global): Unit, data= [ 0x00 ] 0

System: None, Unit: (None)

Item(Local ): Usage, data= [ 0x30 ] 48

Direction-X

Item(Global): Physical Minimum, data= [ 0x00 ] 0

Item(Global): Physical Maximum, data= [ 0x00 0x00 ] 0

Item(Main  ): Input, data= [ 0x02 ] 2

Data Variable Absolute No_Wrap Linear

Preferred_State No_Null_Position Non_Volatile Bitfield

Item(Local ): Usage, data= [ 0x31 ] 49

Direction-Y

Item(Main  ): Input, data= [ 0x02 ] 2

Data Variable Absolute No_Wrap Linear

Preferred_State No_Null_Position Non_Volatile Bitfield

Item(Main  ): End Collection, data=none

Item(Main  ): Collection, data= [ 0x02 ] 2

Logical

Item(Global): Usage Page, data= [ 0x0d ] 13

Digitizer

Item(Local ): Usage, data= [ 0x42 ] 66

Tip Switch

Item(Global): Logical Minimum, data= [ 0x00 ] 0

Item(Global): Logical Maximum, data= [ 0x01 ] 1

Item(Global): Report Size, data= [ 0x01 ] 1

Item(Global): Report Count, data= [ 0x01 ] 1

Item(Main  ): Input, data= [ 0x02 ] 2

Data Variable Absolute No_Wrap Linear

Preferred_State No_Null_Position Non_Volatile Bitfield

Item(Local ): Usage, data= [ 0x32 ] 50

In Range

Item(Main  ): Input, data= [ 0x02 ] 2

Data Variable Absolute No_Wrap Linear

Preferred_State No_Null_Position Non_Volatile Bitfield

Item(Global): Report Count, data= [ 0x06 ] 6

Item(Main  ): Input, data= [ 0x03 ] 3

Constant Variable Absolute No_Wrap Linear

Preferred_State No_Null_Position Non_Volatile Bitfield

Item(Global): Report Size, data= [ 0x08 ] 8

Item(Local ): Usage, data= [ 0x51 ] 81

Contact ID

Item(Global): Report Count, data= [ 0x01 ] 1

Item(Main  ): Input, data= [ 0x02 ] 2

Data Variable Absolute No_Wrap Linear

Preferred_State No_Null_Position Non_Volatile Bitfield

Item(Global): Usage Page, data= [ 0x01 ] 1

Generic Desktop Controls

Item(Global): Logical Maximum, data= [ 0xff 0x0f ] 4095

Item(Global): Report Size, data= [ 0x10 ] 16

Item(Global): Unit Exponent, data= [ 0x00 ] 0

Unit Exponent: 0

Item(Global): Unit, data= [ 0x00 ] 0

System: None, Unit: (None)

Item(Local ): Usage, data= [ 0x30 ] 48

Direction-X

Item(Global): Physical Minimum, data= [ 0x00 ] 0

Item(Global): Physical Maximum, data= [ 0x00 0x00 ] 0

Item(Main  ): Input, data= [ 0x02 ] 2

Data Variable Absolute No_Wrap Linear

Preferred_State No_Null_Position Non_Volatile Bitfield

Item(Local ): Usage, data= [ 0x31 ] 49

Direction-Y

Item(Main  ): Input, data= [ 0x02 ] 2

Data Variable Absolute No_Wrap Linear

Preferred_State No_Null_Position Non_Volatile Bitfield

Item(Main  ): End Collection, data=none

Item(Main  ): Collection, data= [ 0x02 ] 2

Logical

Item(Global): Usage Page, data= [ 0x0d ] 13

Digitizer

Item(Local ): Usage, data= [ 0x42 ] 66

Tip Switch

Item(Global): Logical Minimum, data= [ 0x00 ] 0

Item(Global): Logical Maximum, data= [ 0x01 ] 1

Item(Global): Report Size, data= [ 0x01 ] 1

Item(Global): Report Count, data= [ 0x01 ] 1

Item(Main  ): Input, data= [ 0x02 ] 2

Data Variable Absolute No_Wrap Linear

Preferred_State No_Null_Position Non_Volatile Bitfield

Item(Local ): Usage, data= [ 0x32 ] 50

In Range

Item(Main  ): Input, data= [ 0x02 ] 2

Data Variable Absolute No_Wrap Linear

Preferred_State No_Null_Position Non_Volatile Bitfield

Item(Global): Report Count, data= [ 0x06 ] 6

Item(Main  ): Input, data= [ 0x03 ] 3

Constant Variable Absolute No_Wrap Linear

Preferred_State No_Null_Position Non_Volatile Bitfield

Item(Global): Report Size, data= [ 0x08 ] 8

Item(Local ): Usage, data= [ 0x51 ] 81

Contact ID

Item(Global): Report Count, data= [ 0x01 ] 1

Item(Main  ): Input, data= [ 0x02 ] 2

Data Variable Absolute No_Wrap Linear

Preferred_State No_Null_Position Non_Volatile Bitfield

Item(Global): Usage Page, data= [ 0x01 ] 1

Generic Desktop Controls

Item(Global): Logical Maximum, data= [ 0xff 0x0f ] 4095

Item(Global): Report Size, data= [ 0x10 ] 16

Item(Global): Unit Exponent, data= [ 0x00 ] 0

Unit Exponent: 0

Item(Global): Unit, data= [ 0x00 ] 0

System: None, Unit: (None)

Item(Local ): Usage, data= [ 0x30 ] 48

Direction-X

Item(Global): Physical Minimum, data= [ 0x00 ] 0

Item(Global): Physical Maximum, data= [ 0x00 0x00 ] 0

Item(Main  ): Input, data= [ 0x02 ] 2

Data Variable Absolute No_Wrap Linear

Preferred_State No_Null_Position Non_Volatile Bitfield

Item(Local ): Usage, data= [ 0x31 ] 49

Direction-Y

Item(Main  ): Input, data= [ 0x02 ] 2

Data Variable Absolute No_Wrap Linear

Preferred_State No_Null_Position Non_Volatile Bitfield

Item(Main  ): End Collection, data=none

Item(Main  ): Collection, data= [ 0x02 ] 2

Logical

Item(Global): Usage Page, data= [ 0x0d ] 13

Digitizer

Item(Local ): Usage, data= [ 0x42 ] 66

Tip Switch

Item(Global): Logical Minimum, data= [ 0x00 ] 0

Item(Global): Logical Maximum, data= [ 0x01 ] 1

Item(Global): Report Size, data= [ 0x01 ] 1

Item(Global): Report Count, data= [ 0x01 ] 1

Item(Main  ): Input, data= [ 0x02 ] 2

Data Variable Absolute No_Wrap Linear

Preferred_State No_Null_Position Non_Volatile Bitfield

Item(Local ): Usage, data= [ 0x32 ] 50

In Range

Item(Main  ): Input, data= [ 0x02 ] 2

Data Variable Absolute No_Wrap Linear

Preferred_State No_Null_Position Non_Volatile Bitfield

Item(Global): Report Count, data= [ 0x06 ] 6

Item(Main  ): Input, data= [ 0x03 ] 3

Constant Variable Absolute No_Wrap Linear

Preferred_State No_Null_Position Non_Volatile Bitfield

Item(Global): Report Size, data= [ 0x08 ] 8

Item(Local ): Usage, data= [ 0x51 ] 81

Contact ID

Item(Global): Report Count, data= [ 0x01 ] 1

Item(Main  ): Input, data= [ 0x02 ] 2

Data Variable Absolute No_Wrap Linear

Preferred_State No_Null_Position Non_Volatile Bitfield

Item(Global): Usage Page, data= [ 0x01 ] 1

Generic Desktop Controls

Item(Global): Logical Maximum, data= [ 0xff 0x0f ] 4095

Item(Global): Report Size, data= [ 0x10 ] 16

Item(Global): Unit Exponent, data= [ 0x00 ] 0

Unit Exponent: 0

Item(Global): Unit, data= [ 0x00 ] 0

System: None, Unit: (None)

Item(Local ): Usage, data= [ 0x30 ] 48

Direction-X

Item(Global): Physical Minimum, data= [ 0x00 ] 0

Item(Global): Physical Maximum, data= [ 0x00 0x00 ] 0

Item(Main  ): Input, data= [ 0x02 ] 2

Data Variable Absolute No_Wrap Linear

Preferred_State No_Null_Position Non_Volatile Bitfield

Item(Local ): Usage, data= [ 0x31 ] 49

Direction-Y

Item(Main  ): Input, data= [ 0x02 ] 2

Data Variable Absolute No_Wrap Linear

Preferred_State No_Null_Position Non_Volatile Bitfield

Item(Main  ): End Collection, data=none

Item(Main  ): Collection, data= [ 0x02 ] 2

Logical

Item(Global): Usage Page, data= [ 0x0d ] 13

Digitizer

Item(Local ): Usage, data= [ 0x42 ] 66

Tip Switch

Item(Global): Logical Minimum, data= [ 0x00 ] 0

Item(Global): Logical Maximum, data= [ 0x01 ] 1

Item(Global): Report Size, data= [ 0x01 ] 1

Item(Global): Report Count, data= [ 0x01 ] 1

Item(Main  ): Input, data= [ 0x02 ] 2

Data Variable Absolute No_Wrap Linear

Preferred_State No_Null_Position Non_Volatile Bitfield

Item(Local ): Usage, data= [ 0x32 ] 50

In Range

Item(Main  ): Input, data= [ 0x02 ] 2

Data Variable Absolute No_Wrap Linear

Preferred_State No_Null_Position Non_Volatile Bitfield

Item(Global): Report Count, data= [ 0x06 ] 6

Item(Main  ): Input, data= [ 0x03 ] 3

Constant Variable Absolute No_Wrap Linear

Preferred_State No_Null_Position Non_Volatile Bitfield

Item(Global): Report Size, data= [ 0x08 ] 8

Item(Local ): Usage, data= [ 0x51 ] 81

Contact ID

Item(Global): Report Count, data= [ 0x01 ] 1

Item(Main  ): Input, data= [ 0x02 ] 2

Data Variable Absolute No_Wrap Linear

Preferred_State No_Null_Position Non_Volatile Bitfield

Item(Global): Usage Page, data= [ 0x01 ] 1

Generic Desktop Controls

Item(Global): Logical Maximum, data= [ 0xff 0x0f ] 4095

Item(Global): Report Size, data= [ 0x10 ] 16

Item(Global): Unit Exponent, data= [ 0x00 ] 0

Unit Exponent: 0

Item(Global): Unit, data= [ 0x00 ] 0

System: None, Unit: (None)

Item(Local ): Usage, data= [ 0x30 ] 48

Direction-X

Item(Global): Physical Minimum, data= [ 0x00 ] 0

Item(Global): Physical Maximum, data= [ 0x00 0x00 ] 0

Item(Main  ): Input, data= [ 0x02 ] 2

Data Variable Absolute No_Wrap Linear

Preferred_State No_Null_Position Non_Volatile Bitfield

Item(Local ): Usage, data= [ 0x31 ] 49

Direction-Y

Item(Main  ): Input, data= [ 0x02 ] 2

Data Variable Absolute No_Wrap Linear

Preferred_State No_Null_Position Non_Volatile Bitfield

Item(Main  ): End Collection, data=none

Item(Global): Usage Page, data= [ 0x0d ] 13

Digitizer

Item(Local ): Usage, data= [ 0x54 ] 84

Contact Count

Item(Global): Report Count, data= [ 0x01 ] 1

Item(Global): Report Size, data= [ 0x08 ] 8

Item(Global): Logical Minimum, data= [ 0x00 ] 0

Item(Global): Logical Maximum, data= [ 0x0a ] 10

Item(Main  ): Input, data= [ 0x02 ] 2

Data Variable Absolute No_Wrap Linear

Preferred_State No_Null_Position Non_Volatile Bitfield

Item(Global): Report ID, data= [ 0x03 ] 3

Item(Local ): Usage, data= [ 0x55 ] 85

Maximum Contact Number

Item(Main  ): Feature, data= [ 0x02 ] 2

Data Variable Absolute No_Wrap Linear

Preferred_State No_Null_Position Non_Volatile Bitfield

Item(Main  ): End Collection, data=none

Item(Local ): Usage, data= [ 0x0e ] 14

(null)

Item(Main  ): Collection, data= [ 0x01 ] 1

Application

Item(Global): Report ID, data= [ 0x04 ] 4

Item(Local ): Usage, data= [ 0x23 ] 35

(null)

Item(Main  ): Collection, data= [ 0x02 ] 2

Logical

Item(Local ): Usage, data= [ 0x52 ] 82

Input Mode

Item(Local ): Usage, data= [ 0x53 ] 83

Device Index

Item(Global): Logical Minimum, data= [ 0x00 ] 0

Item(Global): Logical Maximum, data= [ 0x0a ] 10

Item(Global): Report Size, data= [ 0x08 ] 8

Item(Global): Report Count, data= [ 0x02 ] 2

Item(Main  ): Feature, data= [ 0x02 ] 2

Data Variable Absolute No_Wrap Linear

Preferred_State No_Null_Position Non_Volatile Bitfield

Item(Main  ): End Collection, data=none

Item(Main  ): End Collection, data=none

Endpoint Descriptor:

bLength                 7

bDescriptorType         5

bEndpointAddress     0x81  EP 1 IN

bmAttributes            3

Transfer Type            Interrupt

Synch Type               None

Usage Type               Data

wMaxPacketSize     0x0040  1x 64 bytes

bInterval               1

Interface Descriptor:

bLength                 9

bDescriptorType         4

bInterfaceNumber        1

bAlternateSetting       0

bNumEndpoints           2

bInterfaceClass         3 Human Interface Device

bInterfaceSubClass      0 No Subclass

bInterfaceProtocol      1 Keyboard

iInterface              4 USB_TouchKeyboard

HID Device Descriptor:

bLength                 9

bDescriptorType        33

bcdHID               1.00

bCountryCode            0 Not supported

bNumDescriptors         1

bDescriptorType        34 Report

wDescriptorLength      65

Report Descriptor: (length is 65)

Item(Global): Usage Page, data= [ 0x01 ] 1

Generic Desktop Controls

Item(Local ): Usage, data= [ 0x06 ] 6

Keyboard

Item(Main  ): Collection, data= [ 0x01 ] 1

Application

Item(Global): Usage Page, data= [ 0x07 ] 7

Keyboard

Item(Local ): Usage Minimum, data= [ 0xe0 ] 224

Control Left

Item(Local ): Usage Maximum, data= [ 0xe7 ] 231

GUI Right

Item(Global): Logical Minimum, data= [ 0x00 ] 0

Item(Global): Logical Maximum, data= [ 0x01 ] 1

Item(Global): Report Size, data= [ 0x01 ] 1

Item(Global): Report Count, data= [ 0x08 ] 8

Item(Main  ): Input, data= [ 0x02 ] 2

Data Variable Absolute No_Wrap Linear

Preferred_State No_Null_Position Non_Volatile Bitfield

Item(Global): Report Count, data= [ 0x01 ] 1

Item(Global): Report Size, data= [ 0x08 ] 8

Item(Main  ): Input, data= [ 0x01 ] 1

Constant Array Absolute No_Wrap Linear

Preferred_State No_Null_Position Non_Volatile Bitfield

Item(Global): Report Count, data= [ 0x05 ] 5

Item(Global): Report Size, data= [ 0x01 ] 1

Item(Global): Usage Page, data= [ 0x08 ] 8

LEDs

Item(Local ): Usage Minimum, data= [ 0x01 ] 1

NumLock

Item(Local ): Usage Maximum, data= [ 0x05 ] 5

Kana

Item(Main  ): Output, data= [ 0x02 ] 2

Data Variable Absolute No_Wrap Linear

Preferred_State No_Null_Position Non_Volatile Bitfield

Item(Global): Report Count, data= [ 0x03 ] 3

Item(Global): Report Size, data= [ 0x01 ] 1

Item(Main  ): Output, data= [ 0x01 ] 1

Constant Array Absolute No_Wrap Linear

Preferred_State No_Null_Position Non_Volatile Bitfield

Item(Global): Report Count, data= [ 0x06 ] 6

Item(Global): Report Size, data= [ 0x08 ] 8

Item(Global): Logical Minimum, data= [ 0x00 ] 0

Item(Global): Logical Maximum, data= [ 0xff 0x00 ] 255

Item(Global): Usage Page, data= [ 0x07 ] 7

Keyboard

Item(Local ): Usage Minimum, data= [ 0x00 ] 0

No Event

Item(Local ): Usage Maximum, data= [ 0xff 0x00 ] 255

(null)

Item(Main  ): Input, data= [ 0x00 ] 0

Data Array Absolute No_Wrap Linear

Preferred_State No_Null_Position Non_Volatile Bitfield

Item(Main  ): End Collection, data=none

Endpoint Descriptor:

bLength                 7

bDescriptorType         5

bEndpointAddress     0x82  EP 2 IN

bmAttributes            3

Transfer Type            Interrupt

Synch Type               None

Usage Type               Data

wMaxPacketSize     0x0008  1x 8 bytes

bInterval              10

Endpoint Descriptor:

bLength                 7

bDescriptorType         5

bEndpointAddress     0x02  EP 2 OUT

bmAttributes            3

Transfer Type            Interrupt

Synch Type               None

Usage Type               Data

wMaxPacketSize     0x0040  1x 64 bytes

bInterval               1

Interface Descriptor:

bLength                 9

bDescriptorType         4

bInterfaceNumber        2

bAlternateSetting       0

bNumEndpoints           2

bInterfaceClass         3 Human Interface Device

bInterfaceSubClass      0 No Subclass

bInterfaceProtocol      0 None

iInterface              5 USB_Touch_Service

HID Device Descriptor:

bLength                 9

bDescriptorType        33

bcdHID               1.11

bCountryCode            0 Not supported

bNumDescriptors         1

bDescriptorType        34 Report

wDescriptorLength      52

Report Descriptor: (length is 52)

Item(Global): Usage Page, data= [ 0xa0 0xff ] 65440

(null)

Item(Local ): Usage, data= [ 0x01 ] 1

(null)

Item(Main  ): Collection, data= [ 0x01 ] 1

Application

Item(Local ): Usage, data= [ 0x02 ] 2

(null)

Item(Main  ): Collection, data= [ 0x00 ] 0

Physical

Item(Global): Usage Page, data= [ 0xa1 0xff ] 65441

(null)

Item(Local ): Usage, data= [ 0x03 ] 3

(null)

Item(Local ): Usage, data= [ 0x04 ] 4

(null)

Item(Global): Logical Minimum, data= [ 0x80 ] 128

Item(Global): Logical Maximum, data= [ 0x7f ] 127

Item(Global): Physical Minimum, data= [ 0x00 ] 0

Item(Global): Physical Maximum, data= [ 0xff ] 255

Item(Global): Report Size, data= [ 0x08 ] 8

Item(Global): Report Count, data= [ 0x40 ] 64

Item(Main  ): Input, data= [ 0x02 ] 2

Data Variable Absolute No_Wrap Linear

Preferred_State No_Null_Position Non_Volatile Bitfield

Item(Local ): Usage, data= [ 0x05 ] 5

(null)

Item(Local ): Usage, data= [ 0x06 ] 6

(null)

Item(Global): Logical Minimum, data= [ 0x80 ] 128

Item(Global): Logical Maximum, data= [ 0x7f ] 127

Item(Global): Physical Minimum, data= [ 0x00 ] 0

Item(Global): Physical Maximum, data= [ 0xff ] 255

Item(Global): Report Size, data= [ 0x08 ] 8

Item(Global): Report Count, data= [ 0x40 ] 64

Item(Main  ): Output, data= [ 0x02 ] 2

Data Variable Absolute No_Wrap Linear

Preferred_State No_Null_Position Non_Volatile Bitfield

Item(Main  ): End Collection, data=none

Item(Main  ): End Collection, data=none

Endpoint Descriptor:

bLength                 7

bDescriptorType         5

bEndpointAddress     0x83  EP 3 IN

bmAttributes            3

Transfer Type            Interrupt

Synch Type               None

Usage Type               Data

wMaxPacketSize     0x0040  1x 64 bytes

bInterval               1

Endpoint Descriptor:

bLength                 7

bDescriptorType         5

bEndpointAddress     0x03  EP 3 OUT

bmAttributes            3

Transfer Type            Interrupt

Synch Type               None

Usage Type               Data

wMaxPacketSize     0x0040  1x 64 bytes

bInterval               1

Device Status:     0x0000

(Bus Powered)

通过这些信息, 判断得到第一个设备的hid report size是5.  就是一个普通的鼠标设备。然后我修改了drivers/input/touchscreen/usbtouchscreen.c。

但是结果还是没有反应


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部