Verwenden Sie ein Laptop-Trackpad als Grafiktablett

15

Ich bin daran interessiert, mein Laptop-Trackpad als Grafiktablett zu verwenden, dh mit absoluten anstatt relativen Koordinaten, ähnlich wie bei Inklet für OSX.

Dieselbe Frage wurde im Mai 2010 auf ubuntuforums.org gestellt, aber die Frage wurde nie beantwortet. Ich frage mich, ob das unter Linux gemacht wurde. Ich versuche auch herauszufinden, welche Suchbegriffe verwendet werden sollen. Ich suchte nach dem absoluten Modus des Linux-Laptop-Touchpads und fand ein Problem mit den Trackpad- Treibern, die das Trackpad in den absoluten Modus versetzten. aber ich bin wirklich auf der Suche nach einem Programm , das die absoluten Positionen verwendet und keine Treibereinstellungen.

Barton Chittenden
quelle
1
Möchten Sie dies für Ubuntu auf einem MacBook ausführen? Oder fragen Sie nach einer Möglichkeit, dies mit einem beliebigen Trackpad in Ubuntu zu tun ?
Eliah Kagan
Ich suche etwas, das mit jedem Laptop funktionieren kann.
Barton Chittenden
Sind andere Trackpads als die neueren MacBooks dazu in der Lage? Dies scheint in hohem Maße von der Vielseitigkeit des Eingabegeräts selbst abhängig zu sein.
Eliah Kagan
1
Sie werden kein einziges Programm finden, das das kann. Unter Mac OS X ist dies ebenfalls nicht der Fall, aber es ist ihnen gelungen, es ordnungsgemäß auszublenden (z. B. den Eingabemodus basierend auf der ausgeführten Anwendung zu wechseln). Relevantes F: Wie lese ich die absoluten Tap-Positionen vom Cirque-Touchpad in Linux
?

Antworten:

8

Sehen Sie sich Treiber an, keine Anwendungen

Sie werden kein Programm finden, das dies ausführt. Aufgrund dieser drei Arten von Touchpads versucht der Treiber, eine einzige Darstellung für Anwendungen zu abstrahieren:

  • Touchpads, die absolute Positionsdaten melden, werden vom Xorg-Treiber in relative Bewegungen für die Anwendungen übersetzt. Eine normale Anwendung kann nicht direkt mit dem Touchpad kommunizieren (vom Design her), daher muss im Treiber wirklich nach einer Lösung gesucht werden.
  • Touchpads, die sowohl relative als auch absolute Modi unterstützen, müssen zwischen den Modi umgeschaltet werden. Dies ist sehr hardwarespezifisch und nicht anwendungsspezifisch.
  • Einige einfachere Touchpads können die absoluten Positionen nicht mehr anzeigen.

Leider können Sie mit den meisten Touchpad-Treibern nicht alle absoluten Werte in Linux-Anwendungen anzeigen, selbst wenn Sie über ein Touchpad verfügen. Die absoluten Daten sind wirklich da, da der Fahrer erkennen kann, ob Sie sie beispielsweise zum Scrollen an den Rändern berühren. Testen Sie dies selbst mit evtesteinem virtuellen Terminal (um X auszusetzen). Mein Synaptics-Touchpad meldet die absoluten Positionen wie folgt:

Event type 3 (EV_ABS)
  Event code 0 (ABS_X)
    Value   3332
    Min     1472
    Max     5648
    Fuzz       8
    Resolution      39
  Event code 1 (ABS_Y)
    Value   2017
    Min     1408
    Max     4806
    Fuzz       8
    Resolution      79

Die Fähigkeit, ein Synaptics-Gerät in Xorg tatsächlich in den absoluten Modus zu versetzen, wurde kürzlich durch dieses Commit im xf86-input-synapticsTreiber entfernt:

Remove absolute mode

Moving a touchpad in absolute mode is unusual - touchpads are disconnected
from the output device, so direct interaction is hard. There appears to be
little usage of it (I haven't seen bug reports from people claiming to use
it). Joe Shaw, author of the code and only known user doesn't have a use for
it anymore, so purge it from the repo.

Systemweiter Basistreiber: evdev

Die einzige Möglichkeit, wie ich dies derzeit unter Linux sehe, ist die Verwendung des evdevTreibers in Xorg. Es wurde bereits 2010 auf der Xorg-Mailingliste besprochen (ein Auszug unten):

Ich muss die absolute Position eines Fingers auf dem Touchpad ermitteln und nicht nur die relative Bewegung.

Der Synaptics-Treiber tut dies nicht, der Evdev-Treiber jedoch. Sie müssen also Ihren X-Server so konfigurieren, dass stattdessen der evdev-Treiber für das Touchpad verwendet wird. Das folgende Konfigurations-Snippet erledigt dies für Sie, sofern Sie Server 1.8 oder höher ausführen.

Section "InputClass"
    Identifier "evdev touchpad"
    MatchIsTouchpad "on"
    Driver "evdev"
    Option "Mode" "absolute"
EndSection

Speichern Sie dies als /etc/X11/xorg.conf.d/99-evdev-touchpad.confund starten Sie den Server neu. Beachten Sie, dass dies nur das Verhalten des Touchpads selbst ändert, nicht die Daten in den Ereignissen, aber diese Daten sind trotzdem immer absolut. Wenn Sie evdev anstelle von Synaptics verwenden, verlieren Sie auch die Möglichkeit, mit zwei Fingern zu scrollen, zu tippen usw.

Fazit: Erstellen Sie eine Funktionsanforderung

Ich sehe Platz für eine Feature-Anfrage im Upstream-Bugtracker für den Synaptics-Treiber (und möglicherweise für andere). Es wäre sehr nützlich, eine Schnittstelle in Xorg zu haben, um die absoluten Positionswerte des Touchpads lesen zu können. Die Hauptblocker, die ich sehe, sind, dass dies sehr hardwarespezifisch und daher schwer zu implementieren sein könnte.

Ich denke, ein Gespräch mit Joe Shaw und Peter Hutterer könnte auch von großem Wert sein, um zu sehen, wie die Geschichte genau aussieht, wie man daraus eine großartige Feature-Anfrage macht und was man von ihr erwartet.

gertvdijk
quelle
Es ist eine schöne Antwort, aber hier ist die Maus gerade erst
eingefroren
@desgua Ja, das ist sehr viel zu erwarten. Es hat keine absoluten Eingabewerte ...
Gertvdijk
1
Nur für den Fall, dass sich noch jemand dafür interessiert, habe ich einen Fehler gemeldet: gemeldet bugs.freedesktop.org/show_bug.cgi?id=75322
Donarsson
1
UPDATE: Meine Feature-Anfrage wurde abgelehnt und der Betreuer gab an, dass er "das Zusammenführen überhaupt bedauert". Ich werde in den Code schauen und ihn wahrscheinlich aufteilen. In diesem Fall werde ich hier einen letzten Kommentar veröffentlichen, damit jeder, der daran interessiert ist, ihn sehen kann. Entschuldigung für das Spammen.
Donarsson
0

Das hängt in hohem Maße von der Hardware ab, die ich denke. Ihr Trackpad muss es unterstützen, die absolute Position einer Berührung preiszugeben. Ein normales Laptop-Trackpad verhält sich eher wie eine Maus und liefert lediglich Informationen zu Richtung, Geschwindigkeit und Beschleunigung. Wo immer Sie also berühren, bewegt es sich nur aus der aktuellen Richtung des Cursors.

Gladen
quelle
1
Das ist nicht sehr wahr. X kann die Positionen lesen, da es beispielsweise erkennen kann, an welcher Kante Sie scrollen möchten. Ich glaube, es ist eher ein X Input-Konfigurationsparameter, den wir verpassen.
Gertvdijk
Ja, das stimmt auch. Ich bin nicht ganz sicher, wie es funktioniert, aber ich denke, die Implementierung in einem Trackpad ist immer noch zu einfach, um sie als Grafiktablett zu verwenden.
Gladen