
Recientemente adquirí una computadora portátil convertible Lenovo Yoga 3 de 11". Funciona bien con Ubuntu Gnome LTS 16.04.2 listo para usar: WiFi, Bluetooth, incluso suspender y reanudar el trabajo sin ningún problema hasta el momento.
Noté que Gnome 3 incluso permite que la pantalla gire automáticamente según los sensores de rotación incorporados. El Yoga 3 11" ofrece sensores de rotación iio-sensor-proxy
que ya están instalados de forma predeterminada en Ubuntu Gnome. Da la casualidad de que la orientación informada por iio-sensor-proxy
parece estar desviada en 90°.
Rotación automática de pantalla en Dell 13 7000 con 15.04 (Gnome)tiene una solución en términos de un script de shell personalizado que maneja la rotación de la pantalla. Preferiría no utilizar esta solución, ya que desactiva el botón "deshabilitar la rotación de pantalla" en Gnome Shell.
Ya investigué un poco y descubrí que eso iio-sensor-proxy
debería provocar udev
que se active un evento que luego utiliza Gnome 3 para configurar la orientación de la pantalla a través de xrandr
. Sin embargo, no puedo encontrar una manera de decirle udev
a Gnome 3 que el acelerómetro está montado en una orientación diferente a la de la pantalla, lo que requiere que las direcciones se traduzcan en el medio.
Entonces la pregunta es: ¿Cómo se puede hacer eso? La reasignación de orientación debería ser posible en iio-sensor-proxy
, udev
o en Gnome 3, y en realidad no me importa mucho dónde se hace. Parece que no encuentro ningún archivo de configuración que pueda cambiar fácilmente para lograr lo que necesito.
Como solución alternativa, por ahora estoy usando el script de la pregunta Ask ubuntu vinculada anteriormente, con modificaciones para tener en cuenta el problema de pantalla/acelerómetro desalineado. Para que esto funcione, tengo que desactivar la rotación automática de pantalla en Gnome 3. Aunque esta solución también permite iniciar y cerrar automáticamente onboard
(teclado en pantalla) dependiendo de la orientación actual, en cierto modo anula el propósito de la configuración de rotación de pantalla de Gnome 3. .
Respuesta1
Vea la respuesta de Krzysztof Stasiak para conocer la teoría.
En la práctica, mi máquina, una netbook 2 one mix one, tiene por defecto una pantalla girada 90 grados en sentido antihorario.
Por lo que tengo entendido, de forma predeterminada, cada máquina que no tiene anulaciones tiene una matriz de ACCEL_MOUNT_MATRIX=1, 0, 0; 0, 1, 0; 0, 0, 1
Poner lo siguiente en /etc/udev/hwdb.d/60-sensor.hwdb solucionó mi caso:
sensor:modalias:*
ACCEL_MOUNT_MATRIX=0, 1, 0; 1, 0, 0; 0, 0, 1
Respuesta2
DeSitio de proxy de sensor de GitLab iio Cuando el acelerómetro no está montado de la misma manera que la pantalla, debemos modificar las lecturas del acelerómetro para asegurarnos de que la orientación calculada coincida con la de la pantalla.
iio-sensor-proxy
lee esta información de la ACCEL_MOUNT_MATRIX
propiedad udev del dispositivo. Ver 60-sensor.hwdb
para más detalles.