J'ai fait des recherches sur le même problème aujourd'hui et j'ai trouvé une solution au problème de la commutation à distance.
Émulateur de clavier Apple permettant de commuter à distance le mode d'affichage cible d'un iMac sans clavier physiquement connecté Problème Ce dont vous avez besoin
Étape 1 :
Télécharger et installer l'IDE Arduino (j'ai fait cela avec la version 1.8.12)
Étape 2 :
Modifier la description de la carte Arduino Leonardo en /Applications/Arduino.app/Contents/Java/hardware/arduino/avr/boards.txt
dans le paquet d'applications Arduino IDE pour inclure le descripteur USB nécessaire pour correspondre à ce qui suit :
leonardo.name=Arduino Leonardo
leonardo.vid.0=0x2341
leonardo.pid.0=0x0036
leonardo.vid.1=0x2341
leonardo.pid.1=0x8036
leonardo.vid.2=0x2A03
leonardo.pid.2=0x0036
leonardo.vid.3=0x2A03
leonardo.pid.3=0x8036
leonardo.upload.tool=avrdude
leonardo.upload.protocol=avr109
leonardo.upload.maximum_size=28672
leonardo.upload.maximum_data_size=2560
leonardo.upload.speed=57600
leonardo.upload.disable_flushing=true
leonardo.upload.use_1200bps_touch=true
leonardo.upload.wait_for_upload_port=true
leonardo.bootloader.tool=avrdude
leonardo.bootloader.low_fuses=0xff
leonardo.bootloader.high_fuses=0xd8
leonardo.bootloader.extended_fuses=0xcb
leonardo.bootloader.file=caterina/Caterina-Leonardo.hex
leonardo.bootloader.unlock_bits=0x3F
leonardo.bootloader.lock_bits=0x2F
leonardo.build.mcu=atmega32u4
leonardo.build.f_cpu=16000000L
leonardo.build.vid=0x05ac
leonardo.build.pid=0x0221
leonardo.build.usb_product="Apple Keyboard"
leonardo.build.usb_manufacturer="Apple Computer, Inc."
leonardo.build.board=AVR_LEONARDO
leonardo.build.core=arduino
leonardo.build.variant=leonardo
leonardo.build.extra_flags={build.usb_flags}
Étape 3 :
Démarrez/redémarrez l'IDE Arduino, ouvrez un exemple de sketch pour la bibliothèque de claviers (j'ai utilisé le fichier Keyboard Message Send
exemple). Branchez la carte compatible Arduino Leonardo et téléchargez le sketch. Branchez l'Arduino sur l'iMac à utiliser en mode d'affichage cible.
Étape 4 :
Créer un script (ici je l'ai nommé switchTDM.sh
) pour envoyer le CMD+F2
commande clavier indiquant à l'iMac d'activer ou de désactiver le mode d'affichage cible. Placez ce script dans le répertoire utilisateur ( /users/<USERNAME>
).
#!/bin/sh
# switchTDM.sh script
osascript -e 'tell application "System Events" to key code 144 using command down'
echo 'Sent TDM switch signal.'
Modifier le script pour qu'il soit exécutable :
chmod +x switchTDM.sh
Étape 5 :
Activez l'accès SSH à l'iMac TDM en activant "Connexion à distance" dans les options de partage des Préférences Système. Et testez si vous pouvez vous connecter à partir d'une machine distante en utilisant :
ssh <USERNAME>:<PASSWORD>@<IP or hostname of iMac>
Étape 6 :
Liez l'appel au script distant à un raccourci clavier. J'utilise BetterTouchTool : Ajouter un nouveau raccourci clavier et exécuter la commande suivante dans le terminal :
ssh <USERNAME>:<PASSWORD>@<IP or hostname of iMac> ~/switchTDM.sh
C'est ça.
Utilisez le raccourci clavier que vous avez défini pour activer et désactiver le mode d'affichage cible de votre iMac.