Encontré una respuesta directa a mi pregunta leyendo la información útil en Ubuntu Wiki: X - Transformación de coordenadas de entrada .
Estos comandos se pueden usar para alinear las rotaciones de los dispositivos de entrada y la pantalla:
El primer comando gira la pantalla, donde se puede dejar, derecha, normal o invertida:
xrandr -o <orientation>
reasignar el dispositivo de entrada:
xinput set-prop '<device name>' 'Coordinate Transformation Matrix' <matrix-elements-rowwise>
El segundo comando vuelve a asignar el dispositivo de entrada (es decir, el panel táctil o el de la pantalla táctil), donde <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
; correspondiente a las orientaciones anteriores.
Los nombres del panel táctil y la pantalla táctil se pueden encontrar xinput list
y se pueden desactivar por completo con xinput disable <device-name>
. Posteriormente, xinput enable <device-name>
volverá a habilitar el dispositivo de entrada.
En mi caso, y probablemente para otros con un Yoga 13 (también en Yoga 2 Pro), se llama la pantalla táctil ELAN Touchscreen
y el panel táctil
SynPS/2 Synaptics TouchPad
.
Por lo tanto, puse un script corto en mi directorio de inicio llamado rotate-inverted.sh
con el siguiente contenido:
#! / bin / bash
# Este script gira la pantalla y la entrada de la pantalla táctil 180 grados, deshabilita el panel táctil y habilita el teclado virtual
xrandr -o invertido
xinput set-prop 'Pantalla táctil ELAN' 'Matriz de transformación coordinada' -1 0 1 0 -1 1 0 0 1
xinput deshabilita 'SynPS / 2 Synaptics TouchPad'
a bordo &
Luego hice el script ejecutable con
chmod u+x rotate-inverted.sh
y asignó el comando ~/rotate-inverted.sh
al atajo de teclado Ctrl+ Alt+ Ien
Configuración del sistema -> Teclado .
Después de cerrar sesión y volver a iniciar sesión, pude girar el teclado presionando ese acceso directo.
Hice el mismo tipo de cosas para las otras posiciones de rotación, usando los comandos xinput enable 'SynPS/2 TouchPad'
y en killall onboard
lugar de xinput disable 'SynPS/2 TouchPad'
y onboard &
para rotate-normal.sh
.
Otros en este hilo han discutido la asignación de dichos scripts a los botones adicionales en el
Yoga, como el botón de bloqueo, así como la ejecución automática de ellos al cambiar la posición del Yoga; pero no estaba seguro de cómo hacer esto.