Saltar al contenido

acelerómetro + rotación de pantalla en una computadora portátil sin pantalla táctil?

Después de consultar especialistas en el tema, programadores de varias ramas y profesores hemos dado con la solución a la pregunta y la dejamos plasmada en esta publicación.

Solución:

Toda la historia que menciona es en realidad una especie de error en iio-sensor-proxy o en su código DE que utiliza la información de iio-sensor-proxy.

No es bios o kernel lo que hace la rotación sino el matrimonio entre iio-sensor-proxy y su entorno de escritorio.

DE como Gnome (y Cinnamon resulta que) la pantalla gira automáticamente en función de los datos proporcionados por iio-sensor-proxy en dbus.

Puede intentar eliminar/purgar iio-sensor-proxy y la rotación de la pantalla desaparecerá por completo.

No está claro si se trata de un error iio-sensor-proxy o de Cinnamon. Podría ser iio-sensor-proxy que está leyendo de forma incorrecta los datos de su acelerómetro o podría ser Cinnamon que aunque recibe datos correctos por sensor-proxy, gira la pantalla de forma incorrecta.

Puede aclarar este problema ejecutando monitor-sensor en la terminal raíz. Esta utilidad viene con el paquete iio-sensor-proxy y muestra en la terminal el estado actual del acelerómetro/la orientación actual de la pantalla.
Si el monitor-sensor muestra correctamente la orientación, entonces es un error de Cinnamon. Pero estoy 90% seguro de que esto es un iio-sensor-proxy error y debe informarlo al desarrollador.

PD: También se mencionó que sensor-proxy había funcionado bien con kernels hasta la versión 4.7, pero tuvo algunos problemas con kernel 4.8 y superiores. Puede intentar instalar un kernel más antiguo (es decir, 4.7) para realizar pruebas.

Si el sensor del monitor informa correctamente la orientación y se trata de un error de Cinnamon, como solución alternativa, puede desactivar la función de rotación automática de pantalla de Cinnamon y ejecutar una especie de script de shell que hará la rotación correcta en función de los datos del sensor del monitor.

PD: Gnome ofrece la opción de deshabilitar por completo la rotación automática de pantalla, no estoy seguro de si Cinnamon también tiene esta opción.

En XFCE, iio-sensor-proxy está instalado pero los desarrolladores de XFCE no están realizando la rotación automática de pantalla (todavía). Aplicamos este script para tener rotación automática de pantalla: https://linuxappfinder.com/blog/auto_screen_rotation_in_ubuntu

PD: Versión mejorada para pantallas táctiles con matriz de transformación: https://github.com/gevasiliou/PythonTests/blob/master/autorotate.sh

Actualización para futuras referencias / futuras “búsquedas de Google”

Como se aconseja en los comentarios, al ejecutar monitor-sensor en una terminal raíz y observando los mensajes proporcionados por iio-sensor-proxy, se demostró que iio-sensor-proxy comprende correctamente la orientación real de la pantalla.
Como resultado, esto parece ser un error de Cinnamon que, aunque obtiene la información correcta de iio-sensor-proxy, gira la pantalla incorrectamente.

Puede deshabilitar la función de rotación automática de Cinnamon y probar el script de rotación automática como se indicó anteriormente (https://linuxappfinder.com/blog/auto_screen_rotation_in_ubuntu).

Para deshabilitar la rotación automática interna de Cinnamon, debe aplicar settings set org.cinnamon.settings-daemon.plugins.orientation active false como se aconseja en el comentario de OP.

Usando dconf-editorcambiar el key valor por

/org/cinnamon/settings-daemon/plugins/orientation/active

a False.

Esto es idéntico a la solución de línea de comando presentada anteriormente, pero usa la herramienta gui dconf-editor.

Te mostramos comentarios y valoraciones

Si guardas algún recelo o capacidad de aumentar nuestro reseña eres capaz de dejar una nota y con deseo lo interpretaremos.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *