0 votes

AppleScript pour connecter la Magic Mouse sur iMac

Je voudrais écrire un AppleScript qui connectera ma Magic Mouse 2. Fondamentalement, en d'autres termes, j'aimerais un script qui apparaîtra dans "Services" qui ouvre les préférences système, va dans Bluetooth, trouve le périphérique Magic Mouse 2 et connecte ce périphérique. Notez que dans mes périphériques Bluetooth j'ai à la fois une souris Bluetooth 4.0 et une Magic Mouse 2.

J'ai essayé d'utiliser Automator via la commande d'enregistrement, mais le processus ne fonctionne pas bien. Je pense que si j'écrivais un AppleScript pour faire cela, je pourrais le compiler comme une action rapide et me permettre de faire cette action à partir de ma Touch Bar.

J'ai fait des recherches à ce sujet et je ne semble pas trouver de script existant donc je veux essayer d'en écrire un moi-même. Nouveau à la fois sur Mac et AppleScript donc cela prend du temps. J'ai commandé un livre sur AppleScript, mais en attendant je voulais voir si je pouvais obtenir quelques conseils de ce site, qui est très utile.

0 votes

Avez-vous essayé mon script ci-dessous ? Quelques retours seraient utiles.

2voto

OnePablo Points 1

Il semble que vous savez comment créer un Service ou une Quick Action système, et avez juste besoin d'un script pour ouvrir la connexion bluetooth réelle. Testez le script ci-dessous initialement dans Script Editor, ce qui nécessite que tout appareil auquel vous souhaitez vous connecter ait déjà été apparié (il semble que ce soit le cas). Si tout se passe bien, vous pouvez être raisonnablement confiant que cela fonctionnera si vous le transplantez dans un flux de travail Automator (après vous être débarrassé de tout code exemple qui apparaît, c'est-à-dire on run {input, parameters} etc.)

use framework "Foundation"
use framework "IOBluetooth"

property this : a reference to the current application
property nil : a reference to missing value
property _1 : a reference to reference

property IOBluetoothDevice : a reference to IOBluetoothDevice of this
property NSPredicate : a reference to NSPredicate of this

property pairedDevices : a reference to IOBluetoothDevice's pairedDevices
property text item delimiters : linefeed & tab & "- "

to deviceWithName(name as text)
    local name
    NSPredicate's predicateWithFormat:"name==[c]%@" argumentArray:[name]
    tell filteredArrayUsingPredicate_(result) of pairedDevices
        if |count|() > 0 then return its firstObject()
        error {"Aucun appareil portant ce nom. Appareils disponibles :", ¬
            getDeviceNames() of me} as text
    end tell
end deviceWithName

to getDeviceNames()
    (pairedDevices's valueForKey:"name") as list
end getDeviceNames

try
    if deviceWithName("Magic Mouse 2")'s openConnection() != 0 ¬
        then error "Impossible d'ouvrir la connexion."
on error E
    return E
end try

true

NB. Ce script a seulement été testé dans High Sierra

Je crains que les messages d'erreur ne soient pas particulièrement informatifs si quelque chose ne fonctionne pas comme prévu. Mais, si l'appareil peut se connecter, le script devrait pouvoir le gérer. S'il échoue à se connecter, testez si vous êtes capable d'établir une connexion manuellement.

0 votes

@FelixBöhme Merci d'avoir été assez gracieux pour signaler cela. C'est vraiment utile de le savoir. (Je n'utilise pas encore BS).

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X