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