J'ai trouvé une réponse directe à ma question en lisant les informations utiles sur le site suivant Ubuntu Wiki : X - Transformation des coordonnées d'entrée .
Ces commandes peuvent être utilisées pour aligner les rotations des périphériques d'entrée et de l'écran :
-
La première commande fait pivoter l'affichage, qui peut être à gauche, à droite, normal ou inversé :
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 permet de réaffecter le périphérique d'entrée (c'est-à-dire le pavé tactile ou l'écran tactile) à l'endroit suivant <matrix-elements-rowwise>
es 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
o -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é à l'aide de la fonction xinput disable <device-name>
. Par la suite, xinput enable <device-name>
réactive le périphérique d'entrée.
Dans mon cas, et probablement pour d'autres personnes possédant un Yoga 13 (également sur le Yoga 2 Pro), l'écran tactile s'appelle ELAN Touchscreen
et le pavé tactile SynPS/2 Synaptics TouchPad
.
J'ai donc placé dans mon répertoire personnel un court script appelé rotate-inverted.sh
avec le contenu suivant :
#!/bin/bash
# This script rotates the screen and touchscreen input 180 degrees, disables the touchpad, and enables the virtual keyboard
xrandr -o inverted
xinput set-prop 'ELAN Touchscreen' 'Coordinate Transformation Matrix' -1 0 1 0 -1 1 0 0 1
xinput disable 'SynPS/2 Synaptics TouchPad'
onboard &
J'ai ensuite rendu le script exécutable avec
chmod u+x rotate-inverted.sh
et lui a confié le commandement ~/rotate-inverted.sh
au raccourci clavier Ctrl + Alt + I en
Paramètres du 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 procédé de la même manière pour les autres positions de rotation, en utilisant les commandes xinput enable 'SynPS/2 TouchPad'
y killall onboard
代わりに xinput disable 'SynPS/2 TouchPad'
y onboard &
pour rotate-normal.sh
.
D'autres personnes sur ce fil de discussion ont discuté de l'assignation de tels scripts aux boutons supplémentaires sur le
Yoga - comme le bouton de verrouillage - et de les exécuter automatiquement en cas de changement de position du Yoga ; mais je n'étais pas sûr de savoir comment faire.