[apple] 애플 스크립트를 실행하기위한 외부 블루투스 스위치를 찾고 있습니다.

앱 열기 / 스크립트 실행과 같이 특정 작업을 수행하도록 프로그래밍 할 수있는 외부 블루투스 버튼 / 스위치를 찾고 있습니다. 그런 것이 있습니까? 충분할 수있는 특정 일을 1 개만 할 수 있다고해도.



답변

정확히 당신이 찾고있는 것이 아니라 장치가 연결되면 무언가를 할 스크립트가 있습니다.

자동으로 연결된 스피커 (또는 다른 Bluetooth 장치)가있는 경우 켜기 / 끄기 단추를 스위치로 사용할 수 있습니다.

SOChristian Stevenson 에게 신용 .

repeat
    set statusOld to checkStatus()
    set statusNew to checkStatus()
    repeat while statusOld is equal to statusNew
        delay 1 --for 1 second checks
        set statusNew to checkStatus()
    end repeat
    if statusNew is true then
        display dialog "Device Added - put some real code here"
    else
        display dialog "Device Removed - put some real code here"
    end if
end repeat

on checkStatus()

    (*Delete the 2 lines below when done testing*)
    --set myString to button returned of (display dialog "Connected?" buttons {"Yes", "No"})
    --set myString to "name: DR-BT101 Connected: " & myString

    (*uncomment line below when done testing*)
    set myString to do shell script "system_profiler SPBluetoothDataType"

    --initial check if it's not even there
    if myString does not contain "[Device Name]" then
        return false
    else

        --find out if connected/disconnected
        set AppleScript's text item delimiters to "name:"
        set myList to the text items of myString --each item of mylist is now one of the devices

        set numberOfDevices to count of myList
        set counter to 1
        repeat numberOfDevices times --loop through each devices checking for Connected string
            if item counter of myList contains "Christian’s AirPods" then
                if item counter of myList contains "Connected: Yes" then
                    return true
                else if item counter of myList contains "Connected: No" then
                    return false
                else
                    display dialog "Error Parsing" --this shouldn't happen
                end if
            end if
            set counter to counter + 1
        end repeat
    end if
end checkStatus


답변