USB HID touchscreen (Penmount) status?
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 07 Jun 2024 11:03:36 UTC
Hi, I am trying to get Penmount touch screen controller into some usable shape. As I used webcamd for touchscreen before, I thought it should work. 'webcamd -l' tells me how it should be used, so trying running 'webcamd -N DIALOGUE-INC-PenMount-USB', but the result is webcamd 10832 - - Attached to ugen0.2[0] webcamd 10832 - - webcamd: Cannot find USB device so no joy this way. By the way, I found some old patch for Linux at https://patchwork.kernel.org/project/linux-input/patch/1408978083-569-1-git-send-email-christian.gmeiner@gmail.com/ and, given the date, it should be probably included in standard Linux sources, so webcamd should know it, but there is something wrong. So I tried another route, using sysutils/uhidd port. Installing it, running 'uhidd -hkmou -dDvvv /dev/ugen0.2' shows me touch events, I just see nothing in X. Starting uhidd this way outputs uhidd 10933 - - open /usr/local/etc/uhidd.conf failed: No such file or directory uhidd 10933 - - proceed without configuration file ugen0.2[0]-> HID interface ugen0.2[0]-> Report descriptor size = 76 ugen0.2[0]-> Report descriptor dump: USAGE PAGE Generic Desktop(0x1) USAGE Mouse(0x2)[Generic Desktop(0x1)] COLLECTION Application(1) USAGE Pointer(0x1)[Generic Desktop(0x1)] COLLECTION Physical(0) USAGE Undefined(0)[Generic Desktop(0x1)] LOGICAL MINIMUM 0 LOGICAL MAXIMUM 1 REPORT COUNT 6 REPORT SIZE 1 INPUT ( Const Array Absolute ) (1) USAGE PAGE Button(0x9) USAGE MINIMUM Button1(1) USAGE MAXIMUM Button3(3) LOGICAL MINIMUM 0 LOGICAL MAXIMUM 1 REPORT COUNT 2 REPORT SIZE 1 INPUT ( Data Variable Absolute ) (2) USAGE PAGE Generic Desktop(0x1) USAGE X(0x30)[Generic Desktop(0x1)] USAGE Y(0x31)[Generic Desktop(0x1)] LOGICAL MINIMUM 0 LOGICAL MAXIMUM 1023 PHYSICAL MINIMUM 128 PHYSICAL MAXIMUM 32767 REPORT SIZE 16 REPORT COUNT 2 INPUT ( Data Variable Absolute ) (2) USAGE Undefined(0)[Generic Desktop(0x1)] LOGICAL MINIMUM 0 LOGICAL MAXIMUM 255 REPORT SIZE 8 REPORT COUNT 5 FEATURE ( Data Variable Absolute ) (2) END COLLECTION END COLLECTION ugen0.2[0]-> Find IN interrupt ep: 0x81 packet_size=0x5 HID APPLICATION COLLECTION (Mouse) size(76) HID REPORT: ID 0 INPUT: POS:0 SIZE:1 COUNT:6 [CONST] POS:6 SIZE:1 COUNT:2 [VARIABLE] USAGE Button1 USAGE Button2 POS:8 SIZE:16 COUNT:2 [VARIABLE] USAGE X USAGE Y FEATURE: POS:0 SIZE:8 COUNT:5 [VARIABLE] USAGE Undefined USAGE Unknown Page USAGE Unknown Page USAGE Unknown Page USAGE Unknown Page ugen0.2[0]-> HID interface task started When I touch the screen, I get ugen0.2[0]-> received data(5): 112 120 01 -96 01 hid_appcol_recv_data: len(5) 0x70 0x78 0x01 0xa0 0x01 ugen0.2[0]-> mouse received data: dx(376) dy(416) dw(0) dt(0) btn(0x1) ugen0.2[0]-> received data(5): 112 120 01 -96 01 hid_appcol_recv_data: len(5) 0x70 0x78 0x01 0xa0 0x01 ugen0.2[0]-> mouse received data: dx(376) dy(416) dw(0) dt(0) btn(0x1) ugen0.2[0]-> received data(5): 48 120 01 -96 01 hid_appcol_recv_data: len(5) 0x30 0x78 0x01 0xa0 0x01 ugen0.2[0]-> mouse received data: dx(376) dy(416) dw(0) dt(0) btn(0) so that's great. How can I feed the event into X? I tried running uhidd with -H option to create a device, but I have no idea how could xf86-input-libinput driver accept it - device from uhidd is probably not proper input/event device, even if I request the name be like this. Any hint here? Googling did not reveal anything I could understand and use :) Regards, Milan