Encontrei uma resposta direta à minha pergunta lendo as informações úteis em Wiki do Ubuntu: X - Transformação de coordenadas de entrada .
Estes comandos podem ser usados para alinhar as rotações dos dispositivos de entrada e a exibição:
-
O primeiro comando gira a exibição, onde pode ficar à esquerda, direita, normal ou invertida:%
xrandr -o <orientation>
-
remapear o dispositivo de entrada:
xinput set-prop '<device name>' 'Coordinate Transformation Matrix' <matrix-elements-rowwise>
O segundo comando remapeia o dispositivo de entrada (ou seja, o touchpad ou a tela de toque) em que <matrix-elements-rowwise>
é 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
; correspondendo às orientações acima.
Os nomes do touchpad e da tela sensível ao toque podem ser encontrados com xinput list
e podem ser desativados totalmente com xinput disable <device-name>
. Posteriormente, xinput enable <device-name>
irá reativar o dispositivo de entrada.
No meu caso, e provavelmente para outras pessoas com um Yoga 13 (também no Yoga 2 Pro), o touchscreen é chamado ELAN Touchscreen
e o touchpad
SynPS/2 Synaptics TouchPad
.
Assim, coloco um script curto no meu diretório pessoal chamado rotate-inverted.sh
com o seguinte conteúdo:
#!/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 &
Depois tornei o script executável com
chmod u+x rotate-inverted.sh
e atribuiu o comando ~/rotate-inverted.sh
ao atalho de teclado Ctrl + Alt + I em <
Depois de fazer o logout e entrar novamente, consegui girar o teclado pressionando esse atalho.
Eu fiz o mesmo tipo de coisa para as outras posições de rotação, usando os comandos xinput enable 'SynPS/2 TouchPad'
e killall onboard
em vez de xinput disable 'SynPS/2 TouchPad'
e onboard &
para rotate-normal.sh
.
Alguns outros neste tópico discutiram a designação de tais scripts para os botões extras no
Yoga - como o botão de bloqueio - bem como executá-los automaticamente ao mudar a posição do Yoga; mas eu não sabia como fazer isso.