
ich habe einen Laptop mit Touchscreen (1920 x 1080) und ein interaktives Whiteboard mit Touch (1280 x 800). Um die volle Auflösung des Laptops zu nutzen, stelle ich einfach einen Teil des Monitors dar, was mit dem ersten xrandr-Befehl erfolgreich erledigt ist.
Jetzt möchte ich die Touch-Ereignisse des Monitors auf den Laptop-Monitor abbilden, was funktioniert. Da das Whiteboard immer eine andere Nummer hat, xinput list
greife ich die Nummer ab und zeige sie in der Bash an. Dann bilde ich die Touch-Ereignisse des Whiteboards auf diesen Teil des angezeigten Bildschirms ab.
Die letzten Befehle sind Teil von xfce4, um jedes Fenster innerhalb des angezeigten Teils meines Laptop-Bildschirms zu maximieren.
#!/bin/ sh xrandr --output VIRTUAL1 --off --output eDP1 --mode 1920x1080 --pos 0x0 --rotate normal --output HDMI1 --mode 1280x800 --pos 480x270 --rotate normal xinput map-to-output 'ELAN Touchscreen' eDP1 daten=$(xinput list | grep 'TimeLink' | tail -n 1 | cut -c 56-57) echo $daten xinput map-to-output "$daten" HDMI1 xfconf-query -c xfwm4 -p /general/margin_right -s 160 xfconf-query -c xfwm4 -p /general/margin_left -s 480 xfconf-query -c xfwm4 -p /general/margin_top -s 270 xfconf-query -c xfwm4 -p /general/margin_bottom -s 10
Dieses Skript funktionierte einwandfrei, aber plötzlich funktionierte die Abbildung des Whiteboards nicht mehr. Am linken und rechten Rand kommt es zu einer Verschiebung der Mausposition und des Touch-Ereignisses. Ich habe versucht, den Monitor zu kalibrieren, indem ich eDP1 deaktivierte und xinput_calibrator
für das Whiteboard verwendete und dies /etc/X11/xorg.conf.d/99-calibration.conf
wie vom Programm vorgeschlagen eintrug. Aber das Touch-Ereignis ist nach einem Neustart in der Mitte immer noch perfekt, wird aber am Rand links und rechts schlechter.
Ich habe auch nachgeschaut, ob irgendein Programm aktualisiert wurde, aber ich habe nichts Hilfreiches gefunden. Der Beamer zeigt auch nur das Bild ohne neues Seitenverhältnis usw. Irgendwelche Vorschläge?
Antwort1
Endlich habe ich eine Lösung gefunden.
Das Festlegen der „Koordinatentransformationsmatrix“ ist fehlgeschlagen, das Festlegen der libinput-Kalibrierungsmatrix war jedoch erfolgreich.
xinput set-prop DEVICE "libinput Calibration Matrix" 1.100000, 0.000000, -0.050000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
DEVICE muss durch die Nummer aus ersetzt werdenxinput-Liste
Die Werte werden durch Ausprobieren ermittelt, aber diese beiden Zahlen gelten für die X-Breite und den X-Versatz.