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
_______________________________________________
freebsd-usb@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-usb
To unsubscribe, send any mail to "freebsd-usb-unsubscr...@freebsd.org"

Reply via email to