I see his sources are available. Could you perhaps post your /proc/bus/input/devices and evtest /dev/input/event1 to see if anything's different?
Code:
# cat /proc/bus/input/devices
I: Bus=0019 Vendor=0001 Product=0001 Version=0100
N: Name="mxckpd"
P: Phys=gpio-keys/input0
S: Sysfs=/devices/platform/mxckpd/input/input0
U: Uniq=
H: Handlers=kbd event0
B: EV=3
B: KEY=100000 4000000 8000008 0
I: Bus=0018 Vendor=0000 Product=0000 Version=0000
N: Name="zForce-ir-touch"
P: Phys=
S: Sysfs=/devices/virtual/input/input1
U: Uniq=
H: Handlers=event1
B: EV=b
B: KEY=400 180000 4 0 0 0 0 0 0 0 0
B: ABS=2650000 1030003
Code:
# evtest /dev/input/event1
Input driver version is 1.0.0
Input device ID: bus 0x18 vendor 0x0 product 0x0 version 0x0
Input device name: "zForce-ir-touch"
Supported events:
Event type 0 (Sync)
Event type 1 (Key)
Event code 258 (Btn2)
Event code 307 (BtnX)
Event code 308 (BtnY)
Event code 330 (Touch)
Event type 3 (Absolute)
Event code 0 (X)
Value 0
Min 0
Max 1440
Event code 1 (Y)
Value 0
Min 0
Max 1080
Event code 16 (Hat0X)
Value 0
Min 0
Max 1440
Event code 17 (Hat0Y)
Value 0
Min 0
Max 1080
Event code 24 (Pressure)
Value 0
Min 0
Max 2048
Event code 48 (?)
Value 0
Min 0
Max 2
Event code 50 (?)
Value 0
Min 0
Max 15
Event code 53 (?)
Value 0
Min 0
Max 1440
Event code 54 (?)
Value 0
Min 0
Max 1080
Event code 57 (?)
Value 0
Min 1
Max 2
Testing ... (interrupt to exit)
And a few lines of the output:
Code:
Event: time 1413023927.391625 ------- Config Sync ------ x: 36808 y: 36728 p: 0 ------------
Event: time 1413023927.391634 ------- Report Sync ------ x: 36808 y: 36728 p: 0 ------------
Event: time 1413023927.409451 ------- Config Sync ------ x: 36808 y: 36728 p: 0 ------------
Event: time 1413023927.409459 ------- Report Sync ------ x: 36808 y: 36728 p: 0 ------------
I got annoyed by the busybox limitations and got myself a Debian Jessie chroot environment. The output from real evtest is clearly a lot more useful:
Code:
# evtest
No device specified, trying to scan all of /dev/input/event*
Available devices:
/dev/input/event0: mxckpd
/dev/input/event1: zForce-ir-touch
Select the device event number [0-1]: 1
Input driver version is 1.0.0
Input device ID: bus 0x18 vendor 0x0 product 0x0 version 0x0
Input device name: "zForce-ir-touch"
Supported events:
Event type 0 (EV_SYN)
Event type 1 (EV_KEY)
Event code 258 (BTN_2)
Event code 307 (BTN_NORTH)
Event code 308 (BTN_WEST)
Event code 330 (BTN_TOUCH)
Event type 3 (EV_ABS)
Event code 0 (ABS_X)
Value 0
Min 0
Max 1440
Event code 1 (ABS_Y)
Value 0
Min 0
Max 1080
Event code 16 (ABS_HAT0X)
Value 0
Min 0
Max 1440
Event code 17 (ABS_HAT0Y)
Value 0
Min 0
Max 1080
Event code 24 (ABS_PRESSURE)
Value 0
Min 0
Max 2048
Event code 48 (ABS_MT_TOUCH_MAJOR)
Value 0
Min 0
Max 2
Event code 50 (ABS_MT_WIDTH_MAJOR)
Value 0
Min 0
Max 15
Event code 53 (ABS_MT_POSITION_X)
Value 0
Min 0
Event code 54 (ABS_MT_POSITION_Y)
Value 0
Min 0
Max 1080
Event code 57 (ABS_MT_TRACKING_ID)
Value 0
Min 1
Max 2
Properties:
Testing ... (interrupt to exit)
Event: time 1413025320.241268, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 1
Event: time 1413025320.241307, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 1
Event: time 1413025320.241315, type 3 (EV_ABS), code 50 (ABS_MT_WIDTH_MAJOR), value 1
Event: time 1413025320.241324, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 799
Event: time 1413025320.241333, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 844
Event: time 1413025320.241345, ++++++++++++++ EV_REL ++++++++++++
Event: time 1413025320.241355, -------------- EV_SYN ------------
Event: time 1413025320.330832, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 1
Event: time 1413025320.330870, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 0
Event: time 1413025320.330876, type 3 (EV_ABS), code 50 (ABS_MT_WIDTH_MAJOR), value 0
Event: time 1413025321.621320, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 489
Event: time 1413025321.621332, ++++++++++++++ EV_REL ++++++++++++
Event: time 1413025321.621342, -------------- EV_SYN ------------
Event: time 1413025321.720060, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 1
Event: time 1413025321.720097, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 1
Event: time 1413025321.720105, type 3 (EV_ABS), code 50 (ABS_MT_WIDTH_MAJOR), value 1
Event: time 1413025321.720114, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 805
Event: time 1413025321.720123, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 489
Event: time 1413025321.720135, ++++++++++++++ EV_REL ++++++++++++
Event: time 1413025321.720145, -------------- EV_SYN ------------
Apparently "clicking" the screen would have to be implemented through the ABS_MT_TOUCH_MAJOR value, which generates a 1 while touching and a 0 when not. The driver does not seem to output anything but type 3 events by itself.
So yeah, could anyone tell me if that's the same on other devices or if there's some kind of distinction here? I had expected the driver to simply send a button press when it might think it's appropriate, but then I don't really know anything about touch screens.