fnキーを切り替えるスクリプト(タッチバー付き)


1

FnmacOS High Sierraを使用して、タッチバーでキーとアプリコントロールを切り替えるスクリプトを作成しようとしています。できると言っているアプリはいくつかありますが、Touchbarで動作するアプリはありません。だから私は今、システム環境設定、キーボード設定を開き、タッチバー設定を切り替えるスクリプトを書き込もうとしています。これまでのところ、「暗闇でキーボードの明るさを調整する」を切り替えるコードがあります。タッチバーのドロップダウンメニューからオプションを選択するために調整する必要があります。

tell application "System Preferences"
    activate
    set the current pane to pane id "com.apple.preference.keyboard"
    reveal anchor "keyboardTab" of pane id "com.apple.preference.keyboard"
end tell

tell application "System Events" to tell process "System Preferences"
    click checkbox 1 of tab group 1 of window 1
end tell

quit application "System Preferences"

ここに画像の説明を入力してください

回答:


1

「UIエレメント」コマンドを使用して、スクリプトを作成しようとしているアプリケーションのUIインターフェースのコンポーネントを確認できます。

tell application "System Events"
    tell application process "System Preferences"
        get the UI elements of the window "Keyboard"
    end tell
end tell

リストをドリルダウンして、必要なアイテムがどこにあるかを見つけることができます

tell application "System Events"
    tell application process "System Preferences"
        get the UI elements of tab group 1 of window "Keyboard"
    end tell
end tell

実際にAccessibility Inspectorアプリ(Xcodeの一部)を使用すると、検査する要素を特定するのに役立ちます。

私たちの目的では、関心のあるポップアップは、ウィンドウ「キーボード」のタブグループ1のポップアップボタン2のように見えます。

ポップアップであるため、メニューを操作するには、クリックしてから、アクティブにするアイテムを選択する必要があります。これは、クリックするメニュー項目のラベル全体を指定することで実行できます。選択を切り替えるために必要なキーストロークをシミュレートすることをお勧めします(上向き矢印または下向き矢印、そして戻る)。

tell application "System Preferences"
    -- activate
    reveal anchor "keyboardTab" of pane id "com.apple.preference.keyboard"
end tell

delay 0.5 -- this depends on how fast is your mac

tell application "System Events"
    tell application process "System Preferences"
        set thePopup to pop up button 2 of tab group 1 of window "Keyboard"

        tell thePopup
            click
            delay 0.2

            if the value of thePopup begins with "App" or the value of thePopup begins with "Expanded" then
                key code {125, 125, 125, 36}
            else
                key code {126, 36}
            end if

        end tell

    end tell
end tell

quit application "System Preferences"

ところで、別の質問で、システム環境設定アプリをアクティブにしないと、スクリプトは機能しますが、ウィンドウは表示されないことに気づきました(ただし、ポップアップメニューは切り替えられます)


0

私はテストする立場にありませんが、次のAppleScript コードの は私がそれを書く方法です。

  • で、正しい番号にclick pop up button n変更nします。
    • 例: click pop up button 2
  • で、正しい番号click menu item nに変更nするか、メニュー項目のを 使用しますname
    • 例:click menu item 1またはclick menu item "F1, F2, etc. Keys"
    • この例で1はテストできないため、表示されているものとは異なる場合があることに注意してくださいname

両方のコマンドで正しいを決定し、必要に応じて置き換えます。nclick


AppleScript コードの

tell application "System Preferences"
    reveal anchor "keyboardTab" of pane id "com.apple.preference.keyboard"
    activate
    delay 1
    tell application "System Events"
        tell tab group 1 of window 1 of application process "System Preferences"
            click pop up button n
            delay 0.2
            click menu item n
            delay 0.2
        end tell
    end tell
    quit
end tell

注意: のAppleScript コードはまさにそれとどの使用しないでエラー処理をし、唯一のタスクを達成する多くの方法のいずれかを表示するように意図されています。責任は、ユーザーが必要に応じて/必要に応じて適切なエラー処理を追加/使用することです。

また、コマンドをシステムに合わせて調整する必要がある場合や、追加のコマンドが必要な場合と必要でない場合があることに注意してください。これらのコマンドは、複数の要因に応じて必要な場合と必要な場合の例としてここに含まれていますdelay delay delay

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.