J'ai trouvé une réponse simple à ma question en lisant les informations utiles sur Ubuntu Wiki: X - Input Coordinate Transformation .
Ces commandes peuvent être utilisées pour aligner les rotations des périphériques d'entrée et de l'affichage:
La première commande fait pivoter l'affichage, où elle peut être gauche, droite, normale ou inversée:
xrandr -o <orientation>
remapper le périphérique d'entrée:
xinput set-prop '<device name>' 'Coordinate Transformation Matrix' <matrix-elements-rowwise>
La deuxième commande reconfigure le dispositif d'entrée (qui est, le pavé tactile ou l'écran tactile) où <matrix-elements-rowwise>
est 0 -1 1 1 0 0 0 0 1
, 0 1 0 -1 0 1 0 0 1
, 1 0 0 0 1 0 0 0 1
ou -1 0 1 0 -1 1 0 0 1
; correspondant aux orientations ci-dessus.
Les noms du pavé tactile et de l'écran tactile peuvent être trouvés avec xinput list
et l'un ou l'autre peut être entièrement désactivé avec xinput disable <device-name>
. Par la suite, xinput enable <device-name>
réactivera le périphérique d'entrée.
Dans mon cas, et probablement pour d'autres avec un Yoga 13 (également sur Yoga 2 Pro), l'écran tactile est appelé ELAN Touchscreen
et le pavé tactile
SynPS/2 Synaptics TouchPad
.
Ainsi, j'ai mis un court script dans mon répertoire personnel appelé rotate-inverted.sh
avec le contenu suivant:
#! / bin / bash
# Ce script fait pivoter l'écran et l'écran tactile de 180 degrés, désactive le pavé tactile et active le clavier virtuel
xrandr -o inversé
xinput set-prop 'ELAN Touchscreen' 'Coordinate Transformation Matrix' -1 0 1 0 -1 1 0 0 1
xinput désactiver 'SynPS / 2 Synaptics TouchPad'
à bord &
Ensuite, j'ai rendu le script exécutable avec
chmod u+x rotate-inverted.sh
et affecté la commande ~/rotate-inverted.sh
au raccourci clavier Ctrl+ Alt+ Idans
Paramètres système -> Clavier .
Après m'être déconnecté et reconnecté, j'ai pu faire pivoter le clavier en appuyant sur ce raccourci.
J'ai fait le même genre de chose pour les autres positions de rotation, en utilisant les commandes xinput enable 'SynPS/2 TouchPad'
et killall onboard
au lieu de xinput disable 'SynPS/2 TouchPad'
et onboard &
pour rotate-normal.sh
.
Certains autres sur ce fil ont discuté de l'attribution de tels scripts aux boutons supplémentaires sur le
Yoga - tels que le bouton de verrouillage - ainsi que de les exécuter automatiquement lors du changement de la position du Yoga; mais je ne savais pas comment faire cela.