On Sat, Sep 15, 2018 at 01:59:14AM -0600, Trent Gamblin wrote: > With an ELAN touchscreen and active stylus, the stylus reports 1% battery at > all times. I've used several batteries including 2 brand new ones, and tried > 2 new styluses. I noticed in the USB HID driver the possibility of ignoring > the battery on devices by adding IDs to the code, perhaps it's a good idea > with this device. > > When I use the stylus it pops up a notification saying the battery is low. > On Windows, I don't get any notification nor does there seem to be any way > to check the battery level, so I think it might not be a valid value at all. > The troubleshooting manual from Dell for the stylus simply says if the > stylus isn't working anymore, replace the battery. I'm using a Dell Inspiron > 5379 laptop. > > lsusb -vd output is attached. I've added the linux-input mailing list as the developers there should be able to help you out with this better than just the USB developers can. lsusb output preserved below... thanks, greg k-h > > Bus 001 Device 007: ID 04f3:2361 Elan Microelectronics Corp. > Device Descriptor: > bLength 18 > bDescriptorType 1 > bcdUSB 2.00 > bDeviceClass 0 (Defined at Interface level) > bDeviceSubClass 0 > bDeviceProtocol 0 > bMaxPacketSize0 8 > idVendor 0x04f3 Elan Microelectronics Corp. > idProduct 0x2361 > bcdDevice 57.13 > iManufacturer 4 ELAN > iProduct 14 Touchscreen > iSerial 0 > bNumConfigurations 1 > Configuration Descriptor: > bLength 9 > bDescriptorType 2 > wTotalLength 41 > bNumInterfaces 1 > bConfigurationValue 1 > iConfiguration 0 > bmAttributes 0xe0 > Self Powered > Remote Wakeup > MaxPower 100mA > Interface Descriptor: > bLength 9 > bDescriptorType 4 > bInterfaceNumber 0 > bAlternateSetting 0 > bNumEndpoints 2 > bInterfaceClass 3 Human Interface Device > bInterfaceSubClass 0 No Subclass > bInterfaceProtocol 0 None > iInterface 0 > HID Device Descriptor: > bLength 9 > bDescriptorType 33 > bcdHID 1.10 > bCountryCode 0 Not supported > bNumDescriptors 1 > bDescriptorType 34 Report > wDescriptorLength 1043 > Report Descriptor: (length is 1043) > Item(Global): Usage Page, data= [ 0x0d ] 13 > Digitizer > Item(Local ): Usage, data= [ 0x02 ] 2 > Pen > Item(Main ): Collection, data= [ 0x01 ] 1 > Application > Item(Global): Report ID, data= [ 0x07 ] 7 > Item(Global): Physical Minimum, data= [ 0x00 ] 0 > Item(Local ): Usage, data= [ 0x20 ] 32 > Stylus > Item(Main ): Collection, data= [ 0x00 ] 0 > Physical > Item(Local ): Usage, data= [ 0x32 ] 50 > In Range > Item(Local ): Usage, data= [ 0x42 ] 66 > Tip Switch > Item(Local ): Usage, data= [ 0x44 ] 68 > Barrel Switch > Item(Local ): Usage, data= [ 0x3c ] 60 > Invert > Item(Local ): Usage, data= [ 0x45 ] 69 > Eraser > 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= [ 0x05 ] 5 > 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= [ 0x03 ] 3 > Item(Main ): Input, data= [ 0x03 ] 3 > Constant Variable 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(Global): Report Size, data= [ 0x10 ] 16 > Item(Global): Report Count, data= [ 0x01 ] 1 > Item(Global): Push, data=none > Item(Global): Unit Exponent, data= [ 0x0f ] 15 > Unit Exponent: 15 > Item(Global): Unit, data= [ 0x11 ] 17 > System: SI Linear, Unit: Centimeter > Item(Global): Physical Maximum, data= [ 0x26 0x01 ] 294 > Item(Global): Logical Maximum, data= [ 0x1c 0x48 ] 18460 > Item(Main ): Input, data= [ 0x42 ] 66 > Data Variable Absolute No_Wrap Linear > Preferred_State Null_State Non_Volatile Bitfield > Item(Local ): Usage, data= [ 0x31 ] 49 > Direction-Y > Item(Global): Physical Maximum, data= [ 0xa5 0x00 ] 165 > Item(Global): Logical Maximum, data= [ 0xa0 0x28 ] 10400 > Item(Main ): Input, data= [ 0x42 ] 66 > Data Variable Absolute No_Wrap Linear > Preferred_State Null_State Non_Volatile Bitfield > Item(Global): Pop, data=none > Item(Global): Usage Page, data= [ 0x0d ] 13 > Digitizer > Item(Local ): Usage, data= [ 0x30 ] 48 > Tip Pressure > Item(Global): Logical Maximum, data= [ 0x00 0x01 ] 256 > Item(Main ): Input, data= [ 0x02 ] 2 > Data Variable Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile Bitfield > Item(Local ): Usage, data= [ 0x3b ] 59 > Battery Strength > Item(Global): Report Size, data= [ 0x08 ] 8 > Item(Global): Logical Maximum, data= [ 0x64 ] 100 > Item(Main ): Input, data= [ 0x42 ] 66 > Data Variable Absolute No_Wrap Linear > Preferred_State Null_State Non_Volatile Bitfield > Item(Global): Usage Page, data= [ 0x00 0xff ] 65280 > (null) > Item(Global): Report Count, data= [ 0x02 ] 2 > Item(Local ): Usage, data= [ 0x01 ] 1 > (null) > 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= [ 0x01 ] 1 > 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(Global): Report Size, data= [ 0x01 ] 1 > 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= [ 0x06 ] 6 > Item(Local ): Usage, data= [ 0x51 ] 81 > Contact ID > Item(Global): Logical Maximum, data= [ 0x3f ] 63 > Item(Main ): Input, data= [ 0x02 ] 2 > Data Variable Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile Bitfield > Item(Global): Logical Maximum, data= [ 0xff 0x00 ] 255 > Item(Global): Report Size, data= [ 0x08 ] 8 > Item(Local ): Usage, data= [ 0x48 ] 72 > Width > Item(Main ): Input, data= [ 0x02 ] 2 > Data Variable Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile Bitfield > Item(Local ): Usage, data= [ 0x49 ] 73 > Height > 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): Usage Page, data= [ 0x01 ] 1 > Generic Desktop Controls > Item(Global): Push, data=none > Item(Global): Logical Maximum, data= [ 0x50 0x0d ] 3408 > Item(Global): Report Size, data= [ 0x10 ] 16 > Item(Global): Unit Exponent, data= [ 0x0f ] 15 > Unit Exponent: 15 > Item(Global): Unit, data= [ 0x11 ] 17 > System: SI Linear, Unit: Centimeter > Item(Local ): Usage, data= [ 0x30 ] 48 > Direction-X > Item(Global): Physical Minimum, data= [ 0x00 ] 0 > Item(Global): Physical Maximum, data= [ 0x26 0x01 ] 294 > 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(Global): Logical Maximum, data= [ 0x80 0x07 ] 1920 > Item(Global): Physical Maximum, data= [ 0xa5 0x00 ] 165 > 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(Global): Pop, data=none > Item(Main ): End Collection, data=none > Item(Global): Usage Page, data= [ 0x0d ] 13 > Digitizer > Item(Local ): Usage, data= [ 0x22 ] 34 > Finger > 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(Global): Report Size, data= [ 0x01 ] 1 > 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= [ 0x06 ] 6 > Item(Local ): Usage, data= [ 0x51 ] 81 > Contact ID > Item(Global): Logical Maximum, data= [ 0x3f ] 63 > Item(Main ): Input, data= [ 0x02 ] 2 > Data Variable Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile Bitfield > Item(Global): Logical Maximum, data= [ 0xff 0x00 ] 255 > Item(Global): Report Size, data= [ 0x08 ] 8 > Item(Local ): Usage, data= [ 0x48 ] 72 > Width > Item(Main ): Input, data= [ 0x02 ] 2 > Data Variable Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile Bitfield > Item(Local ): Usage, data= [ 0x49 ] 73 > Height > 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): Usage Page, data= [ 0x01 ] 1 > Generic Desktop Controls > Item(Global): Push, data=none > Item(Global): Logical Maximum, data= [ 0x50 0x0d ] 3408 > Item(Global): Report Size, data= [ 0x10 ] 16 > Item(Global): Unit Exponent, data= [ 0x0f ] 15 > Unit Exponent: 15 > Item(Global): Unit, data= [ 0x11 ] 17 > System: SI Linear, Unit: Centimeter > Item(Local ): Usage, data= [ 0x30 ] 48 > Direction-X > Item(Global): Physical Minimum, data= [ 0x00 ] 0 > Item(Global): Physical Maximum, data= [ 0x26 0x01 ] 294 > 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(Global): Logical Maximum, data= [ 0x80 0x07 ] 1920 > Item(Global): Physical Maximum, data= [ 0xa5 0x00 ] 165 > 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(Global): Pop, data=none > Item(Main ): End Collection, data=none > Item(Global): Usage Page, data= [ 0x0d ] 13 > Digitizer > Item(Local ): Usage, data= [ 0x22 ] 34 > Finger > 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(Global): Report Size, data= [ 0x01 ] 1 > 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= [ 0x06 ] 6 > Item(Local ): Usage, data= [ 0x51 ] 81 > Contact ID > Item(Global): Logical Maximum, data= [ 0x3f ] 63 > Item(Main ): Input, data= [ 0x02 ] 2 > Data Variable Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile Bitfield > Item(Global): Logical Maximum, data= [ 0xff 0x00 ] 255 > Item(Global): Report Size, data= [ 0x08 ] 8 > Item(Local ): Usage, data= [ 0x48 ] 72 > Width > Item(Main ): Input, data= [ 0x02 ] 2 > Data Variable Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile Bitfield > Item(Local ): Usage, data= [ 0x49 ] 73 > Height > 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): Usage Page, data= [ 0x01 ] 1 > Generic Desktop Controls > Item(Global): Push, data=none > Item(Global): Logical Maximum, data= [ 0x50 0x0d ] 3408 > Item(Global): Report Size, data= [ 0x10 ] 16 > Item(Global): Unit Exponent, data= [ 0x0f ] 15 > Unit Exponent: 15 > Item(Global): Unit, data= [ 0x11 ] 17 > System: SI Linear, Unit: Centimeter > Item(Local ): Usage, data= [ 0x30 ] 48 > Direction-X > Item(Global): Physical Minimum, data= [ 0x00 ] 0 > Item(Global): Physical Maximum, data= [ 0x26 0x01 ] 294 > 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(Global): Logical Maximum, data= [ 0x80 0x07 ] 1920 > Item(Global): Physical Maximum, data= [ 0xa5 0x00 ] 165 > 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(Global): Pop, data=none > Item(Main ): End Collection, data=none > Item(Global): Usage Page, data= [ 0x0d ] 13 > Digitizer > Item(Local ): Usage, data= [ 0x22 ] 34 > Finger > 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(Global): Report Size, data= [ 0x01 ] 1 > 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= [ 0x06 ] 6 > Item(Local ): Usage, data= [ 0x51 ] 81 > Contact ID > Item(Global): Logical Maximum, data= [ 0x3f ] 63 > Item(Main ): Input, data= [ 0x02 ] 2 > Data Variable Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile Bitfield > Item(Global): Logical Maximum, data= [ 0xff 0x00 ] 255 > Item(Global): Report Size, data= [ 0x08 ] 8 > Item(Local ): Usage, data= [ 0x48 ] 72 > Width > Item(Main ): Input, data= [ 0x02 ] 2 > Data Variable Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile Bitfield > Item(Local ): Usage, data= [ 0x49 ] 73 > Height > 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): Usage Page, data= [ 0x01 ] 1 > Generic Desktop Controls > Item(Global): Push, data=none > Item(Global): Logical Maximum, data= [ 0x50 0x0d ] 3408 > Item(Global): Report Size, data= [ 0x10 ] 16 > Item(Global): Unit Exponent, data= [ 0x0f ] 15 > Unit Exponent: 15 > Item(Global): Unit, data= [ 0x11 ] 17 > System: SI Linear, Unit: Centimeter > Item(Local ): Usage, data= [ 0x30 ] 48 > Direction-X > Item(Global): Physical Minimum, data= [ 0x00 ] 0 > Item(Global): Physical Maximum, data= [ 0x26 0x01 ] 294 > 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(Global): Logical Maximum, data= [ 0x80 0x07 ] 1920 > Item(Global): Physical Maximum, data= [ 0xa5 0x00 ] 165 > 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(Global): Pop, data=none > Item(Main ): End Collection, data=none > Item(Global): Usage Page, data= [ 0x0d ] 13 > Digitizer > Item(Local ): Usage, data= [ 0x22 ] 34 > Finger > 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(Global): Report Size, data= [ 0x01 ] 1 > 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= [ 0x06 ] 6 > Item(Local ): Usage, data= [ 0x51 ] 81 > Contact ID > Item(Global): Logical Maximum, data= [ 0x3f ] 63 > Item(Main ): Input, data= [ 0x02 ] 2 > Data Variable Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile Bitfield > Item(Global): Logical Maximum, data= [ 0xff 0x00 ] 255 > Item(Global): Report Size, data= [ 0x08 ] 8 > Item(Local ): Usage, data= [ 0x48 ] 72 > Width > Item(Main ): Input, data= [ 0x02 ] 2 > Data Variable Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile Bitfield > Item(Local ): Usage, data= [ 0x49 ] 73 > Height > 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): Usage Page, data= [ 0x01 ] 1 > Generic Desktop Controls > Item(Global): Push, data=none > Item(Global): Logical Maximum, data= [ 0x50 0x0d ] 3408 > Item(Global): Report Size, data= [ 0x10 ] 16 > Item(Global): Unit Exponent, data= [ 0x0f ] 15 > Unit Exponent: 15 > Item(Global): Unit, data= [ 0x11 ] 17 > System: SI Linear, Unit: Centimeter > Item(Local ): Usage, data= [ 0x30 ] 48 > Direction-X > Item(Global): Physical Minimum, data= [ 0x00 ] 0 > Item(Global): Physical Maximum, data= [ 0x26 0x01 ] 294 > 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(Global): Logical Maximum, data= [ 0x80 0x07 ] 1920 > Item(Global): Physical Maximum, data= [ 0xa5 0x00 ] 165 > 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(Global): Pop, data=none > Item(Main ): End Collection, data=none > Item(Global): Usage Page, data= [ 0x0d ] 13 > Digitizer > Item(Local ): Usage, data= [ 0x22 ] 34 > Finger > 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(Global): Report Size, data= [ 0x01 ] 1 > 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= [ 0x06 ] 6 > Item(Local ): Usage, data= [ 0x51 ] 81 > Contact ID > Item(Global): Logical Maximum, data= [ 0x3f ] 63 > Item(Main ): Input, data= [ 0x02 ] 2 > Data Variable Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile Bitfield > Item(Global): Logical Maximum, data= [ 0xff 0x00 ] 255 > Item(Global): Report Size, data= [ 0x08 ] 8 > Item(Local ): Usage, data= [ 0x48 ] 72 > Width > Item(Main ): Input, data= [ 0x02 ] 2 > Data Variable Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile Bitfield > Item(Local ): Usage, data= [ 0x49 ] 73 > Height > 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): Usage Page, data= [ 0x01 ] 1 > Generic Desktop Controls > Item(Global): Push, data=none > Item(Global): Logical Maximum, data= [ 0x50 0x0d ] 3408 > Item(Global): Report Size, data= [ 0x10 ] 16 > Item(Global): Unit Exponent, data= [ 0x0f ] 15 > Unit Exponent: 15 > Item(Global): Unit, data= [ 0x11 ] 17 > System: SI Linear, Unit: Centimeter > Item(Local ): Usage, data= [ 0x30 ] 48 > Direction-X > Item(Global): Physical Minimum, data= [ 0x00 ] 0 > Item(Global): Physical Maximum, data= [ 0x26 0x01 ] 294 > 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(Global): Logical Maximum, data= [ 0x80 0x07 ] 1920 > Item(Global): Physical Maximum, data= [ 0xa5 0x00 ] 165 > 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(Global): Pop, data=none > Item(Main ): End Collection, data=none > Item(Global): Usage Page, data= [ 0x0d ] 13 > Digitizer > Item(Local ): Usage, data= [ 0x22 ] 34 > Finger > 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(Global): Report Size, data= [ 0x01 ] 1 > 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= [ 0x06 ] 6 > Item(Local ): Usage, data= [ 0x51 ] 81 > Contact ID > Item(Global): Logical Maximum, data= [ 0x3f ] 63 > Item(Main ): Input, data= [ 0x02 ] 2 > Data Variable Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile Bitfield > Item(Global): Logical Maximum, data= [ 0xff 0x00 ] 255 > Item(Global): Report Size, data= [ 0x08 ] 8 > Item(Local ): Usage, data= [ 0x48 ] 72 > Width > Item(Main ): Input, data= [ 0x02 ] 2 > Data Variable Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile Bitfield > Item(Local ): Usage, data= [ 0x49 ] 73 > Height > 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): Usage Page, data= [ 0x01 ] 1 > Generic Desktop Controls > Item(Global): Push, data=none > Item(Global): Logical Maximum, data= [ 0x50 0x0d ] 3408 > Item(Global): Report Size, data= [ 0x10 ] 16 > Item(Global): Unit Exponent, data= [ 0x0f ] 15 > Unit Exponent: 15 > Item(Global): Unit, data= [ 0x11 ] 17 > System: SI Linear, Unit: Centimeter > Item(Local ): Usage, data= [ 0x30 ] 48 > Direction-X > Item(Global): Physical Minimum, data= [ 0x00 ] 0 > Item(Global): Physical Maximum, data= [ 0x26 0x01 ] 294 > 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(Global): Logical Maximum, data= [ 0x80 0x07 ] 1920 > Item(Global): Physical Maximum, data= [ 0xa5 0x00 ] 165 > 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(Global): Pop, data=none > Item(Main ): End Collection, data=none > Item(Global): Usage Page, data= [ 0x0d ] 13 > Digitizer > Item(Local ): Usage, data= [ 0x22 ] 34 > Finger > 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(Global): Report Size, data= [ 0x01 ] 1 > 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= [ 0x06 ] 6 > Item(Local ): Usage, data= [ 0x51 ] 81 > Contact ID > Item(Global): Logical Maximum, data= [ 0x3f ] 63 > Item(Main ): Input, data= [ 0x02 ] 2 > Data Variable Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile Bitfield > Item(Global): Logical Maximum, data= [ 0xff 0x00 ] 255 > Item(Global): Report Size, data= [ 0x08 ] 8 > Item(Local ): Usage, data= [ 0x48 ] 72 > Width > Item(Main ): Input, data= [ 0x02 ] 2 > Data Variable Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile Bitfield > Item(Local ): Usage, data= [ 0x49 ] 73 > Height > 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): Usage Page, data= [ 0x01 ] 1 > Generic Desktop Controls > Item(Global): Push, data=none > Item(Global): Logical Maximum, data= [ 0x50 0x0d ] 3408 > Item(Global): Report Size, data= [ 0x10 ] 16 > Item(Global): Unit Exponent, data= [ 0x0f ] 15 > Unit Exponent: 15 > Item(Global): Unit, data= [ 0x11 ] 17 > System: SI Linear, Unit: Centimeter > Item(Local ): Usage, data= [ 0x30 ] 48 > Direction-X > Item(Global): Physical Minimum, data= [ 0x00 ] 0 > Item(Global): Physical Maximum, data= [ 0x26 0x01 ] 294 > 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(Global): Logical Maximum, data= [ 0x80 0x07 ] 1920 > Item(Global): Physical Maximum, data= [ 0xa5 0x00 ] 165 > 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(Global): Pop, data=none > Item(Main ): End Collection, data=none > Item(Global): Usage Page, data= [ 0x0d ] 13 > Digitizer > Item(Local ): Usage, data= [ 0x22 ] 34 > Finger > 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(Global): Report Size, data= [ 0x01 ] 1 > 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= [ 0x06 ] 6 > Item(Local ): Usage, data= [ 0x51 ] 81 > Contact ID > Item(Global): Logical Maximum, data= [ 0x3f ] 63 > Item(Main ): Input, data= [ 0x02 ] 2 > Data Variable Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile Bitfield > Item(Global): Logical Maximum, data= [ 0xff 0x00 ] 255 > Item(Global): Report Size, data= [ 0x08 ] 8 > Item(Local ): Usage, data= [ 0x48 ] 72 > Width > Item(Main ): Input, data= [ 0x02 ] 2 > Data Variable Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile Bitfield > Item(Local ): Usage, data= [ 0x49 ] 73 > Height > 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): Usage Page, data= [ 0x01 ] 1 > Generic Desktop Controls > Item(Global): Push, data=none > Item(Global): Logical Maximum, data= [ 0x50 0x0d ] 3408 > Item(Global): Report Size, data= [ 0x10 ] 16 > Item(Global): Unit Exponent, data= [ 0x0f ] 15 > Unit Exponent: 15 > Item(Global): Unit, data= [ 0x11 ] 17 > System: SI Linear, Unit: Centimeter > Item(Local ): Usage, data= [ 0x30 ] 48 > Direction-X > Item(Global): Physical Minimum, data= [ 0x00 ] 0 > Item(Global): Physical Maximum, data= [ 0x26 0x01 ] 294 > 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(Global): Logical Maximum, data= [ 0x80 0x07 ] 1920 > Item(Global): Physical Maximum, data= [ 0xa5 0x00 ] 165 > 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(Global): Pop, data=none > Item(Main ): End Collection, data=none > Item(Global): Usage Page, data= [ 0x0d ] 13 > Digitizer > Item(Local ): Usage, data= [ 0x22 ] 34 > Finger > 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(Global): Report Size, data= [ 0x01 ] 1 > 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= [ 0x06 ] 6 > Item(Local ): Usage, data= [ 0x51 ] 81 > Contact ID > Item(Global): Logical Maximum, data= [ 0x3f ] 63 > Item(Main ): Input, data= [ 0x02 ] 2 > Data Variable Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile Bitfield > Item(Global): Logical Maximum, data= [ 0xff 0x00 ] 255 > Item(Global): Report Size, data= [ 0x08 ] 8 > Item(Local ): Usage, data= [ 0x48 ] 72 > Width > Item(Main ): Input, data= [ 0x02 ] 2 > Data Variable Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile Bitfield > Item(Local ): Usage, data= [ 0x49 ] 73 > Height > 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): Usage Page, data= [ 0x01 ] 1 > Generic Desktop Controls > Item(Global): Push, data=none > Item(Global): Logical Maximum, data= [ 0x50 0x0d ] 3408 > Item(Global): Report Size, data= [ 0x10 ] 16 > Item(Global): Unit Exponent, data= [ 0x0f ] 15 > Unit Exponent: 15 > Item(Global): Unit, data= [ 0x11 ] 17 > System: SI Linear, Unit: Centimeter > Item(Local ): Usage, data= [ 0x30 ] 48 > Direction-X > Item(Global): Physical Minimum, data= [ 0x00 ] 0 > Item(Global): Physical Maximum, data= [ 0x26 0x01 ] 294 > 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(Global): Logical Maximum, data= [ 0x80 0x07 ] 1920 > Item(Global): Physical Maximum, data= [ 0xa5 0x00 ] 165 > 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(Global): Pop, data=none > Item(Main ): End Collection, data=none > Item(Global): Usage Page, data= [ 0x0d ] 13 > Digitizer > Item(Local ): Usage, data= [ 0x56 ] 86 > (null) > Item(Global): Unit Exponent, data= [ 0x00 ] 0 > Unit Exponent: 0 > Item(Global): Unit, data= [ 0x00 ] 0 > System: None, Unit: (None) > Item(Global): Logical Maximum, data= [ 0xff 0xff 0xff 0x7f ] 2147483647 > Item(Global): Report Count, data= [ 0x01 ] 1 > Item(Global): Report Size, data= [ 0x20 ] 32 > Item(Main ): Input, data= [ 0x02 ] 2 > Data Variable Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile Bitfield > Item(Local ): Usage, data= [ 0x54 ] 84 > Contact Count > Item(Global): Logical Maximum, data= [ 0x7f ] 127 > Item(Global): Report Count, data= [ 0x01 ] 1 > Item(Global): Report Size, 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 ID, data= [ 0x0a ] 10 > Item(Local ): Usage, data= [ 0x55 ] 85 > Maximum Contact Number > Item(Global): Logical Maximum, data= [ 0x0a ] 10 > Item(Main ): Feature, data= [ 0x02 ] 2 > Data Variable Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile Bitfield > Item(Global): Report ID, data= [ 0x44 ] 68 > Item(Global): Usage Page, data= [ 0x00 0xff ] 65280 > (null) > Item(Local ): Usage, data= [ 0xc5 ] 197 > (null) > Item(Global): Logical Minimum, data= [ 0x00 ] 0 > Item(Global): Logical Maximum, data= [ 0xff 0x00 ] 255 > Item(Global): Report Size, data= [ 0x08 ] 8 > Item(Global): Report Count, data= [ 0x00 0x01 ] 256 > 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(Global): Usage Page, data= [ 0xff 0x01 ] 511 > (null) > Item(Local ): Usage, data= [ 0x01 ] 1 > (null) > Item(Main ): Collection, data= [ 0x01 ] 1 > Application > Item(Global): Report ID, data= [ 0x02 ] 2 > Item(Global): Logical Minimum, data= [ 0x00 ] 0 > Item(Global): Logical Maximum, data= [ 0xff 0x00 ] 255 > Item(Global): Report Size, data= [ 0x08 ] 8 > Item(Global): Report Count, data= [ 0x40 ] 64 > Item(Local ): Usage, data= [ 0x00 ] 0 > (null) > 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= [ 0x00 0xff ] 65280 > (null) > Item(Local ): Usage, data= [ 0x01 ] 1 > (null) > Item(Main ): Collection, data= [ 0x01 ] 1 > Application > Item(Global): Report ID, data= [ 0x03 ] 3 > Item(Global): Report Size, data= [ 0x08 ] 8 > Item(Global): Report Count, data= [ 0x3f ] 63 > Item(Local ): Usage, data= [ 0x01 ] 1 > (null) > 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(Global): Usage Page, data= [ 0x01 0xff ] 65281 > (null) > Item(Local ): Usage, data= [ 0x01 ] 1 > (null) > Item(Main ): Collection, data= [ 0x01 ] 1 > Application > Item(Global): Report ID, data= [ 0x04 ] 4 > Item(Global): Logical Minimum, data= [ 0x00 ] 0 > Item(Global): Logical Maximum, data= [ 0xff 0x00 ] 255 > Item(Global): Report Size, data= [ 0x08 ] 8 > Item(Global): Report Count, data= [ 0x13 ] 19 > Item(Local ): Usage, data= [ 0x00 ] 0 > (null) > 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 > 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 > 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 2 > Device Status: 0x0001 > Self Powered