Touchscreen Eingabe folgt unter Linux Cinnamon nicht der Monitorrotation.
Verfasst: 24.08.2020 - 18:24
Meine Tochter hat sich ein HP HP Pavilion X360 gekauft.
Darauf wurde als erstes das Windows durch ein Linux-Mint ersetzt. Linux-Mint, weil es eine einfach zu bedienende Distribution OHNE dies unsägliche Snap ist.
Leider fiel mir dann auf, dass wenn ich das Teil hochkant stelle, die Stift- und Fingereingabe auf dem Touchscreen nicht ebenfalls mitgedreht wurde. Also war weder der Stylus noch die Finger im Tabletmodus hochkant zu nutzen. Sehr doof.
Aber mit ein wenig suchen und anpassen ist es mir dann doch gelungen ein Script dafür zu basteln.
Basiert auf diesem und diesem Script.
Darauf wurde als erstes das Windows durch ein Linux-Mint ersetzt. Linux-Mint, weil es eine einfach zu bedienende Distribution OHNE dies unsägliche Snap ist.
Leider fiel mir dann auf, dass wenn ich das Teil hochkant stelle, die Stift- und Fingereingabe auf dem Touchscreen nicht ebenfalls mitgedreht wurde. Also war weder der Stylus noch die Finger im Tabletmodus hochkant zu nutzen. Sehr doof.
Aber mit ein wenig suchen und anpassen ist es mir dann doch gelungen ein Script dafür zu basteln.
Basiert auf diesem und diesem Script.
Code: Alles auswählen
#!/bin/sh
# Auto rotate touch screen based on device orientation.
#
# Based on chadm's script at https://linuxappfinder.com/blog/auto_screen_rotation_in_ubuntu.
# Finde mit xinput heraus welches gerät gedreht werden soll. (hier set-prop 19)
# stelle sicher, dass iio-sensor-proxy und inotify-tools installiert sind
# Dieses Script sollte automatisch mit gestartet werden.
killall monitor-sensor
monitor-sensor > /dev/shm/sensor.log 2>&1 &
xrandr --output eDP-1 --rotate normal
xinput set-prop 19 'Coordinate Transformation Matrix' 1 0 0 0 1 0 0 0 1
while inotifywait -e modify /dev/shm/sensor.log; do
ORIENTATION=$(tail /dev/shm/sensor.log | grep 'changed' | tail -1 | grep -oE '[^ ]+$')
case "$ORIENTATION" in
bottom-up)
xinput set-prop 19 'Coordinate Transformation Matrix' -1 0 1 0 -1 1 0 0 1;;
normal)
xinput set-prop 19 'Coordinate Transformation Matrix' 1 0 0 0 1 0 0 0 1;;
right-up)
xinput set-prop 19 'Coordinate Transformation Matrix' 0 1 0 -1 0 1 0 0 1;;
left-up)
xinput set-prop 19 'Coordinate Transformation Matrix' 0 -1 1 1 0 0 0 0 1;;
esac
done