F9-F12 是 Mac OS X 使用的,我不想摆脱它们,我只是希望能够偶尔将 F9-F12 发送到终端内的程序(主要是 F9/F10)。
一些程序mc
支持序列 Escape 9 作为 F9 的同义词等,但它并不通用。
有没有什么办法可以做到呢?
答案1
fn-Cmd-F9 在运行 Mountain Lion 10.8 的 MacBook Pro 上的 Terminal.app 中用作 F9。
答案2
您可以运行 AppleScript(例如将其包装在服务在 Automator 中使用运行 AppleScript行动,与没有输入在终端) 执行以下操作:
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 键的快捷键,请参阅这个答案。
您也可以配置热键/宏应用程序,例如巴特勒cat -v
按下您在停用快捷方式时按下某个 F 键时获得的退出序列。
$ cat -v
^[[20~^[[21~^[[23~^[[24~
这些依次是 F9 到 F12。
在 Butler 中,F9 如下所示:
我按Ctrl-[
、[
、2
、0
来~
输入该序列。在我的键盘布局中,~
是Shift-backtick
,这就是为什么转移修饰符可见。无论如何都可以工作。
配置一个快捷方式,然后您就可以按下它来获取转义序列:
在 中有效mc
,目前我不记得有其他带 F 键的 CLI 程序。但它不是mc
特定的转义序列,因此它可能在其他程序中有效。
或者,许多命令行应用程序理解Esc, 1
(序列)的意思F1
,通过Esc, 0
意思F10
。
答案3
您可以禁用以下键盘快捷键F12:
键盘偏好设置 > 键盘快捷键
答案4
这是我用来获取 CoRD(Mac 远程桌面)的两步过程:
- 系统偏好设置 > 键盘 > 键盘 > 选中“将所有 F1、F2 等键用作标准功能键”
- 系统偏好设置 > 键盘 > 快捷方式 > 取消选中“显示桌面”、“显示仪表板”
第一步就是 @taw 在一条评论中提到的;它使功能键 f1-f10 正常工作。第二步阻止 OSX 拦截 f11 和 f12 键的按下。