2010-08-10 4 views
17

Я почти никогда не использую функциональные клавиши на моем macbook pro. В основном я использую их только для громкости, яркости и т. Д. Теперь, когда я начал играть в Starcraft 2, я хочу использовать их, не нажимая клавишу fn.Включение/выключение ключей Fn из командной строки на Mac

Я хочу написать небольшой скрипт оболочки, который будет переворачивать флажок «Использовать все клавиши F1, F2 и т. Д. В качестве стандартных функциональных клавиш». Я думал, что могу использовать команду по умолчанию, чтобы изменить ее, но я не был уверен, какие значения использовать. Таким образом, мне не нужно менять настройки каждый раз, когда я хочу играть. Я могу просто запустить скрипт, который переключит ключи и даже запустит игру.

Любые идеи?

+0

Этот вопрос может быть очень старым, но он все еще довольно высок в ранжировании поиска. Для тех, кто найдет это сейчас, есть приложение под названием Palua (http://www.molowa.com/mac-os-x/palua/palua-3-0/), которое переворачивает состояние для вас, в том числе разумно на коммутаторе приложения. Существует также FunctionFlip (http://kevingessner.com/software/functionflip/), который постоянно переворачивает только подмножество ключей. – spikeheap

ответ

3

Команда defaults write -g com.apple.keyboard.fnState, хотя в прошлом у меня были проблемы с ее изменением. В итоге я просто использовал AppleScript. Попробуйте.

defaults write -g com.apple.keyboard.fnState -boolean true 

Редактировать
Разрабатывать, проблемы, которые я имел, что фактическое значение изменяется, но не активно изменять настройки в System Preferences, ни делает пуговицу fnState, так как файл только чтение при загрузке/входе и т. д. Кроме того, внесение изменений в файл конфигурации, открытый другой задачей, является хорошим способом испортить файл.

+0

Насколько я знаю, команда 'defaults' отличается от простого изменения файла. У меня создается впечатление, что он включен в механизм по умолчанию/предпочтения операционной системы, который должен уведомлять о любом приложении, которое это касается. –

+1

Как и объявление, добавленное примечание, я только что проверил это на Mavericks без функционального результата. – Tango

8

AppleScript, который должен сделать трюк - взятый из http://scriptbuilders.net/files/fn1.1.html, с небольшими изменениями

--Check if GUI Scripting is Enabled 
tell application "System Events" 
    if not UI elements enabled then 
     set UI elements enabled to true 
    end if 
end tell 

--Enable/Disable "Use all F1, F2, etc. keys as standard function keys" option in Keyboard & Mouse Preference pane and close System Preferences 
tell application "System Events" 
    tell application "System Preferences" 
     reveal anchor "keyboardTab" of pane "com.apple.preference.keyboard" 
    end tell 
    click checkbox 1 of tab group 1 of window 1 of application process "System Preferences" 
end tell 
if application "System Preferences" is running then 
    tell application "System Preferences" to quit 
end if 

Испытано на MacOS 10.6.4

+0

Этот _technically_ не является решением командной строки, так как он использует AppleScript для доступа к элементам GUI, тем самым оставляя командную строку. –

+1

, если вы действительно этого хотите, вы можете запустить это в командной строке, используя 'osascript << EOF [здесь вставить скрипт] EOF' – user123444555621

+0

Как и в случае добавления объявления, я только что проверил это на Mavericks и получил сообщения об ошибках. Это не будет работать на Маверикс. – Tango

2

Вы можете установить AWSOME Keyremap4Macbook.

В разделе «Настройки системы» -> «Настройки клавиатуры» убедитесь, что «Использовать все клавиши F1, F2 и т. Д. В качестве стандартных функциональных клавиш» отмечен как перкуссия.

  • Open KeyRemap4MacBook предпочтения.
  • Перейдите к опции «Pass Through Mode».
  • Проверьте «Сменить Fn + Escape для переключения» в режим сквозной передачи »'
  • Откройте« Change F1..F19 Key »и установите флажок« Macbook Pro »или« Macbook Air », выбрав правильный тип макроса.
+0

Также можно переключать настройки с помощью чего-то типа 'k =/Applications/KeyRemap4MacBook.app/Contents/Applications/KeyRemap4MacBook_cli.Приложение/Содержание/MacOS/KeyRemap4MacBook_cli; s = remap.functional2fn_2008; $ k изменено | grep -q $ s && $ k отключить $ s || $ k включает $ s'. См. [Tests/lib/string/data/checkbox.xml] (https://raw.github.com/tekezo/KeyRemap4MacBook/master/Tests/lib/string/data/checkbox.xml) для идентификаторов предопределенных настроек , – user495470

 Смежные вопросы

  • Нет связанных вопросов^_^