input: eGalax Inc. USB TouchController as /devices/platform/fsl-ehci.1/usb1/1-1/1-1:1.0/input/input0
generic-usb 0003:0EEF:7304.0001: input: USB HID v2.10 Pointer [eGalax Inc. USB TouchController] on usb-fsl-ehci.1-1/input0
When i press on the touchscreen there are no movements.
With getevent, all interrupts are detetected :
# getevent
could not get driver version for /dev/input/mice, Not a typewriter
add device 1: /dev/input/event0
name: "eGalax Inc. USB TouchController"
could not get driver version for /dev/input/mouse0, Not a typewriter
/dev/input/event0: 0003 0002 00000616
/dev/input/event0: 0003 0003 00000492
/dev/input/event0: 0000 0000 00000000
/dev/input/event0: 0004 0004 00090001
/dev/input/event0: 0001 0110 00000001
...
Any idea ?
Thanks.
Xavier
Add a new VENDOR ID and DEVICE ID in the "hid-ids" and a new entry in the "hid-core" (drivers/hid).
Be sure that the egalax module is checked in your kernel config.
Regards,
Xavier
HI,
getevent doesn't publish all the event message sequence for every touch. It is getting publish sporadically. I am using eGalax USB TouchController. Is there any configuration required for the events to get publish consistently? Please help.
Logs are as below:
$ getevent -p
add device 2: /dev/input/event2
name: "eGalax Inc. USB TouchController"
events:
SYN (0000): 0000 0001 0003
KEY (0001): 014a*
ABS (0003): 0000 value 898, min 0, max 2047, fuzz 0 flat 0
0001 value 633, min 0, max 2047, fuzz 0 flat 0
$ getevent /dev/input/event2
0001 014a 00000000
0003 0001 000004ee
0000 0000 00000000
0001 014a 00000001
0003 0001 0000035b
0000 0000 00000000
0003 0000 000001b0
0003 0001 00000382
0000 0000 00000000
[ These messages are sporadically getting published.]
$ su -- dumpsys window
Device 0x10001: eGalax Inc. USB TouchController
Sources: 0x00001002
KeyboardType: 0
Motion Ranges:
X: min=0.000, max=1024.000, flat=0.000, fuzz=0.500
Y: min=0.000, max=768.000, flat=0.000, fuzz=0.375
Pressure: min=0.000, max=1.000, flat=0.000, fuzz=0.000
Size: min=0.000, max=1.000, flat=0.000, fuzz=0.000
TouchMajor: min=0.000, max=1280.000, flat=0.000, fuzz=0.000
TouchMinor: min=0.000, max=1280.000, flat=0.000, fuzz=0.000
ToolMajor: min=0.000, max=1280.000, flat=0.000, fuzz=0.000
ToolMinor: min=0.000, max=1280.000, flat=0.000, fuzz=0.000
Touch Input Mapper:
AssociatedDisplayId: 0
UseBadTouchFilter: false
UseAveragingTouchFilter: false
UseJumpyTouchFilter: false
Raw Axes:
X: min=0, max=2047, flat=0, fuzz=0
Y: min=0, max=2047, flat=0, fuzz=0
Pressure: unknown range
TouchMajor: unknown range
TouchMinor: unknown range
ToolMajor: unknown range
ToolMinor: unknown range
Orientation: unknown range
Calibration:
touch.touchSize.calibration: pressure
touch.toolSize.calibration: linear
touch.toolSize.linearScale: 10.000
touch.toolSize.linearBias: 0.000
touch.toolSize.isSummed: 0
touch.pressure.calibration: amplitude
touch.pressure.source: touch
touch.pressure.scale: 0.010
touch.size.calibration: normalized
touch.orientation.calibration: none
SurfaceWidth: 1024px
SurfaceHeight: 768px
SurfaceOrientation: 0
Translation and Scaling Factors: XOrigin: 0
YOrigin: 0
XScale: 0.500
YScale: 0.375
XPrecision: 1.999
YPrecision: 2.665
GeometricScale: 0.438
ToolSizeLinearScale: 10.000
ToolSizeLinearBias: 0.000
ToolSizeAreaScale: 0.000
ToolSizeAreaBias: 0.000
PressureScale: 0.010
SizeScale: 0.000
OrientationSCale: 0.000
Thanks in Advance,
Sharan K
Hi Xavier,
I am also facing the same problem in Android on IMX53 ARDboard with Egalax touch screen. Could you please share what is the settings you were able to do with touchscreen ID and the driver usbtouchscreen.
Regards,
Swamy
Xavier said:
I have solved the problem.
It was a problem of identification between the touchscreen ID and the driver usbtouchscreen.
Thanks.
I have solved the problem.
It was a problem of identification between the touchscreen ID and the driver usbtouchscreen.
Thanks.
I have never worked with this touchscreen, so I´m don´t know.
But it looks like you will need to initialize your touchscreen if you want it running.
I even know if you can include this initialization on idc file.
It looks like android is missing a configuration file.
I/InputManager-Callbacks( 2061): No input device calibration properties found for device eGalax Inc. USB TouchController.
Please, take a look on <my_android>/frameworks/base/libs/ui/EventHub.cpp to see how your source code looks for that file.
I attached a sample touchscreen configuration file. You can give it a try. After that, you can configure your touch the way you want.
You should place your configuration file here:
/system/user/idc/
Please, change file name using your vendor ID, your product ID and so on. You can find the info on your logcat:
I/EventHub( 2061): New device: path=/dev/input/event1 name=eGalax Inc. USB TouchController id=0x10001 (of 0x2) index=2 fd=106 classes=0x4
I/InputReader( 2061): Device added: id=0x10001, name=eGalax Inc. USB TouchController, sources=00001002
Give it a try and let me know the results.
Sorry I did not understand.
1 - you can see all "touches" using getenv
2- touchscreen does not work on Android like on home screen or any application
Is that rigtht?
1 - If you can see events from getenv, your kernel supports your touchscreen, right?
2 - Does your touchscreen need to be calibrated?
Can you share the logcat? Android can recognize your touchscreen?