[oe] [meta-oe-meta-systemd 0/5] xinput-calibrator rework

Andreas Müller schnitzeltony at googlemail.com
Thu Feb 14 09:41:40 UTC 2013


On Fri, Feb 8, 2013 at 11:10 PM, Andreas Müller
<schnitzeltony at googlemail.com> wrote:
> On Thu, Feb 7, 2013 at 11:06 AM, Koen Kooi <koen at dominion.thruhere.net> wrote:
>> -----BEGIN PGP SIGNED MESSAGE-----
>> Hash: SHA1
>>
>> Op 05-02-13 23:18, Andreas Müller schreef:
>>> * Implemented are 3 modes of invocation: 1. udev/systemd 2.
>>> /etc/xdg/autostart 3. manual 1/2 are selected upon DISTRO_FEATURES
>>> containing systemd or not
>>>
>>> * The calibration is stored in
>>> /etc/X11/xorg.conf.d/99-<name-of-touchscreen>.conf Herby support for
>>> multiple touchsceen devices is prepared.
>>>
>>> * The script detects upon parameter information how it was called and
>>> waits for xserver to come up / detect connected touchsceen devices. If no
>>> matching calibration file is found, the xinput_calibrator is called for
>>> this device. For systemd invocation the default display is choosen.
>>>
>>> * For manual invocation and multiple touchscreen devices attached, the
>>> operator can select which device to calibrate interactively.
>>>
>>> * Multiple touchscreen support is prepared - the following open issues
>>> are known: * Multiple touchscreens with same device name will get same
>>> calibration values. An unique device identifier could not be found yet. *
>>> systemd startup with multiple device cause multiple instances of
>>> xinput_calibrator being started without information for which device the
>>> calibration is performed.
>>>
>>> * Many many tests were performed: 2 automatic invocation types * (1st +
>>> 2nd startup) * (0, 1, 2 touchscreens)
>>>
>>> * Other layers need alignment for pointercal removement. If accepted I
>>> can take care (this is NOT an extortion :)
>>
>> At FOSDEM I found out that the Tias wearing the FOSDEM organization hoodie
>> is actually the same Tias who maintains xinput-calibrator. Long story short:
>> we should send all out patches upstream and he'll have a look at them. He is
>> a big fan of the xorg conf snippet that this patchset introduces.
> I will append the script/udev-rule/systemd service to the patchset.
> With the systemd/udev stuff I would like to wait a bit until our users
> have collected experience. After sending this series I saw that on
> some images at first start xinput-calibrator is hidden by the greeter
> application of dm. Up to now I did not yet find a good way to have
> xinput_calibrator 'always on top'.
>
> Andreas
After using this solution for a while I see the following issues:

1. User rights: Currently only users with write permission on
/etc/X11/xorg.conf.d/ can make the calibration permanent. This can be
avoided by a single calibration file for all devices which is owned by
a new group 'touchcal'. Nice side effect: A single file reduces the
modifications on pointercal-xinput (for shipping default calibration
values).
2. udev/systemd invocation: On some of my images the display manager's
greeter starts after touchscreen_calibration and thereby hides it.
Since systemd cannot help me here, I think about a workaround like
this: If xinput_calibrator detects that it loses focus, it pushes
itself back to top. To avoid dead-loops in case the other application
follows same strategy the maximum number of regaining the focus is
limited to e.g 3.
3. Multiple instances of devices with same device-name / different
touch devices on same controller: Have no idea how to give X this
additional information.

My suggestion:

I will rework for 1+2. This leads to a much better solution than we
have currently. For 3 I am open on suggestions.

Andreas




More information about the Openembedded-devel mailing list