[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Touchscreen support in d-i

This might not be the best moment to talk about that, but well...

With the rise of tablet PCs, smartphones, etc., there are more and more
computers with touchscreen as the primary input device, and possibly no
real keyboard.

In order to properly support such computers, d-i needs two things:
touchscreen calibration and an on-screen keyboard.

To address the first issue, we can run something like xinput-calibrator
right after X is started (and save the result in the target's
xorg.conf.d), it'll take care of everything, and won't show up if it
doesn't detect any touchscreen.
However, xinput-calibrator is written in C++, and I don't think it's
welcome in d-i?
Maybe this could be reconsidered, xinput-calibrator could rewritten in
C, or something else could be chosen...

I've already been working a bit on the second issue and have working
matchbox-keyboard and matchbox-window-manager (a WM is needed in order
for matchbox-keyboard to run properly) udebs.
However, there is still a lot to do:
- When should it be started? Currently, it's started right after X, with
a script in /lib/debian-installer.d/
- How to detect that there is no physical keyboard?
- The on-screen keyboard should use the selected layout. This should be
easy by (re)starting matchbox-keyboard with some environment variables.
- There are only a few layouts, and they are often incomplete/too basic.
Does it worth the pain of fixing them/adding new ones? Can't it be done
in a semi-automatic way?
- What to do if the selected layout doesn't exist for matchbox? Let it
fallback to the default one? Or should we display only
matchbox-supported layouts?

I think the first three points can be addressed by starting
matchbox-keyboard from somewhere within console-setup, but I'm not too
sure yet, as I have only had a quick look at this part of d-i.

Any comment is welcome,
Thibaut Girka.

Attachment: signature.asc
Description: This is a digitally signed message part

Reply to: