Mode portrait et touchpad sous Ubuntu
Il est assez facile de réorienter l'écran sous Ubuntu, mais cela ne suffit pas. Il peut aussi être utile de retourner en même temps l'écran tactile et le touchpad (sinon il reste la possibilité d'utiliser une souris).
La commande xinput permet d'appliquer une matrice de transformation aux entrées de ces périphériques et d'inverser ainsi l'axe des X et celui des Y.Sources :
- https://askubuntu.com/questions/368317/rotate-touch-input-with-touchscreen-and-or-touchpad
- https://wiki.ubuntu.com/X/InputCoordinateTransformation
⎡ X ⎤ ⎡ a11 a12 a13 ⎤ ⎡ X réél ⎤
⎜ Y ⎥ = ⎜ a21 a22 a23 ⎥ . ⎜ Y réél ⎥
⎣ Z ⎦ ⎣ a31 a32 a3 ⎦ ⎣ Z réél ⎦
Pourquoi un axe des Z alors que le périphérique n'est qu'en deux dimensions ? Hypothèse le Z représenterait la dimension max de l'écran. Si un coefficient est inférieur à 0 sur un ligne N, il faudrait ajuster le coefficient an3 de manière à ce que : an1+an2+an3=0.
Je ne peux véirifier l'hypothèse n'ayant pas d'écran tactile sous la main, étant donné que le touchpad, n'envoie, lui, que des (x,y) relatifs. Pour ce périphérique, les coefficient an3 ne semblent pas avoir d'effets.
Voici en pratique comment passer en portrait et revenir en paysage avec l'exemple de trois scripts.
Ces scripts doivent être adaptés en fonction des périphériques présents sur l'ordinateur considéré. Ces périphériques sont détectables, à l'aide de la commande :
xinput list
Écran à gauche :
#!/bin/sh
xrandr -o right
#xinput set-prop "Your Touchscreen's Name" --type=float "Coordinate Transformation Matrix" 0 1 0 -1 0 0 0 0 1
xinput set-prop "ELAN1200:00 04F3:30D4 Touchpad" --type=float "Coordinate Transformation Matrix" 0 1 0 -1 0 0 0 0 1
Écran à droite :
#!/bin/sh
xrandr -o left
#xinput set-prop "Your Touchscreen's Name" --type=float "Coordinate Transformation Matrix" 0 -1 1 1 0 0 0 0 1
xinput set-prop "ELAN1200:00 04F3:30D4 Touchpad" --type=float "Coordinate Transformation Matrix" 0 -1 1 1 0 0 0 0 1
Retour au paysage :
#!/bin/sh
xrandr -o normal
#xinput set-prop "Your Touchscreen's Name" --type=float "Coordinate Transformation Matrix" 0 0 0 0 0 0 0 0 0
xinput set-prop "ELAN1200:00 04F3:30D4 Touchpad" --type=float "Coordinate Transformation Matrix" 0 0 0 0 0 0 0 0 0
Commentaires
Afficher les commentaires en Vue non groupée | Vue groupée