Автоматизировать изменение настроек при подключении мыши

Я использую MacBook Air под управлением Sierra.

Мне нравится использовать разные настройки мыши с сенсорной панелью и USB-мышью. Чтобы облегчить это, каждый раз, когда я подключаю мышь, мне нужно переходить System Preferencesи изменять настройки мыши (обратное направление прокрутки и регулировка чувствительности). Есть ли способ, с помощью которого я могу автоматизировать это изменение (возможно, с помощью автомата) в настройках, чтобы оно происходило автоматически каждый раз, когда я подключаю USB-мышь?

Ответы (1)

В macOS Sierra , если у вас есть только обычная USB-мышь , а не та, которая поставляется с собственным программным обеспечением и является многофункциональной с дополнительными кнопками и т. д., то в Системных настройках > Мышь у вас есть следующие настройки, которые можно изменить:

  • Направление прокрутки: естественный флажок
  • Ползунок скорости отслеживания
  • Ползунок скорости прокрутки
  • Ползунок скорости двойного щелчка

И две дополнительные настройки в разделе «Мышь» , которые не будут учитываться по двум причинам : основная кнопка мыши: радиокнопки , если она отличается от значения по умолчанию Left , по всей вероятности, уже установлена ​​и не обязательно будет меняться, потому что кто-то хочет изменить Направление прокрутки: естественный флажок , и, поскольку в ОП указана USB-мышь , я предполагаю, что она не использует Bluetooth и может игнорировать кнопку «Настройка Bluetooth-мыши... ».

В этом ответе AppleScript будет использоваться для получения параметров «до» и « после» для значения вышеупомянутых перечисленных ползунков , которые будут использоваться в коде AppleScript , который следует после этого кода .

Откройте редактор сценариев и создайте новый документ, затем добавьте следующий код :

tell application "System Preferences"
    set current pane to pane id "com.apple.preference.mouse"
    --delay 0.5 -- # If necessary, uncomment 'delay' command and set its value in seconds and or decimal fractions there of.
    tell application "System Events"
        log "Scrolling speed is set to: " & value in (get properties of slider 1 of front window of application process "System Preferences")
        log "Double-Click speed is set to: " & value in (get properties of slider 2 of front window of application process "System Preferences")
        log "Tracking speed is set to: " & value in (get properties of slider 3 of front window of application process "System Preferences")
    end tell
end tell

Будет два различных состояния направления прокрутки: естественный флажок в «Системных настройках» > «Мышь» , отмеченный и снятый , и изменение настроек ползунка между двумя состояниями .

Приведенный выше код будет запущен один раз, чтобы получить текущие настройки ползунков . Затем внесите необходимые изменения в настройки ползунков для состояния , противоположного тому, которое было, когда вы собрали значения первых настроек для первого состояния . Затем снова запустите код , чтобы получить дифференциальные настройки.

Затем вы вставите значения , собранные выше, в приведенный ниже код . Вы можете закомментировать или удалить любой ползунок , который не будет изменен с помощью приведенного ниже кода .

Комментарии в приведенном ниже коде должны быть адекватными, однако не стесняйтесь спрашивать, если вам нужно что-то объяснить .

Я сохранил следующий код AppleScript в редакторе сценариев как приложение с именем Toggle Mouse Settings в папке «Приложения» .

При запуске он переключает состояние флажка «Направление прокрутки: естественно » между отмеченным и неотмеченным вместе с настройками ползунка под каждым состоянием .

Код AppleScript для приложения «Переключить настройки мыши »:

on run
    try
        tell application "System Preferences"
            set current pane to pane id "com.apple.preference.mouse"
            -- delay 0.5    -- # If necessary, uncomment 'delay' command and set its value in seconds and or decimal fractions there of.
            tell application "System Events"
                set isChecked to get value of checkbox 1 of front window of application process "System Preferences" as boolean
                if isChecked then
                    --  # The 'Scroll direction: Natural' checkbox is checked, uncheck it.
                    set cbValue to value of (click checkbox 1 of front window of application process "System Preferences") as boolean
                    --  # Scrolling Speed - Valid Values: 0.0 to 8.0
                    set value of slider 1 of front window of application process "System Preferences" to 6.0
                    --  # Double-Click Speed - Valid Values: 0.0 to 10.0
                    set value of slider 2 of front window of application process "System Preferences" to 8.0
                    --  # Tracking Speed - Valid Values: 0.0 to 9.0
                    set value of slider 3 of front window of application process "System Preferences" to 6.0
                else
                    --  # The 'Scroll direction: Natural' checkbox is not checked, check it.
                    set cbValue to value of (click checkbox 1 of front window of application process "System Preferences") as boolean
                    --  # Scrolling Speed - Valid Values: 0.0 to 8.0
                    set value of slider 1 of front window of application process "System Preferences" to 4.5
                    --  # Double-Click Speed - Valid Values: 0.0 to 10.0
                    set value of slider 2 of front window of application process "System Preferences" to 8.0
                    --  # Tracking Speed - Valid Values: 0.0 to 9.0
                    set value of slider 3 of front window of application process "System Preferences" to 4.0
                end if
            end tell
            tell me
                if cbValue then
                    display notification "Natural scrolling is now active." with title (name of me)
                else
                    display notification "Natural scrolling is no longer active." with title (name of me)
                end if
            end tell
            quit
        end tell
    on error eStr number eNum
        activate
        display dialog eStr & " number " & eNum buttons {"OK"} default button 1 with title "Toggle Mouse Settings" with icon caution
        tell application "System Preferences" to quit
        return
    end try
end run

Примечание. Перед запуском приложения «Переключить настройки мыши» его необходимо добавить в « Системные настройки » > «Безопасность и конфиденциальность» > «Конфиденциальность» > «Специальные возможности» .


Существует приложение под названием EventScripts , которое можно использовать для запуска при подключении и/или удалении USB-устройства. Я не использовал его раньше, просто знаю, что он существует.

Также есть приложение Scroll Reverser . Я не использовал его раньше, просто знаю, что он существует.