Touch screen driver

Hi. I'm Danny and I would like to get the touch screen of my tablet working.

I know, many touch screens are not supported, but the touch screen is recognized by xinput.

xinput

Code:
⎡ Virtual core pointer                          id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ System mouse                              id=7    [slave  pointer  (2)]
⎜   ↳ GXTP7386:00 27C6:011A TouchScreen         id=13   [slave  pointer  (2)]

The hmt driver for the i2c device got loaded automatically:

dmesg | grep hmt

Code:
hmt0: <GXTP7386:00 27C6:011A TouchScreen> on hidbus0
hmt0: Multitouch touchscreen with 0 external buttons
hmt0: 10 contacts with [] properties. Report range [0:0] - [6000:9600]

And the evdev driver for xorg has been assigned:

cat Xorg.0.log | grep evdev

Code:
[  8709.981] (II) Using input driver 'evdev' for 'GXTP7386:00 27C6:011A TouchScreen'
[  8709.981] (**) GXTP7386:00 27C6:011A TouchScreen: always reports core events
[  8709.981] (**) evdev: GXTP7386:00 27C6:011A TouchScreen: Device: "/dev/input/event8"
[  8709.981] (--) evdev: GXTP7386:00 27C6:011A TouchScreen: Vendor 0x27c6 Product 0x11a
[  8709.981] (--) evdev: GXTP7386:00 27C6:011A TouchScreen: Found absolute axes
[  8709.981] (--) evdev: GXTP7386:00 27C6:011A TouchScreen: Found absolute multitouch axes
[  8709.981] (II) evdev: GXTP7386:00 27C6:011A TouchScreen: No buttons found, faking one.
[  8709.981] (--) evdev: GXTP7386:00 27C6:011A TouchScreen: Found x and y absolute axes
[  8709.981] (--) evdev: GXTP7386:00 27C6:011A TouchScreen: Found absolute touchscreen
[  8709.981] (II) evdev: GXTP7386:00 27C6:011A TouchScreen: Configuring as touchscreen
[  8709.981] (**) evdev: GXTP7386:00 27C6:011A TouchScreen: YAxisMapping: buttons 4 and 5
[  8709.981] (**) evdev: GXTP7386:00 27C6:011A TouchScreen: EmulateWheelButton: 4, EmulateWheelInertia: 10, EmulateWheelTimeout: 200
[  8709.981] (**) Option "config_info" "udev:/dev/input/event8"
[  8709.981] (II) XINPUT: Adding extended input device "GXTP7386:00 27C6:011A TouchScreen" (type: TOUCHSCREEN, id 13)
[  8709.981] (II) evdev: GXTP7386:00 27C6:011A TouchScreen: initialized for absolute axes.
[  8709.981] (**) GXTP7386:00 27C6:011A TouchScreen: (accel) keeping acceleration scheme 1
[  8709.981] (**) GXTP7386:00 27C6:011A TouchScreen: (accel) acceleration profile 0
[  8709.981] (**) GXTP7386:00 27C6:011A TouchScreen: (accel) acceleration factor: 2.000
[  8709.981] (**) GXTP7386:00 27C6:011A TouchScreen: (accel) acceleration threshold: 4

As things looks good, the touch is not working and both:
xinput test
and
evtest
dont report any events.

Am I'm missing something, or is my device not supported?

Furthermore I tried to get the raw output from the device with:
kldload hidraw

Another try was to read the output programmatically using python311-evdev and asyncio:

Code:
/dev/input/event8 GXTP7386:00 27C6:011A TouchScreen hmt0
/dev/input/event9 YICHIP Wireless Device, class 0/0, rev 2.00/0.02, addr 3 ums0
device /dev/input/event8, name "GXTP7386:00 27C6:011A TouchScreen", phys "hmt0", uniq ""
{('EV_SYN', 0): [('SYN_REPORT', 0), ('SYN_CONFIG', 1), ('SYN_DROPPED', 3)], ('EV_KEY', 1): [('BTN_TOUCH', 330)], ('EV_ABS', 3): [(('ABS_X', 0), AbsInfo(value=0, min=0, max=6000, fuzz=0, flat=0, resolution=44)), (('ABS_Y', 1), AbsInfo(value=0, min=0, max=9600, fuzz=0, flat=0, resolution=44)), (('ABS_MT_SLOT', 47), AbsInfo(value=0, min=0, max=9, fuzz=0, flat=0, resolution=0)), (('ABS_MT_POSITION_X', 53), AbsInfo(value=0, min=0, max=6000, fuzz=0, flat=0, resolution=44)), (('ABS_MT_POSITION_Y', 54), AbsInfo(value=0, min=0, max=9600, fuzz=0, flat=0, resolution=44)), (('ABS_MT_TRACKING_ID', 57), AbsInfo(value=0, min=-1, max=65535, fuzz=0, flat=0, resolution=0))]}

Still no events.

Can you please help me to get it working?
Or at least guide me to read the raw output, to write a userspace driver?

Regards
 
Back
Top