9

F9-F12 используются Mac OS X, и я не хочу от них избавляться, я просто хочу периодически отправлять F9-F12 программам внутри терминала (в основном F9/F10).

Некоторые программы, такие как mc поддерживают последовательность Escape 9 как синоним F9 и т.д., Но она не универсальна.

Есть ли способ сделать это?

5 ответов5

8

fn-Cmd-F9 работает как F9 в Terminal.app на моем MacBook Pro под управлением Mountain Lion 10.8.

5

Вы можете запустить AppleScript (например, обернув его в Службу в Automator с помощью действия « Запустить AppleScript без ввода в Terminal»), который выполняет следующее:

tell application "System Events" 
    tell expose preferences to set the properties of the all windows shortcut to {function key:F1}
    key code 101 # press F9
    tell expose preferences to set the properties of the all windows shortcut to {function key:F9}
end tell

Это временно назначит другой ярлык тому, что привязано к F9, нажмите F9 и отмените настройку. Имена параметров следующие для других настроек Expose:

all windows shortcut
application windows shortcut
show desktop shortcut
dashboard shortcut 

Коды клавиш для F9-F12 следующие:

F9 101
F10 109
F11 103
F12 111

Вы можете назначить сочетания клавиш службам в Системных настройках »Клавиатура» Сочетания клавиш »Службы. Вам нужно будет изучить другое сочетание клавиш (например, Command-F9), но, по крайней мере, вы можете нажать клавишу для запуска действия. Сочетания клавиш с использованием F-клавиш см. В последнем абзаце этого ответа.


В качестве альтернативы вы можете настроить приложение горячих клавиш / макросов, такое как Butler, для нажатия escape-последовательности, которую вы получаете от cat -v когда нажимаете одну из F-клавиш, когда вы деактивируете ярлыки.

$ cat -v
^[[20~^[[21~^[[23~^[[24~

Это от F9 до F12, по порядку.

В Батлере это выглядит так для F9:

Я нажал Ctrl-[ , [ , 2 , 0 , ~ для этой последовательности. На моей раскладке клавиатуры ~ это Shift-backtick , поэтому виден модификатор Shift . Работает в любом случае.

Настройте ярлык, и вы можете нажать его, чтобы получить escape-последовательность:

Работает в mc , и я не помню другой CLI-программы с F-клавишами в данный момент. Но это не специфическая escape-последовательность mc , поэтому она, вероятно, будет работать в других.


В качестве альтернативы, многие приложения командной строки понимают Esc, 1 (последовательность) означает F1 , через Esc, 0 означает F10 .

2

Вы можете отключить сочетание клавиш для F12 в разделе:

настройки клавиатуры> сочетания клавиш

0

Это двухэтапный процесс, который я использовал, чтобы получить CoRD (Remote Desktop для Mac):

  1. Системные настройки> Клавиатура> Клавиатура> Отметьте «Использовать все клавиши F1, F2 и т.д. Как стандартные функциональные клавиши»
  2. Системные настройки> Клавиатура> Сочетания клавиш> Снимите флажок "Показать рабочий стол", "Показать панель управления"

Первый шаг - это то, о чем @taw говорит в одном из комментариев; он получает функциональные клавиши f1-f10. Второй шаг останавливает нажатие клавиш f11 и f12 от перехвата OSX.

0

Я добавлю, что если вы находитесь на ноутбуке, вы на самом деле не используете F9-F12, вы нажимаете "следующая песня", "отключение звука", "уменьшение громкости" (пример из недавнего macbookpro). Чтобы фактически нажать F9-F12, удерживайте клавишу "Fn", используя ту же клавишу.

На рабочем столе, если у вас есть такие вещи, как Exposé, Spaces и т.д., Сопоставленные с фактическими клавишами клавиатуры F9-F12, я считаю полезным связать эти функции с дополнительными кнопками мыши (например, Я использую «пару боковых кнопок» Mighty Mouse, чтобы активировать Exposé) или края экрана (например, У меня есть «экранный режим ожидания» в левом верхнем углу) - но это на самом деле субъективный вопрос.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .