I already asked before, raising this question again.
I have tried the latest available version 3.2-RC2 - the same issue is
still there: the touch screen is not working, and as the new version
doesn't have a calibration screen, I cannot tell if it's better or
worse than before.
The fact is - the touch screen worked fine in the older versions! The
last known working one was 2.2-r2. What changed since then?
What could be done to figure out the cause of the problem and fix it?
Can someone advice please?
Thanks,
Alex
On Sep 7, 4:09 pm, Alex wrote:
> I've just tried 2.3-RC1, and found the touchscreen is broken again on
> the Eee Top, though it worked fine in 2.2-r2.
> Now it might be not too bad, as it works on a calibration screen, but
> when Android system loads the touchscreen is unresponsive.
> I see the driver being loaded (USB HID v1.01 Mouse [HID TOUCH HID
> Touch Panel] on usb-0000...), but the logcat shows "No input device
> calibration properties found for device HID TOUCH HID Touch Panel."
This seems to be a problem that everybody is not answering but the
problem is relatively easy to fix. Of course once you have 3.2
installed and have a external keyboard connected, hit Alt-F1 to get a
command line. First find out what your touchpad is ...
Code:
less /proc/bus/input/devices
Find out what the Vendor ID and Product ID is for your touchsreen.
Then go to ..
Code:
cd /system/usr/idc
In there you will see other .idc files. Just copy one of the other idc
files and change the name to suit your touchscreen.
Code:
cp Vendor_0001_Product_0002.idc Vendor_1110_Product_2220.idc
Then all you have to do is reboot.
--
You received this message because you are subscribed to the Google Groups "Android-x86" group.
To post to this group, send email to andro...@googlegroups.com.
To unsubscribe from this group, send email to android-x86...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/android-x86?hl=en.
I also have this problem with my ET1602, and the idc file
(Vendor_1bfd_Product_1688.idc) didn't fix it.
I've also tried the patches suggested in http://comments.gmane.org/gmane.linux.kernel.input/19645
but without success.
Daniel
Can anyone provide an example of an .idc file for a touch screen,
which might work for my Eee Top?
Thanks,
Alex
Tried to run getevent, got the following info:
============
events:
SYN (0000): 0000 0001 0003 0004
KEY (0001): 0110 0111 0112 0140 014a 014b
ABS (0003): 0000 value 0, min 0, max 4095, fuzz 0 flat 0
0001 value 0, min 0, max 4095, fuzz 0 flat 0
0002 value 21, min 0, max 4095, fuzz 0 flat 0
0003 value 4086, min 0, max 4095, fuzz 0 flat 0
MSC (0004): 0004
============
When I touch the screen, getevent detects the events. For example when
I click in the left bottom corner the following data is printed:
0004 0004 00090001
0001 0110 00000001
0003 0002 00000022
0003 0003 00000fef
0000 0000 00000000
0004 0004 00090001
0001 0110 00000000
0000 0000 00000000
Can anyone derive anything useful from this info?
Thanks,
Alex
On Dec 4, 5:37 pm, Alex <alp...@gmail.com> wrote:
> I have tried to add an .idc file this way. First of all - the /system/
> usr/idc directory on my Android-x86 installation contained only a
> couple of qwerty*.idc files, which don't seem to be suitable for a
> touch screen. I have found one example here:http://code.google.com/p/synergy-vendor/source/browse/trunk/incredibl...,
> copied it as Vendor_1bfd_Product_1688.idc, but it didn't work. Also
> tried a simple .idc file, which contained only these two lines (found
> this info somewhere in the news group):
> ======
> touch.deviceType = touchScreen
> touch.orientationAware = 1
> ======
> This didn't work either.
>
> Can anyone provide an example of an .idc file for a touch screen,
> which might work for my Eee Top?
>
> Thanks,
> Alex
>
> On Nov 30, 5:00 am, Касаткин Илья <amcool...@gmail.com> wrote:
>
>
>
>
>
>
>
> > Hi! It may help you.
>
> > This seems to be a problem that everybody is not answering but the
> > problem is relatively easy to fix. Of course once you have 3.2
> > installed and have a external keyboard connected, hit Alt-F1 to get a
> > command line. First find out what your touchpad is ...asus .idc
I/EventHub( 1466): New device: id=6, fd=117, path='/dev/input/event5',
name='HID TOUCH HID Touch Panel', classes=0x80000004, configuration='/
system/usr/idc/Vendor_1bfd_Product_1688.idc', keyLayout='',
keyCharacterMap='', builtinKeyboard=false
As far as I understand, the flags are correct: device->classes ==
INPUT_DEVICE_CLASS_EXTERNAL | INPUT_DEVICE_CLASS_TOUCH
What is missing that stops the touch screen from working properly?
Where else should I look at?
Chih-Wei Huang, do you have any clues?
Thanks,
Alex
Here's my patch:
=======================================================
diff --git a/services/input/InputReader.cpp b/services/input/
InputReader.cpp
index 1ed5ad7..aa900e2 100644
--- a/services/input/InputReader.cpp
+++ b/services/input/InputReader.cpp
@@ -4904,6 +4904,7 @@ void SingleTouchInputMapper::process(const
RawEvent* rawEvent) {
case EV_KEY:
switch (rawEvent->scanCode) {
case BTN_TOUCH:
+ case BTN_MOUSE:
mAccumulator.fields |= Accumulator::FIELD_BTN_TOUCH;
mAccumulator.btnTouch = rawEvent->value != 0;
// Don't sync immediately. Wait until the next
SYN_REPORT since we might
@@ -4929,10 +4930,12 @@ void SingleTouchInputMapper::process(const
RawEvent* rawEvent) {
case EV_ABS:
switch (rawEvent->scanCode) {
case ABS_X:
+ case ABS_Z:
mAccumulator.fields |= Accumulator::FIELD_ABS_X;
mAccumulator.absX = rawEvent->value;
break;
case ABS_Y:
+ case ABS_RX:
mAccumulator.fields |= Accumulator::FIELD_ABS_Y;
mAccumulator.absY = rawEvent->value;
break;
=======================================================
The only minor issue: this change made the system detect the touch
events, but the touchscreen started working like a large touchpad.
This is not a big deal though. I've copied GenericTouch.idc found
under build/target/board/generic_x86 to /system/usr/idc/
Vendor_1bfd_Product_1688.idc on the Android system, and got a normally
working touchscreen.
The issue is solved!
It would be nice to have the problem fixed properly in the Android
repository for the future. My mapping of ABS_RX/ABS_Z to ABS_X/ABS_Y
is just a workaround specifically for this device, but I guess the
touch panel driver(?) needs to be fixed to send correct events
instead.
Alex
PS. Also found a bug in the screen timeout settings - selecting "Never
Timeout" option crashes the Settings app. I've fixed it by adding
another value for screen_timeout_values array in packages/apps/
Settings/res/values/arrays.xml. I'm not sure if that choice is handled
properly, so I just put 2000000000 there - it's not not "Never", but
23 days is long enough. :)
Seems like you did a great job solving two issues that were out for
quite a while.
Is there a way to do these fixes for a programming-nono like me? So
without compiling source code and other difficult stuff?
Thanks!
mike
On Dec 14, 7:03 am, Mike C <michel.cap...@gmail.com> wrote:
> Alex,
>
> Seems like you did a great job solving two issues that were out for
> quite a while.
Yeah, I've been trying to approach those touchscreen issues for a
while - wanted to upgrade the Android-x86 installation on my Eee Top.
> Is there a way to do these fixes for a programming-nono like me? So
> without compiling source code and other difficult stuff?
No, unfortunately the main change requires recompiling the whole
thing. Only the .idc file can be added later (though when installed in
a writable mode for this purpose, it has issues with WiFi - I've just
posted about this).
But I have uploaded my working ISO here: http://www.megaupload.com/?d=LSWGVHGM
Please let me know if it works for you.
Alex
I suggest you try to revert commit 2653b718
of kernel 3.0.1 branch:
cd kernel/
git revert 2653b718
Then rebuild without your fix.
(rm $OUT/kernel first to ensure kernel be rebuilt)
Commit 2653b718 actually reverts c2c3489c,
which is suppose to fix the inverted issue of
touchpack driver.
But in froyo-x86 it didn't work as expect,
so I revert it.
Maybe we need it again in hc or ics?
2011/12/14 Alex <alp...@gmail.com>:
I installed your .iso on a usb stick but I could not run your version
on my AAO 110 with Hoda/eGalax touchscreen.
fyi:
getevent detects the touchpad as event 14 and the touchscreen as event
7. The whole touchscreen is detected but in the GUI it's not. It does
not matter which .idc file I use or non at all.
Good luck.
Mike
I saw the thread in the linux-input list where you guys discussed
this, but it sounded like that quirk needed to be removed to make
things work.
OK, I'll try to put it back.
Alex
On Dec 15, 3:38 am, Mike C <michel.cap...@gmail.com> wrote:
> Alex,
>
> I installed your .iso on a usb stick but I could not run your version
> on my AAO 110 with Hoda/eGalax touchscreen.
Oh, if you have some other device, my build will probably not work. It
is supposed to fix only the problem, which is specific to the ET1602
touchscreen.
> fyi:
> getevent detects the touchpad as event 14 and the touchscreen as event
> 7. The whole touchscreen is detected but in the GUI it's not. It does
> not matter which .idc file I use or non at all.
Yeah, I had something like this - the touchscreen was detected, and
getevent received some events, but apparently not the ones needed by
the touch input handler. You could try to figure out what events are
received by the getevent. I think they are supposed to look like this:
0003 0000 00000022
0003 0001 00000fef
These are ABS events with ABS_X and ABS_Y codes and corresponding
coordinates. In my case they were ABS_Z & ABS_RX instead.
>
> Good luck.
>
> Mike
Alex
I get similar events as you do when I touch the touch screen while
getevent is running. I can't be of much help other than do some
testing on my AAO 110/eGalax.
Please keep on finding a solution for the touchscreen issue, you seem
the be the one closest to solving it.
Mike
Hi Daniel
I have build a new libinput.so lib where I have made the changes as described by Alex.
You can download and install the newest Android x86 4.0 rc2 version. After installation overwrite the installed libinput.so file in the /lib folder.
/Henrik