evtouch swapx/swapy ignored by HAL and calibration tool

Bug #378572 reported by Ramaddan
26
This bug affects 4 people
Affects Status Importance Assigned to Milestone
xf86-input-evtouch (Ubuntu)
Expired
Undecided
Unassigned

Bug Description

Ever since I got an eGalax touchscreen and installed Intrepid, one problem I always had was two folds:
- I need a keyboard to even be able to calibrate it, because an "enter" is required
- No matter how I calibrate, the vertical direction on the screen is always inverted.

Which means if I touch the top of the screen, it was as if I touched the bottom of the screen.

So I went through Jaunty, and even Karmic, hoping that this problem might change, but the problem still persisted.

I figured maybe no bug report was given for this.

In order for my touchscreen to work properly, I need to do the following:
1) Edit: /usr/share/hal/fdi/policy/10osvendor/50-eGalax.fdi (before Karmic)
            or:
            /usr/share/hal/fdi/policy/20thirdparty/50-eGalax.fdi (in Karmic)

2) Then I need to swap the miny and maxy values:

So that section goes from:
        <merge key="input.x11_options.minx" type="string">130</merge>
        <merge key="input.x11_options.miny" type="string">197</merge>
        <merge key="input.x11_options.maxx" type="string">3945</merge>
        <merge key="input.x11_options.maxy" type="string">3894</merge>

To:
        <merge key="input.x11_options.minx" type="string">130</merge>
        <merge key="input.x11_options.miny" type="string">3894</merge>
        <merge key="input.x11_options.maxx" type="string">3945</merge>
        <merge key="input.x11_options.maxy" type="string">197</merge>

After that, then my touchscreen works properly.

Another way to achieve the same result, and probably more proper, is to just add the following options without swapping any values:

        <merge key="input.x11_options.swapx" type="string">0</merge>
        <merge key="input.x11_options.swapy" type="string">0</merge>

A) Is there a way for the calibration tool to detect this issue and invert the axis when required?

B) Is there a way that the calibration continues without having to press ENTER, as that requires a keyboard and defeats the point of a touchscreen.

Please tell me if any other information is required.

ProblemType: Bug
Architecture: i386
Date: Wed May 20 01:34:56 2009
DistroRelease: Ubuntu 9.10
Package: xserver-xorg-input-evtouch 0.8.8-0ubuntu3 [modified: usr/share/hal/fdi/policy/20thirdparty/50-eGalax.fdi]
ProcEnviron:
 LANG=en_CA.UTF-8
 SHELL=/bin/bash
ProcVersionSignature: Ubuntu 2.6.30-5.6-generic
RelatedPackageVersions:
 xserver-xorg 1:7.4~5ubuntu20
 libgl1-mesa-glx 7.4.1-1ubuntu1
 libdrm2 2.4.9-2ubuntu1
 xserver-xorg-video-intel 2:2.7.0-1ubuntu2
 xserver-xorg-video-ati 1:6.12.2-1ubuntu1
SourcePackage: xf86-input-evtouch
Uname: Linux 2.6.30-5-generic i686
system:
 distro: Ubuntu
 architecture: i686kernel: 2.6.30-5-generic

Revision history for this message
Ramaddan (ramaddan) wrote :
Revision history for this message
Ramaddan (ramaddan) wrote :

These options:
        <merge key="input.x11_options.swapx" type="string">0</merge>
        <merge key="input.x11_options.swapy" type="string">0</merge>

Are not reliable though, as they seem to not work many times, so probably need to be fixed too.

Revision history for this message
Bryce Harrington (bryce) wrote :

Hi ramaddan,

Thanks for including the attached files. Could you also include your /var/log/Xorg.0.log (or Xorg.0.log.old) from after reproducing the issue?

[This is an automated message. Apologies if it has reached you inappropriately; please just reply to this message indicating so.]

tags: added: needs-xorglog
Changed in xf86-input-evtouch (Ubuntu):
status: New → Incomplete
Revision history for this message
Ramaddan (ramaddan) wrote :

Hi,

I would like to pass you the Xorg log file, but since I upgraded to Karmic, I've been having no end of trouble with my touchscreen.

Most of the time, when I boot into Ubuntu, my touchscreen does not even really respond, and once in a while it works normally, but most of the time is doesn't.

This is a different problem that the axis inversion, so I don't know whether to open a new bug report, then when that is figured out, come back here.

What do you suggest? I can still send you the Xorg log.

Revision history for this message
Ramaddan (ramaddan) wrote :
Revision history for this message
Ramaddan (ramaddan) wrote :
Revision history for this message
Thor H. Johansen (thorhajo) wrote :

I am having problems as well. I have configured my eGalax touchscreen in /usr/share/hal/fdi/policy/20thirdparty/50-eGalax.fdi as follows:

<?xml version="1.0" encoding="UTF-8"?> <!-- -*- SGML -*- -->
<deviceinfo version="0.2">
  <device>
    <match key="info.product" contains="eGalax">
      <match key="info.capabilities" contains="input">
        <merge key="input.x11_driver" type="string">evtouch</merge>
        <merge key="input.x11_options.minx" type="string">130</merge>
        <merge key="input.x11_options.miny" type="string">250</merge>
        <merge key="input.x11_options.maxx" type="string">1850</merge>
        <merge key="input.x11_options.maxy" type="string">1840</merge>
        <merge key="input.x11_options.taptimer" type="string">30</merge>
        <merge key="input.x11_options.longtouchtimer" type="string">500</merge>
        <merge key="input.x11_options.longtouched_action" type="string">down</merge>
        <merge key="input.x11_options.longtouched_button" type="string">3</merge>
        <merge key="input.x11_options.oneandhalftap_button" type="string">0</merge>
        <merge key="input.x11_options.movelimit" type="string">18</merge>
        <merge key="input.x11_options.touched_drag" type="string">1</merge>
        <merge key="input.x11_options.maybetapped_action" type="string">click</merge>
        <merge key="input.x11_options.maybetapped_button" type="string">1</merge>
        <merge key="input.x11_options.swapy" type="string">On</merge>
        </match>
    </match>
  </device>
</deviceinfo>

All of this seems to work, EXCEPT for one option:
<merge key="input.x11_options.swapy" type="string">On</merge>

I have tried everything. I have tried these variants:
<merge key="input.x11_options.swapy" type="string">1</merge>
<merge key="input.x11_options.swapy" type="bool">true</merge>
<merge key="input.x11_options.SwapY" type="string">On</merge>
<merge key="input.x11_options.inverty" type="bool">true</merge>

None of them do anything to swap my Y axis. Some of them seem to affect the output of lshal and I get a 'swapy (bool)' equalling 'true', but this doesn't seem to take effect anywhere.

Also, adding a 'ReportingMode' value of 'Raw' doesn't show up in lshal, not that it seems to matter if I have that in there or not.

Finally, manually swapping the values of 'miny' and 'maxy' has no effect whatsoever. I can tell that all my other settings are working, because the scale of my cursor movement is now correct.

I am able to configure my touchscreen in xorg.conf, but this is deprecated, and I need to have hotplug working.

Revision history for this message
Thor H. Johansen (thorhajo) wrote :

Regarding 'swapy' being treated as a bool by HAL, I quote the x11-input.fdi file from freedesktop.org:

"You MUST specify all options as strings, otherwise the server will ignore them."

Obviously, if HAL is treating our string as a bool, this option will never work. Right?

Revision history for this message
Thor H. Johansen (thorhajo) wrote :

Changing from Incomplete to Confirmed, since Xorg log has been uploaded by submitter.

Changed in xf86-input-evtouch (Ubuntu):
status: Incomplete → Confirmed
summary: - evtouch calibrate axis inversion feature needed
+ evtouch swapx/swapy ignored by HAL and calibration tool
Bryce Harrington (bryce)
tags: added: karmic
Revision history for this message
Avatar (avatar-heljara) wrote :

Temporary solution found (for me at least) - x/y axes were inverted and out of sync. Adding this line to 50-eGalax.fdi:

<merge key="input.x11_options.rotate" type="string">cw</merge>

Then copying the min/max vallues out of /etc/evtouch/config and over-writing the ones in the 50-eGalax.fdi. Rebooted and it works with Ubuntu 9.10 NR and an eGalax touchscreen. Swapping min/max and using swapx/swapy did not work for me.

Hope this helps someone, glad to have a running touch screen. Thanks guys!

Source: http://japanesefightingspiders.com/blog/?p=96

Revision history for this message
Bryce Harrington (bryce) wrote :

[This is an automatic notification.]

Hi Ramaddan,

This bug was reported against an earlier version of Ubuntu, can you
test if it still occurs on Lucid?

Please note we also provide technical support for older versions of
Ubuntu, but not in the bug tracker. Instead, to raise the issue through
normal support channels, please see:

    http://www.ubuntu.com/support

If you are the original reporter and can still reproduce the issue on
Lucid, please run the following command to refresh the report:

  apport-collect 378572

If you are not the original reporter, please file a new bug report, so
we can work with you as the original reporter instead (you can reference
bug 378572 in your report if you think it may be related):

  ubuntu-bug xorg

If by chance you can no longer reproduce the issue on Lucid or if you
feel it is no longer relevant, please mark the bug report 'Fix Released'
or 'Invalid' as appropriate, at the following URL:

  https://bugs.launchpad.net/ubuntu/+bug/378572

Changed in xf86-input-evtouch (Ubuntu):
status: Confirmed → Incomplete
tags: added: needs-retested-on-lucid-by-june
Revision history for this message
Ramaddan (ramaddan) wrote :

Hi,

Thank you for the update, but I will unfortunately not be able to access that system till much later, as I will be busy for a while.

Thanks

Revision history for this message
Bryce Harrington (bryce) wrote :

Thanks for the Xorg log. We also need the lspci -vnvn output attached to this bug as a file

tags: removed: needs-xorglog
Changed in xf86-input-evtouch (Ubuntu):
status: Incomplete → New
status: New → Incomplete
Bryce Harrington (bryce)
tags: added: hardy
Revision history for this message
Bryce Harrington (bryce) wrote :

We're closing this bug since it is has been some time with no response from the original reporter. However, if the issue still exists please feel free to reopen with the requested information. Also, if you could, please test against the latest development version of Ubuntu, since this confirms the bug is one we may be able to pass upstream for help.

Changed in xf86-input-evtouch (Ubuntu):
status: Incomplete → Expired
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.