ubuntuusers.de

Multipointer

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

Dieser Artikel bezieht sich auf die Multipointer-Eigenschaften des Xservers xorg. Mit dem neuen Bestandteil Xinput2 können mehrere Mauszeiger verwaltet werden, allerdings unterstützen bis jetzt nur ganz wenige Programme die Verwendung von zwei Mauszeigern. Multitouchgesten werden im Moment noch nicht unterstützt. Man kann den einzelnen Mauszeigern auch Tastaturen zuordnen, sodass je eine Tastatur immer unter dem zugeordneten Mauszeiger schreibt, unabhängig davon, wo der Fenstermanager gerade seinen Fokus liegen hat.

Mehrere unabhängige und durch physikalisch getrennte Geräte gesteuerte Mauszeiger können zweihändiges Zeichnen, aber auch paralleles Arbeiten an einem Computer ermöglichen. Allerdings ist die Produktivität dieser Erweiterung derzeit noch stark eingeschränkt, da kaum ein Programm alleine mit mehreren Mauszeigern umgehen kann - solange die Aktionen in unterschiedlichen Fenstern stattfinden, gibt es kaum noch Einschränkungen. Beispielsweise kann man im Window-Manager Kwin nur mit einem der Mauszeiger gleichzeitig Fenster verschieben oder in der Größe ändern.

Zur Nomenklatur: Ein Pointer ist intern die Maus, der Mauszeiger ist seine grafische Darstellung und eine Maus ein physikalisches Gerät. Wenn im Folgenden von Mäusen die Rede ist, wird davon ausgegangen, dass jeder Maus ein eigener Mauszeiger zugeordnet wurde.

Voraussetzungen

  • mindestens zwei Mäuse

  • am besten auch noch zwei Tastaturen, diese sind aber nicht zwingend notwendig und im Artikel noch nicht beschrieben

Konfiguration

In dieser Anleitung wird beschrieben, wie man bei zwei angeschlossenen Mäusen diesen jeweils einen eigenen Mauszeiger zuordnet. Am Ende hat man zwei Mauszeiger auf dem Bildschirm, die man gleichzeitig und voneinander unabhängig bewegen kann.

Zuerst betrachtet man im Terminal die angeschlossenen Eingabegeräte mit dem Befehl

xinput list 

Die Ausgabe sollte dabei ungefähr so aussehen:

⎡ Virtual core pointer                          id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ Logitech USB-PS/2 Optical Mouse           id=10   [slave  pointer  (2)]
⎜   ↳ Logitech USB-PS/2 Optical Mouse           id=11   [slave  pointer  (2)]
⎜   ↳ SynPS/2 Synaptics TouchPad                id=13   [slave  pointer  (2)]
⎜   ↳ Macintosh mouse button emulation          id=14   [slave  pointer  (2)]
⎣ Virtual core keyboard                         id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ Power Button                              id=6    [slave  keyboard (3)]
    ↳ Video Bus                                 id=7    [slave  keyboard (3)]
    ↳ Power Button                              id=8    [slave  keyboard (3)]
    ↳ Laptop_Integrated_Webcam_2M               id=9    [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard              id=12   [slave  keyboard (3)]
    ↳ Dell WMI hotkeys                          id=15   [slave  keyboard (3)]

Daraus folgt, dass an dem Computer zwei Logitech-Mäuse und ein Touchpad angeschlossen sind. Es ist in diesem Beispiel nur eine Tastatur angeschlossen.

Um nun einen zweiten Mauszeiger zu erhalten führt man folgenden Befehl aus:

xinput create-master Auxiliary 

Der Name Auxiliary kann auch beliebig anders gewählt werden. Der Mauszeiger ist in der Mitte des Bildschirms ganz kurz zu sehen und die Ausgabe von xinput list sieht nun so aus:

⎡ Virtual core pointer                          id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ Logitech USB-PS/2 Optical Mouse           id=10   [slave  pointer  (2)]
⎜   ↳ Logitech USB-PS/2 Optical Mouse           id=11   [slave  pointer  (2)]
⎜   ↳ SynPS/2 Synaptics TouchPad                id=13   [slave  pointer  (2)]
⎜   ↳ Macintosh mouse button emulation          id=14   [slave  pointer  (2)]
⎣ Virtual core keyboard                         id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ Power Button                              id=6    [slave  keyboard (3)]
    ↳ Video Bus                                 id=7    [slave  keyboard (3)]
    ↳ Power Button                              id=8    [slave  keyboard (3)]
    ↳ Laptop_Integrated_Webcam_2M               id=9    [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard              id=12   [slave  keyboard (3)]
    ↳ Dell WMI hotkeys                          id=15   [slave  keyboard (3)]
⎡ Auxiliary pointer                             id=16   [master pointer  (17)]
⎜   ↳ Auxiliary XTEST pointer                   id=18   [slave  pointer  (16)]
⎣ Auxiliary keyboard                            id=17   [master keyboard (16)]
    ↳ Auxiliary XTEST keyboard                  id=19   [slave  keyboard (17)]

Nun hängt man eine der Mäuse vom "normalen" Pointer zum Auxiliary pointer um:

xinput reattach 11 "Auxiliary pointer" 

Folgende Ausgabe von xinput list zeigt nun das erwünschte Ergebnis an:

⎡ Virtual core pointer                          id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ Logitech USB-PS/2 Optical Mouse           id=10   [slave  pointer  (2)]
⎜   ↳ SynPS/2 Synaptics TouchPad                id=13   [slave  pointer  (2)]
⎜   ↳ Macintosh mouse button emulation          id=14   [slave  pointer  (2)]
⎣ Virtual core keyboard                         id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ Power Button                              id=6    [slave  keyboard (3)]
    ↳ Video Bus                                 id=7    [slave  keyboard (3)]
    ↳ Power Button                              id=8    [slave  keyboard (3)]
    ↳ Laptop_Integrated_Webcam_2M               id=9    [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard              id=12   [slave  keyboard (3)]
    ↳ Dell WMI hotkeys                          id=15   [slave  keyboard (3)]
⎡ Auxiliary pointer                             id=16   [master pointer  (17)]
⎜   ↳ Logitech USB-PS/2 Optical Mouse           id=11   [slave  pointer  (16)]
⎜   ↳ Auxiliary XTEST pointer                   id=18   [slave  pointer  (16)]
⎣ Auxiliary keyboard                            id=17   [master keyboard (16)]
    ↳ Auxiliary XTEST keyboard                  id=19   [slave  keyboard (17)]

Nun hat man zwei Mauszeiger auf dem Bildschirm, die man mit unterschiedlichen Mäusen bedienen kann. Die Tastatur schreibt immer unter dem 1. Mauszeiger und der zweite Mauszeiger ist daran zu erkennen,dass er sich automatisch ausblendet, wenn er nicht bewegt wird.

Bekannte Probleme

  • Aktionen mit Kwin nur mit einer Maus gleichzeitig möglich

  • Wenn die Mauszeiger in unterschiedlichen Fenstern befinden, gibt es Probleme mit den Animationen für den Fensterwechsel und dem Fokus

  • Mauszeiger haben dieselbe Farbe und sind daher schwer zu unterscheiden

  • Es gibt keine grafische Möglichkeit mehrere Mauszeiger einzurichten

  • Nach einem Neustart muss die Konfiguration erneut ausgeführt werden

    • Es lässt sich automatisieren, wenn die Mäuse dauerhaft eingesteckt sind, da dann auch nach einem Neustart die ids der Mäuse (in der Ausgabe von xinput list) gleich bleiben

    • Beispielsweise könnte man die Befehle create-master und reattach (siehe oben) in der Datei ~/.profile verewigen, sodass beim Anmelden der zweite Mauszeiger erzeugt wird. Auch die Möglichkeit über den Autostart von KDE sollte möglich sein.

Blogbeitrag 🇬🇧 zum Thema

Diese Revision wurde am 26. April 2019 11:12 von ubot erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Desktop, Hardware