ÉCRAN : détection rotation de l'écran pour xrandr?

Salut,

Les moniteurs qui pivotent (portrait / paysage) c’est plutôt pratique. Mais ça l’est tout de suite moins quand il faut lancer xrandr (-o left ou -o normal, selon) à la main, à chaque fois.

Y’a sûrement un bidule quelque part à régler pour automatiser ça, en détectant automatiquement lorsque l’écran est pivoté, mais quoi / où ? J’ai rien trouvé d’approchant…

Environnement : KDE4, NVidia propriétaire, sortie VGA.

:006

quel capteur possède ton écran pour informer automatiquement le système de la position de l’écran.

Alors là tu me poses une colle, et ça ne semble pas être marqué dans les diverses docs (papier comme internet).

Naïvement, je pensais que c’était standardisé (genre comme l’EDID pour la détection de la résolution… mon KDE a pas bronché quand j’ai remplacé mon ancien 1920x1080 par le nouveau 1920x1200, il s’est tout simplement mis à la bonne résolution). D’ailleurs en grattant un peu, il est censé y avoir des informations de rotation dans l’EDID mais soit elles ne sont pas prises en compte par mon système, soit effectivement y’a pas de capteur dans mon moniteur.

C’est un Samsung S24C450, si jamais ça peut faire avancer les choses. Perso j’ai pas trouvé d’info sur un quelconque capteur (ni présent ni absent) dans les docs donc je ne retiens pas mon souffle… :confusion-scratchheadyellow:

A ma connaissance, aucun moniteur de bureau n’est capable de savoir dans quelle position il est.
Seul les téléphones et les tablettes gèrent cette info.
reste plus qu’a coller un accéléro sur le bord de l’ecran, et à le relier via le port USB!
Et tu pourras te servir de ton écran comme volant pour jouer à TORCS :dance:

[quote=“piratebab”]A ma connaissance, aucun moniteur de bureau n’est capable de savoir dans quelle position il est.
Seul les téléphones et les tablettes gèrent cette info.[/quote]
Y’en au au moins un, je l’ai vu faire (sous Windows). C’est d’ailleurs pour ça que je m’attendais à ce que le mien le fasse aussi.
Je vais me renseigner, tiens, savoir de quel modèle il s’agit.

voici ce qu’en dit microsoft:
msdn.microsoft.com/en-us/library/bb158688.aspx
je ne vois rien d’automatique la dedans

Attention, c’est pour Windows CE ton lien.

Mais je l’ai vu fonctionner devant moi. Cela dit c’est pas exclu que ça soit des pilotes spécifiques à l’écran. Faut que je me renseigne…

c’est quoi windows CE ?

La vieille version de Windows Mobile / Windows Phone (ah le début des années 2000 avec les “PDA” sous Windows CE, quelle horreur c’était ces engins).

En attendant de trouver mieux, je me suis fait ça pour basculer d’une orientation à l’autre :

[code]$ cat $(which xrotate)
#!/bin/bash

export LANG=C.UTF-8

get_xrandr() {
XRANDR_MODE="$(xrandr --verbose | grep -F ‘connected primary’)“
RESOLUTION=”$( <<< “$XRANDR_MODE” sed ‘s@^.* connected primary ([0-9x]+)+.$@\1@g’)“
ORIENTATION=”$( <<< “$XRANDR_MODE” sed 's@^.
connected primary [0-9x+]+ ([^)]+) ([A-Za-z]+) .*$@\1@g’)"
}

get_xrandr

if [ “$RESOLUTION” = “1920x1200” ]; then
xrandr -o left
elif [ “$RESOLUTION” = “1200x1920” ]; then
xrandr -o normal
fi[/code]

Placé dans le PATH, ça me permet de faire pivoter mon affichage rapidement (une touche pour appeler Yakuake, xro et c’est marre).

Ça marche bien chez moi, faut sûrement adapter pour le réutiliser (au moins la résolution).

Bon je confirme : un proche cousin de mon moniteur (le Samsung S24A850 – a priori la seule différence c’est le type de dalle) est capable, sous Windows et après installation des pilotes adéquats, de faire pivoter l’affichage automatiquement en fonction de la rotation physique du moniteur.

Reste à trouver comment récupérer cette info sous Linux pour automatiser le biniou.

As tu accés au type de connectique ? L’info de l’orientation de l’écran passe t elle par le câble dvi/hdmi ou par un autre ?
Dans la norme HDMI, il y a la possibilité de faire passer des infos autre que le son ou l’image pour piloter des appareils.
C’est semble t il la solution retenue pour les machines sous android.

Ah, il est connecté en DVI, moi en VGA. Ceci explique sûrement cela… :frowning:
Je dois changer de bécane sous peu (dès que je me serai décidé sur le matériel précis quoi, ça peut prendre longtemps…) et j’aurai une sortie DVI, donc je vous tiendrai au courant à ce moment là.

En attendant, mon script devra faire l’affaire. Va encore falloir que je réserve un raccourci clavier de plus, tiens.

:079 je sais c’est mal, je déterre un sujet d’il y a un an ! mais le sujet est exactement le même !

J’ai le même écran et je suis obligé d’appuyer sur les raccourcis personnels (+ flèche du haut pour retour à la normal et + fleche de gauche pour faire un xrandr -o left)

Je tiens à remercier Syam pour son script, mais ce dernier ne fonctionne pas chez moi.
Quand je mets l’écran en rotation, et que je lance xro (il m’affiche bien la commande xrotate qui est dans /usr/local/bin (qui est dans le PATH) avec les droits exécution l’affichage ne se tourne pas sur la gauche.

Simplement pour savoir si
le fait que je sois en VGA pos se fameux problème :wink: et que le fait que tu sois passé en DVI (via en adaptateur HDMI DVI ) ait résolu le problème ?

merci :slightly_smiling: :dance:

Peut-être une info ci-dessous là -> How automatically change the orientation according to display’s pivot position

Quoi-qu’il en soit, il faudra bien que :

  • 1°/ le moniteur envoie un signal reconnaissable,
  • 2°/ par la carte vidéo,
  • 3°/ qui le transmettra au pilote vidéo (propriétaire et/ou à Xorg).

Et tout ça en supposant que le cordon possède bien tous les conducteurs nécessaires, bien connectés au deux bouts.
(J’ai dû changer un cordon dont il manquait des conducteurs, ce qui empêchait la transmission d’un profil ICC à un écran)

merci pour ta réponse…

Je crois que je vais laisser tel quel :slightly_smiling: mon PC portable est assez basique et au final, appuyer sur un raccourcis ne me procure pas autant d’effort que cela :slightly_smiling:

Et en VGA, aucune info ne sera envoyé à l’écran ou vice-versa… et je ne compte pas pour le moment mettre un adaptateur HDMI ou passer en DVI…

Merci et bonne journée :041

Les connecteur VGA et SVGA sont aussi câblés pour communiquer en utilisant le protocole I²C.
Il peuvent donc aussi transmettre et recevoir ces informations, et ils le font bien, ne serait-ce que pour informer la carte vidéo des fréquences possibles que le moniteur peut accepter.

Finit le temps où il fallait faire attention de ne pas se tromper en indiquant ces informations manuellement à Xorg.

:041 super info !

j’en étais resté à du VGA bête et pas trop méchant tout de même :slightly_smiling:

Quoi qu’il en soit… si le coeur m’en dit je m’y attellerai, dans tous les cas merci ! :006