Я использую MacBook Air под управлением Sierra.
Мне нравится использовать разные настройки мыши с сенсорной панелью и USB-мышью. Чтобы облегчить это, каждый раз, когда я подключаю мышь, мне нужно переходить System Preferences
и изменять настройки мыши (обратное направление прокрутки и регулировка чувствительности). Есть ли способ, с помощью которого я могу автоматизировать это изменение (возможно, с помощью автомата) в настройках, чтобы оно происходило автоматически каждый раз, когда я подключаю USB-мышь?
В 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 . Я не использовал его раньше, просто знаю, что он существует.