debian:xfce@yoga 11s: Erweiterter Desktop – externer Monitor

Wenn unter debian:xfce der HDMIaufVGA-Adapter oder ein HDMI-Kabel beim Lenovo yoga 11s benutzt wird, dann spiegelt debian zunächst einfach den Displayinhalt auf den zweiten Bildschirm. Um den Desktop auf den zweiten Monitor zu erweitern, kann folgendes Bash-Script benutzt werden, das gleichzeitig die Eingaben des Touchscreens auf den internen Bildschirm des Yoga mappt (bzw. wenn das Script nach Abziehen des HDMI Kabels/Adapters ausgeführt wird, den erweiterten Desktop wieder zurücksetzt):

#!/bin/bash
TouchID=$(xinput --list --id-only 'Atmel Atmel maXTouch Digitizer')
HDMIStatus=$(xrandr --current | grep "HDMI1" | cut -d' ' -f2)
if [[ "$HDMIStatus" == "disconnected" ]]; then
	xrandr --auto
else
	xrandr --output HDMI1 --auto --left-of eDP1
fi
xinput --map-to-output $TouchID eDP1

Das wäre jetzt die Konfiguration für den zweiten Monitor am Arbeitsplatz, da bei „left-of“ der zweite/externe Monitor den Hauptbildschirm darstellt. Für die Präsentationsmodus-Konfiguration müsste stattdessen „right-of“ benutzt werden.

debian@yoga 11s: Touchpad an/aus

Die Tastatur des Lenovo Yoga 11s wird auch unter debian automatisch ausgeschaltet, wenn das Gerät im Tablet-Modus genutzt wird. Das trifft leider nicht auf das Touchpad zu. Es bietet sich daher an, bspw. den seitlichen ScreenRotation-Lock-Button zum An-/Ausschalten des Touchpads zu benutzen. Dafür brauchen wir nur folgendes Script, das wir in der Datei „switchTouchpad.sh“ speichern (um Nachrichten an das Notification-System schicken zu können, muss noch „libnotify-bin“ installiert werden: „sudo apt-get install libnotify-bin“):

#!/bin/bash
TouchPadID=$(xinput --list --id-only 'SynPS/2 Synaptics TouchPad')
TouchPadStatus=$(xinput list-props $TouchPadID | grep "Device Enabled" | cut -f3)
if [[ "$TouchPadStatus" == "0" ]]; then
	xinput enable $TouchPadID
	notify-send -i /usr/share/icons/gnome/32x32/devices/input-touchpad.png "Touchpad" "AN"
else
	xinput disable $TouchPadID
	notify-send -i /usr/share/icons/gnome/32x32/devices/input-touchpad.png "Touchpad" "AUS"
fi

Jetzt nur noch die Datei über ein Terminal mittels „chmod +x switchTouchpad.sh“ ausführbar machen. Dann kann über die Einstellungen für Tastatur->Tastenkürzel einfach das Bash-Script als Befehl eingetragen und die seitliche Taste für die Bildschirmdrehung (<Super>o) zum Ab-/Anschalten des Touchpads missbraucht werden.

Tweaks: Ubuntu 13.10@Surface Pro 2

Hier vier kleine Tweaks für die Arbeit mit Display bzw. Stylus unter Ubuntu 13.10 auf dem Surface Pro 2:

  1. Button an der Seite des Stylus für Rechtsklicks nutzen:
    Dafür muss einfach die Buttonbelegung des Stylus über xinput geändert werden (Button 2 und 3 tauschen).
    xinput set-button-map ID 1 3 2 4 5

    ID muss dabei mit Device-ID des Stylus ersetzt werden (bei mir: 9). Die richtige ID bekommt man einfach über den folgenden Befehl:

    xinput --list

    damit werden alle Input-Devices angezeigt. Der Stylus ist im Normalfall der erste Eintrag mit dem Namen „MICROSOFT SAM“. Sollte es den Eintrag zweimal geben, ist wahrscheinlich ein Touch- oder Type Cover angeschlossen, dessen Touchpad ebenfalls diesen Namen trägt. Im Unterschied zu Windows funktioniert der Seitenbutton als eigenständiger Button (also nicht als „Umschalter“ für eine Rechtsklick über die Stylus-Spitze).

  2. Mapping des Touch- und/oder Stylus-Imput bei Mehrmonitorbetrieb:
    Eine Möglichkeit das im Mehrmonitorbetrieb die Eingabe für Touch und Stylus nicht über alle Monitore erstreckt werden, sondern sich nur auf das Display des Surface beziehen, besteht darin, die Eingabedaten zu transformieren. Dies geschieht beispielsweise mit folgendem Befehl (unter der Voraussetzung, dass sich der zweite Monitor bei gleicher Full HD-Auflösung links vom Surface-Bildschirm befindet:

    xinput set-prop ID 136 0.5 0 0 0 1 0 0 0 1

    Weitere Informationen liefert dieser Link

  3. Eine Alternative für die Mapping-Einstellungen könnte der folgenden Befehl sein (kann ich leider gerade nicht testen):
    xinput --map-to-output ID eDP1

    eDP1 ist hier schon der korrekte Device-Name des Surface-Displays. Für ID muss entsprechend die Device-ID des Stylus oder des Touch-Interfaces angegeben werden.

  4. Displayinhalt skalieren:
    Die Möglichkeiten, Ubuntu an die hohe Auflösung des kleinen Displays des Surface Pro 2 anzupassen, sind relativ begrenzt. Eine schnell umzusetzenden Notlösung, alternativ zum Heruntersetzen der Displayauflösung, besteht in der Skalierung über X:
    xrandr --output eDP1 --scale 0.7x0.7

    Eine dauerhafte Lösung kann das aber aufgrund des damit einhergehenden Schärfeverlusts nicht sein.