Date: Thu, 03 Jun 2021 19:37:35 -0500 From: Mark Kane <mark@kane.mn> To: Vladimir Kondratyev <wulf@freebsd.org> Cc: usb@freebsd.org, hps@selasky.org Subject: Re: eGalax USB touchscreen issues Message-ID: <59ba07a0ecbdac36746fe18ea5f0559f@kane.mn> In-Reply-To: <c9e68dbb-5382-976d-7302-d816d8636153@FreeBSD.org> References: <324d49ca-1c0e-659d-194d-ece4d5f7f5e2@FreeBSD.org> <0ae3fec48e2c351d2c006f4ba4932cd7@kane.mn> <166dd4d4-24cd-c24b-d75e-9a34fa734358@FreeBSD.org> <eccaff2a99153fb44ffa8df3c93d7eb6@kane.mn> <36983ce5-8358-5a04-2377-46067d3c3c79@FreeBSD.org> <c9e68dbb-5382-976d-7302-d816d8636153@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On 2021-06-02 20:14, Vladimir Kondratyev wrote: >> For now, report descriptor is not broken but it still does not match >> my >> expectations. Could you post output of >> >> install sysutils/hid-tools >> sudo kldload hidraw.ko >> sudo hid-decode /dev/hidraw# >> >> Where # is number corresponding your touchscreen > > One more patch :-) with relaxed as compared to MS specs requirements to > usages presence. Thanks for the updated patches, I think we're getting very close :). With latest patch: # dmesg | grep hidraw hidraw0: <Lite-On Technology Corp. USB Multimedia Keyboard Raw HID Device> on hidbus0 hidraw1: <eGalax Inc. USB TouchController Raw HID Device> on hidbus1 # hid-decode /dev/hidraw1 0x05, 0x01, // Usage Page (Generic Desktop) 0 0x09, 0x01, // Usage (Pointer) 2 0xa1, 0x01, // Collection (Application) 4 0x85, 0x01, // Report ID (1) 6 0x09, 0x01, // Usage (Pointer) 8 0xa1, 0x00, // Collection (Physical) 10 0x05, 0x09, // Usage Page (Button) 12 0x19, 0x01, // Usage Minimum (1) 14 0x29, 0x02, // Usage Maximum (2) 16 0x15, 0x00, // Logical Minimum (0) 18 0x25, 0x01, // Logical Maximum (1) 20 0x95, 0x02, // Report Count (2) 22 0x75, 0x01, // Report Size (1) 24 0x81, 0x02, // Input (Data,Var,Abs) 26 0x95, 0x01, // Report Count (1) 28 0x75, 0x06, // Report Size (6) 30 0x81, 0x01, // Input (Cnst,Arr,Abs) 32 0x05, 0x01, // Usage Page (Generic Desktop) 34 0x09, 0x30, // Usage (X) 36 0x09, 0x31, // Usage (Y) 38 0x16, 0x00, 0x00, // Logical Minimum (0) 40 0x26, 0xff, 0x0f, // Logical Maximum (4095) 43 0x36, 0x00, 0x00, // Physical Minimum (0) 46 0x46, 0xff, 0x0f, // Physical Maximum (4095) 49 0x66, 0x00, 0x00, // Unit (None) 52 0x75, 0x10, // Report Size (16) 55 0x95, 0x02, // Report Count (2) 57 0x81, 0x02, // Input (Data,Var,Abs) 59 0xc0, // End Collection 61 0xc0, // End Collection 62 0x05, 0x0d, // Usage Page (Digitizers) 63 0x09, 0x04, // Usage (Touch Screen) 65 0xa1, 0x01, // Collection (Application) 67 0x85, 0x02, // Report ID (2) 69 0x09, 0x20, // Usage (Stylus) 71 0xa1, 0x00, // Collection (Physical) 73 0x09, 0x42, // Usage (Tip Switch) 75 0x09, 0x32, // Usage (In Range) 77 0x15, 0x00, // Logical Minimum (0) 79 0x25, 0x01, // Logical Maximum (1) 81 0x95, 0x02, // Report Count (2) 83 0x75, 0x01, // Report Size (1) 85 0x81, 0x02, // Input (Data,Var,Abs) 87 0x95, 0x06, // Report Count (6) 89 0x75, 0x01, // Report Size (1) 91 0x81, 0x03, // Input (Cnst,Var,Abs) 93 0x05, 0x01, // Usage Page (Generic Desktop) 95 0x09, 0x30, // Usage (X) 97 0x75, 0x10, // Report Size (16) 99 0x95, 0x01, // Report Count (1) 101 0xa4, // Push 103 0x55, 0x0d, // Unit Exponent (-3) 104 0x65, 0x33, // Unit (Inch^3,EngLinear) 106 0x36, 0x00, 0x00, // Physical Minimum (0) 108 0x46, 0x99, 0x28, // Physical Maximum (10393) 111 0x16, 0x00, 0x00, // Logical Minimum (0) 114 0x26, 0xff, 0x0f, // Logical Maximum (4095) 117 0x81, 0x02, // Input (Data,Var,Abs) 120 0x09, 0x31, // Usage (Y) 122 0x16, 0x00, 0x00, // Logical Minimum (0) 124 0x26, 0xff, 0x0f, // Logical Maximum (4095) 127 0x36, 0x00, 0x00, // Physical Minimum (0) 130 0x46, 0xaf, 0x19, // Physical Maximum (6575) 133 0x81, 0x02, // Input (Data,Var,Abs) 136 0xb4, // Pop 138 0xc0, // End Collection 139 0xc0, // End Collection 140 0x06, 0x00, 0xff, // Usage Page (Vendor Defined Page 1) 141 0x09, 0x01, // Usage (Vendor Usage 1) 144 0xa1, 0x01, // Collection (Application) 146 0x09, 0x01, // Usage (Vendor Usage 1) 148 0x15, 0x00, // Logical Minimum (0) 150 0x26, 0xff, 0x00, // Logical Maximum (255) 152 0x85, 0x03, // Report ID (3) 155 0x75, 0x08, // Report Size (8) 157 0x95, 0x3f, // Report Count (63) 159 0x81, 0x02, // Input (Data,Var,Abs) 161 0x06, 0x00, 0xff, // Usage Page (Vendor Defined Page 1) 163 0x09, 0x01, // Usage (Vendor Usage 1) 166 0x15, 0x00, // Logical Minimum (0) 168 0x26, 0xff, 0x00, // Logical Maximum (255) 170 0x75, 0x08, // Report Size (8) 173 0x95, 0x07, // Report Count (7) 175 0x91, 0x02, // Output (Data,Var,Abs) 177 0xc0, // End Collection 179 0x05, 0x0d, // Usage Page (Digitizers) 180 0x09, 0x04, // Usage (Touch Screen) 182 0xa1, 0x01, // Collection (Application) 184 0x85, 0x04, // Report ID (4) 186 0x09, 0x22, // Usage (Finger) 188 0xa1, 0x00, // Collection (Physical) 190 0x09, 0x42, // Usage (Tip Switch) 192 0x15, 0x00, // Logical Minimum (0) 194 0x25, 0x01, // Logical Maximum (1) 196 0x75, 0x01, // Report Size (1) 198 0x95, 0x01, // Report Count (1) 200 0x81, 0x02, // Input (Data,Var,Abs) 202 0x09, 0x32, // Usage (In Range) 204 0x15, 0x00, // Logical Minimum (0) 206 0x25, 0x01, // Logical Maximum (1) 208 0x81, 0x02, // Input (Data,Var,Abs) 210 0x09, 0x51, // Usage (Contact Id) 212 0x75, 0x05, // Report Size (5) 214 0x95, 0x01, // Report Count (1) 216 0x16, 0x00, 0x00, // Logical Minimum (0) 218 0x26, 0x10, 0x00, // Logical Maximum (16) 221 0x81, 0x02, // Input (Data,Var,Abs) 224 0x09, 0x47, // Usage (Confidence) 226 0x75, 0x01, // Report Size (1) 228 0x95, 0x01, // Report Count (1) 230 0x15, 0x00, // Logical Minimum (0) 232 0x25, 0x01, // Logical Maximum (1) 234 0x81, 0x02, // Input (Data,Var,Abs) 236 0x05, 0x01, // Usage Page (Generic Desktop) 238 0x09, 0x30, // Usage (X) 240 0x75, 0x10, // Report Size (16) 242 0x95, 0x01, // Report Count (1) 244 0x55, 0x0d, // Unit Exponent (-3) 246 0x65, 0x33, // Unit (Inch^3,EngLinear) 248 0x35, 0x00, // Physical Minimum (0) 250 0x46, 0x60, 0x17, // Physical Maximum (5984) 252 0x26, 0xff, 0x0f, // Logical Maximum (4095) 255 0x81, 0x02, // Input (Data,Var,Abs) 258 0x09, 0x31, // Usage (Y) 260 0x75, 0x10, // Report Size (16) 262 0x95, 0x01, // Report Count (1) 264 0x55, 0x0d, // Unit Exponent (-3) 266 0x65, 0x33, // Unit (Inch^3,EngLinear) 268 0x35, 0x00, // Physical Minimum (0) 270 0x46, 0x26, 0x0e, // Physical Maximum (3622) 272 0x26, 0xff, 0x0f, // Logical Maximum (4095) 275 0x81, 0x02, // Input (Data,Var,Abs) 278 0x05, 0x0d, // Usage Page (Digitizers) 280 0x09, 0x55, // Usage (Contact Max) 282 0x25, 0x08, // Logical Maximum (8) 284 0x75, 0x08, // Report Size (8) 286 0x95, 0x01, // Report Count (1) 288 0xb1, 0x02, // Feature (Data,Var,Abs) 290 0xc0, // End Collection 292 0x06, 0x00, 0xff, // Usage Page (Vendor Defined Page 1) 293 0x09, 0xc5, // Usage (Vendor Usage 0xc5) 296 0x85, 0x07, // Report ID (7) 298 0x15, 0x00, // Logical Minimum (0) 300 0x26, 0xff, 0x00, // Logical Maximum (255) 302 0x75, 0x08, // Report Size (8) 305 0x96, 0x00, 0x01, // Report Count (256) 307 0xb1, 0x02, // Feature (Data,Var,Abs) 310 0xc0, // End Collection 312 0x05, 0x0d, // Usage Page (Digitizers) 313 0x09, 0x0e, // Usage (Device Configuration) 315 0xa1, 0x01, // Collection (Application) 317 0x85, 0x05, // Report ID (5) 319 0x09, 0x22, // Usage (Finger) 321 0xa1, 0x00, // Collection (Physical) 323 0x09, 0x52, // Usage (Inputmode) 325 0x09, 0x53, // Usage (Device Index) 327 0x15, 0x00, // Logical Minimum (0) 329 0x25, 0x0a, // Logical Maximum (10) 331 0x75, 0x08, // Report Size (8) 333 0x95, 0x02, // Report Count (2) 335 0xb1, 0x02, // Feature (Data,Var,Abs) 337 0xc0, // End Collection 339 0xc0, // End Collection 340 **** win 8 certified **** # event8 which heard events before is no longer present, only event7 now which evemu-record does not hear events on. # evemu-record Available devices: /dev/input/event0: System mouse /dev/input/event1: System keyboard multiplexer /dev/input/event2: Power Button /dev/input/event3: Sleep Button /dev/input/event4: Lite-On Technology Corp. USB Multimedia Keyboard, class 0/0, rev 1.10/1.09, add /dev/input/event5: Lite-On Technology Corp. USB Multimedia Keyboard Consumer Control /dev/input/event6: Lite-On Technology Corp. USB Multimedia Keyboard System Control /dev/input/event7: eGalax Inc. USB TouchController Tablet Select the device event number [0-7]: 7 # EVEMU 1.3 # Kernel: 13.0-RELEASE # Input device name: "eGalax Inc. USB TouchController Tablet" # Input device ID: bus 0x03 vendor 0xeef product 0x01 version 0x100 # Supported events: # Event type 0 (EV_SYN) # Event code 0 (SYN_REPORT) # Event code 1 (SYN_CONFIG) # Event code 2 (SYN_MT_REPORT) # Event code 3 (SYN_DROPPED) # Event code 4 ((null)) # Event code 5 ((null)) # Event code 6 ((null)) # Event code 7 ((null)) # Event code 8 ((null)) # Event code 9 ((null)) # Event code 10 ((null)) # Event code 11 ((null)) # Event code 12 ((null)) # Event code 13 ((null)) # Event code 14 ((null)) # Event code 15 (SYN_MAX) # Event type 1 (EV_KEY) # Event code 272 (BTN_LEFT) # Event code 273 (BTN_RIGHT) # Event type 3 (EV_ABS) # Event code 0 (ABS_X) # Value 0 # Min 0 # Max 4095 # Fuzz 0 # Flat 0 # Resolution 0 # Event code 1 (ABS_Y) # Value 0 # Min 0 # Max 4095 # Fuzz 0 # Flat 0 # Resolution 0 # Properties: # Property type 1 (INPUT_PROP_DIRECT) N: eGalax Inc. USB TouchController Tablet I: 0003 0eef 0001 0100 P: 02 00 00 00 00 00 00 00 B: 00 0b 00 00 00 00 00 00 00 B: 01 00 00 00 00 00 00 00 00 B: 01 00 00 00 00 00 00 00 00 B: 01 00 00 00 00 00 00 00 00 B: 01 00 00 00 00 00 00 00 00 B: 01 00 00 03 00 00 00 00 00 B: 01 00 00 00 00 00 00 00 00 B: 01 00 00 00 00 00 00 00 00 B: 01 00 00 00 00 00 00 00 00 B: 01 00 00 00 00 00 00 00 00 B: 01 00 00 00 00 00 00 00 00 B: 01 00 00 00 00 00 00 00 00 B: 01 00 00 00 00 00 00 00 00 B: 02 00 00 00 00 00 00 00 00 B: 03 03 00 00 00 00 00 00 00 B: 04 00 00 00 00 00 00 00 00 B: 05 00 00 00 00 00 00 00 00 B: 11 00 00 00 00 00 00 00 00 B: 12 00 00 00 00 00 00 00 00 B: 14 00 00 00 00 00 00 00 00 B: 15 00 00 00 00 00 00 00 00 B: 15 00 00 00 00 00 00 00 00 A: 00 0 4095 0 0 0 A: 01 0 4095 0 0 0 ################################ # Waiting for events # ################################ [... no events ...] ^C # X does add it as an input now: [ 617.720] (**) eGalax Inc. USB TouchController Tablet: Applying InputClass "evdev touchscreen catchall" [ 617.720] (**) eGalax Inc. USB TouchController Tablet: Applying InputClass "libinput touchscreen catchall" [ 617.720] (II) Using input driver 'libinput' for 'eGalax Inc. USB TouchController Tablet' [ 617.720] (**) eGalax Inc. USB TouchController Tablet: always reports core events [ 617.720] (**) Option "Device" "/dev/input/event7" [ 617.720] (**) Option "_source" "server/udev" [ 617.723] (II) event7 - eGalax Inc. USB TouchController Tablet: is tagged by udev as: Touchscreen [ 617.725] (II) event7 - eGalax Inc. USB TouchController Tablet: device is a touch device [ 617.725] (II) event7 - eGalax Inc. USB TouchController Tablet: device removed [ 617.736] (**) Option "config_info" "udev:/dev/input/event7" [ 617.736] (II) XINPUT: Adding extended input device "eGalax Inc. USB TouchController Tablet" (type: TOUCHSCREEN, id 13) [ 617.736] (**) Option "AccelerationScheme" "none" [ 617.736] (**) eGalax Inc. USB TouchController Tablet: (accel) selected scheme none/0 [ 617.736] (**) eGalax Inc. USB TouchController Tablet: (accel) acceleration factor: 2.000 [ 617.736] (**) eGalax Inc. USB TouchController Tablet: (accel) acceleration threshold: 4 [ 617.740] (II) event7 - eGalax Inc. USB TouchController Tablet: is tagged by udev as: Touchscreen [ 617.741] (II) event7 - eGalax Inc. USB TouchController Tablet: device is a touch device $ xinput --list ⎡ Virtual core pointer id=2 [master pointer (3)] ⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)] ⎜ ↳ System mouse id=6 [slave pointer (2)] ⎜ ↳ eGalax Inc. USB TouchController Tablet id=13 [slave pointer (2)] ⎣ Virtual core keyboard id=3 [master keyboard (2)] ↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)] ↳ System keyboard multiplexer id=7 [slave keyboard (3)] ↳ Power Button id=8 [slave keyboard (3)] ↳ Sleep Button id=9 [slave keyboard (3)] ↳ Lite-On Technology Corp. USB Multimedia Keyboard id=10 [slave keyboard (3)] ↳ Lite-On Technology Corp. USB Multimedia Keyboard Consumer Control id=11 [slave keyboard (3)] ↳ Lite-On Technology Corp. USB Multimedia Keyboard System Control id=12 [slave keyboard (3)] No events with xinput --test 13
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?59ba07a0ecbdac36746fe18ea5f0559f>