Encontrei uma resposta direta para minha pergunta, lendo as informações úteis no Ubuntu Wiki: X - Input Coordinate Transformation .
Estes comandos podem ser usados para alinhar as rotações dos dispositivos de entrada e da tela:
O primeiro comando gira a exibição, onde pode ser 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 remaps o dispositivo de entrada (isto é, o touchpad ou o ecrã sensível ao toque), onde <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
; correspondente às orientações acima.
Os nomes do touchpad e da tela sensível ao toque podem ser encontrados xinput list
e também podem ser desativados completamente xinput disable <device-name>
. Posteriormente, xinput enable <device-name>
reativará o dispositivo de entrada.
No meu caso, e provavelmente para outras pessoas com um Yoga 13 (também no Yoga 2 Pro), a tela sensível ao toque é chamada ELAN Touchscreen
e o touchpad
SynPS/2 Synaptics TouchPad
.
Portanto, coloquei um script curto no meu diretório pessoal chamado rotate-inverted.sh
com o seguinte conteúdo:
#! / bin / bash
# Este script gira a entrada da tela e da tela sensível ao toque em 180 graus, desativa o touchpad e ativa o teclado virtual
xrandr -o invertido
xinput set-prop 'ELAN Touchscreen' 'Matriz de transformação de coordenadas' -1 0 1 0 -1 1 0 0 1
xinput desativar 'SynPS / 2 Synaptics TouchPad'
a bordo &
Então eu fiz o script executável com
chmod u+x rotate-inverted.sh
e atribuiu o comando ~/rotate-inverted.sh
ao atalho do teclado Ctrl+ Alt+ Iem
Configurações do sistema -> Teclado .
Após o logoff e o logon, consegui girar o teclado pressionando o atalho.
Fiz o mesmo tipo de coisa para as outras posições de rotação, usando os comandos xinput enable 'SynPS/2 TouchPad'
e em killall onboard
vez de xinput disable 'SynPS/2 TouchPad'
e onboard &
para rotate-normal.sh
.
Alguns outros membros deste tópico discutiram sobre atribuir esses scripts aos botões extras do
Yoga - como o botão de bloqueio - e executá-los automaticamente após alterar a posição do Yoga; mas eu não tinha certeza de como fazer isso.