21 points par xguru 14 시간 전 | 8 commentaires | Partager sur WhatsApp
  • Outil permettant de basculer la source d’entrée d’un moniteur (DisplayPort, HDMI, USB-C, etc.) en ligne de commande via le protocole DDC/CI, avec prise en charge de Windows/macOS/Linux
  • Possibilité de spécifier directement la source d’entrée en ajoutant =source_d’entrée après le nom ou l’index
    • monitor-input Dell=dp1 → définit tous les moniteurs dont le nom contient « Dell » sur DisplayPort1
    • monitor-input 0=usbc1 → définit le premier moniteur sur USB-C1
  • Exécuté sans argument, affiche la liste de tous les moniteurs connectés, avec pour chaque entrée les champs nom/source d’entrée Input Source actuelle/Backend
  • Possibilité de rechercher/consulter un moniteur précis par une partie de son nom ou par index (nombre)
    • monitor-input Dell liste tous les moniteurs dont le nom contient « Dell » ; monitor-input 2 consulte le moniteur d’index 2
  • Prend aussi en charge les sources d’entrée spécifiques au fournisseur (vendor-specific) non standard en indiquant un nombre comme source d’entrée
    • monitor-input U2723=15 P3223=17
  • Prise en charge d’une fonction toggle/cycle permettant d’enregistrer deux sources ou plus séparées par des virgules (,) et de basculer séquentiellement selon l’état actuel
    • P3223=hdmi1,usbc2 → bascule entre HDMI1 et USBC2 ; il est aussi possible de faire tourner 3 sources ou plus, comme hdmi1,usbc2,dp1
  • Fonction de toggle multi-moniteurs : lors du basculement simultané de plusieurs moniteurs, conserve la cohérence des sources d’entrée en alignant les autres sur la source d’entrée actuelle du premier moniteur
    • Avec monitor-input U2723=dp1,usbc2 P3223=hdmi1,usbc2, si la source d’entrée du premier moniteur U2723 est DisplayPort1, elle est changée en UsbC2
    • Si le premier moniteur passe à la deuxième source de la liste, les moniteurs suivants passent eux aussi à leur deuxième source respective (par ex. P3223 passe à UsbC2)
  • Sous Windows, fournit avec l’option -F winapp une version sous-système (monitor-inputw.exe) qui n’ouvre pas de fenêtre console ; les erreurs sont affichées sous forme de notifications toast
  • En plus de l’exécution en ligne de commande, est aussi exposé sous forme de bibliothèque (as library), appelable directement depuis d’autres codes Rust

8 commentaires

 
yshrust 14 시간 전

J’utilise un Mac Mini et un ordinateur portable Windows avec deux moniteurs DELL.

Le Dell 1 est connecté uniquement au Mac Mini,

et le Dell 2 est connecté à la fois au Mac Mini et au portable Windows.

J’ai installé Dell Display and Peripheral Manager sous Windows et configuré un raccourci clavier (Ctrl + Espace), ce qui me permet, chaque fois que nécessaire, de basculer l’affichage du Dell 2 entre le Mac et Windows.

L’outil présenté a l’air utile lui aussi ; je vais essayer de le mettre en place prochainement !

 

J’utilise un seul moniteur en passant de Windows à Mac et inversement.

Comme le moniteur DELL U4025QW n’a pas de touche directe pour changer de source d’entrée et qu’il faut aller la chercher dans le menu, je me sers de cet outil pour en faire un script.

Dans mon cas, Windows est branché sur dp1, et le Mac sur usbc1.

Sur Mac, j’ajoute donc alias mon='monitor-input 0=dp1' dans .zshrc.

Sur Windows, j’ouvre notepad $PROFILE et j’ajoute la fonction suivante : function mon { monitor-input 0=usbc1 }

Comme ça, il suffit de taper mon dans le shell Windows ou Mac pour basculer l’affichage.

Je l’utilise avec beaucoup de satisfaction, alors je voulais le présenter.

 
newdps 12 시간 전

Oh, je ne savais pas que c’était possible. Merci pour l’astuce !

 
freedomzero 14 시간 전

Waouh, vous avez exactement la même configuration que moi. J’en avais assez d’appuyer à chaque fois sur le bouton physique ; je vais bien m’en servir…

 
daydreamblend 9 시간 전

J’ai un seul moniteur, un seul clavier et une seule souris, mais trois appareils à connecter. J’utilise donc un Raspberry Pi avec un dongle branché dessus, et j’ai ajouté un ESP32 aux autres appareils pour passer par le WiFi. J’ai pas mal galéré pour faire en sorte que le moniteur bascule en même temps que les entrées clavier/souris ; si j’avais connu cet outil plus tôt, ça aurait peut-être été plus simple. Merci pour ce bon article.

 
loblue 13 시간 전

Chez moi, ça ne marche pas sur Ubuntu 24.04... snif..

 

J'ai vu qu'il fallait installer libudev, mais même en le faisant, ça ne marche pas ?

 
loblue 9 시간 전

$ sudo apt install libudev-dev
Le paquet libudev-dev est déjà dans sa version la plus récente (255.4-1ubuntu8.16).
$ sudo apt install librust-udev-dev
Le paquet librust-udev-dev est déjà dans sa version la plus récente (0.8.0-1).
$ monitor-input
Error: No display monitors found for "".
Oui, j’ai bien deux connexions, DP et HDMI, mais il ne les détecte pas.
Je n’avais pas envie de creuser davantage, donc j’ai juste conclu que ça ne marchait pas.