Elo touch monitor not correctly recognised in android 4.3

I have an Elo touch monitor. When I connect it to a machine running android-x86 (4.4) via hdmi+usb, the monitor just works, both display and touch input.

However when I connect it to a board (I've tried with both the Udoo Quard board and the Utilite Pro mini-pc) running Android 4.3, the touch part doesn't work. When I touch the screen, a round pointer shows up about in the middle of the screen (same place every time), and disappears again.

When the screen is connected, "dmesg" says:

<6>usb 2-1.4: USB disconnect, device number 7
<6>usb 2-1.4: new full speed USB device number 8 using fsl-ehci
<6>input: eGalax Inc. Elo TouchSystems Projected-Capacitive USB Touchmonitor Interface as /devices/platform/fsl-ehci.1/usb2/2-1/2-1.4/2-1.4:1.0/input/input7
<6>cpufreq_interactive_input_connect: connect to eGalax Inc. Elo TouchSystems Projected-Capacitive USB Touchmonitor Interface
<6>generic-usb 0003:0EEF:7200.0007: input,hidraw2: USB HID v2.10 Pointer [eGalax Inc. Elo TouchSystems Projected-Capacitive USB Touchmonitor Interface] on usb-fsl-ehci.1-1.4/input0

"getevent" says:

add device 1: /dev/input/event3
name: "eGalax Inc. Elo TouchSystems Projected-Capacitive USB Touchmonitor Interface"
could not get driver version for /dev/input/mouse1, Not a typewriter
could not get driver version for /dev/input/mice, Not a typewriter
add device 2: /dev/input/event2
name: "TG3 Electronics, Inc. TG82tp"
could not get driver version for /dev/input/mouse0, Not a typewriter
add device 3: /dev/input/event1
name: "TG3 Electronics, Inc. TG82tp"
add device 4: /dev/input/event0
name: "gpio-keys"

If I do a "getevent -lt /dev/input/event3" and touch two different spots on the screen I get:

[ 2910.924823] EV_ABS ABS_Z 000002de 
[ 2910.924840] EV_ABS ABS_RX 000005a2 
[ 2910.924846] EV_SYN SYN_REPORT 00000000 
[ 2910.925760] EV_MSC MSC_SCAN 00090001 
[ 2910.925763] EV_KEY BTN_LEFT DOWN 
[ 2910.925777] EV_SYN SYN_REPORT 00000000 
[ 2910.990739] EV_ABS ABS_Z 000002dc 
[ 2910.990744] EV_ABS ABS_RX 0000059e 
[ 2910.990746] EV_SYN SYN_REPORT 00000000 
[ 2911.031753] EV_ABS ABS_RX 0000059c 
[ 2911.031756] EV_SYN SYN_REPORT 00000000 
[ 2911.032736] EV_MSC MSC_SCAN 00090001 
[ 2911.032739] EV_KEY BTN_LEFT UP 
[ 2911.032752] EV_SYN SYN_REPORT 00000000 

[ 2913.287761] EV_ABS ABS_Z 00000c0e 
[ 2913.287767] EV_ABS ABS_RX 00000800 
[ 2913.287771] EV_SYN SYN_REPORT 00000000 
[ 2913.288744] EV_MSC MSC_SCAN 00090001 
[ 2913.288748] EV_KEY BTN_LEFT DOWN 
[ 2913.288762] EV_SYN SYN_REPORT 00000000 
[ 2913.306747] EV_ABS ABS_Z 00000c0c 
[ 2913.306756] EV_ABS ABS_RX 00000804 
[ 2913.306757] EV_SYN SYN_REPORT 00000000 
[ 2913.345738] EV_ABS ABS_Z 00000c0a 
[ 2913.345742] EV_ABS ABS_RX 00000808 
[ 2913.345744] EV_SYN SYN_REPORT 00000000 
[ 2913.399744] EV_ABS ABS_Z 00000c04 
[ 2913.399749] EV_ABS ABS_RX 0000080e 
[ 2913.399751] EV_SYN SYN_REPORT 00000000 
[ 2913.400735] EV_MSC MSC_SCAN 00090001 
[ 2913.400738] EV_KEY BTN_LEFT UP 
[ 2913.400751] EV_SYN SYN_REPORT 00000000

The last part should prove that the different positions are noted.

Doing a logcat when inserting the touch screen's usb connector on the (working) x86 Android system gives:

I/EventHub( 1603): New device: id=15, fd=183, path='/dev/input/event14', name='eGalax Inc. Elo TouchSystems Projected-Capacitive USB Touchmonitor Interface', classes=0x14, configuration='/system/usr/idc/GenericTouch.idc', keyLayout='', keyCharacterMap='', builtinKeyboard=false, usingSuspendBlockIoctl=true, usingClockIoctl=true
E/EventHub( 1603): could not get driver version for /dev/input/mouse2, Not a typewriter
I/EventHub( 1603): New device: id=16, fd=190, path='/dev/input/event15', name='eGalax Inc. Elo TouchSystems Projected-Capacitive USB Touchmonitor Interface Pe', classes=0x4, configuration='/system/usr/idc/GenericTouch.idc', keyLayout='', keyCharacterMap='', builtinKeyboard=false, usingSuspendBlockIoctl=true, usingClockIoctl=true
I/InputReader( 1603): Device reconfigured: id=16, name='eGalax Inc. Elo TouchSystems Projected-Capacitive USB Touchmonitor Interface Pe', size 1920x1080, orientation 0, mode 1, display id 0
I/InputReader( 1603): Device added: id=16, name='eGalax Inc. Elo TouchSystems Projected-Capacitive USB Touchmonitor Interface Pe', sources=0x00005002
I/InputReader( 1603): Device reconfigured: id=15, name='eGalax Inc. Elo TouchSystems Projected-Capacitive USB Touchmonitor Interface', size 1920x1080, orientation 0, mode 1, display id 0
I/InputReader( 1603): Device added: id=15, name='eGalax Inc. Elo TouchSystems Projected-Capacitive USB Touchmonitor Interface', sources=0x00001002

Doing a logcat when inserting the touch screen's usb connector on the (not working) Android 4.3 system gives:

I/EventHub( 2552): New device: id=4, fd=191, path='/dev/input/event0', name='eGalax Inc. Elo TouchSystems Projected-Capacitive USB Touchmonitor Interface', classes=0x105, configuration='/system/usr/idc/Vendor_0eef_Product_7200.idc', keyLayout='/system/usr/keylayout/qwerty.kl', keyCharacterMap='/system/usr/keychars/qwerty2.kcm', builtinKeyboard=true, usingSuspendBlockIoctl=true, usingClockIoctl=false
W/InputReader( 2552): Ignoring spurious device added event for deviceId 0.
I/ActivityManager( 2552): Config changes=1400 {1.0 ?mcc?mnc en_US ldltr sw1080dp w1920dp h1007dp 160dpi xlrg long land finger qwerty/v/v -nav/h s.7}
D/PhoneStatusBar( 2631): mSettingsPanelGravity = 8388661

A difference I notice is, that on the working Android 4.4 system, the parameter

builtinKeyboard=false

but on the not working Android 4.3 system, the parameter

builtinKeyboard=true

Does android 4.3 think my touch screen is a keyboard, and how can I change that?

Regards Rasmus

链接地址: http://www.djcxy.com/p/82554.html

上一篇: 外部触摸屏输入仅使用光标坐标

下一篇: 在Android 4.3中未正确识别Elo触摸显示器