如何将F9-F12发送到在Terminal.app中运行的curses程序?


10

F9-F12由Mac OS X使用,我不想摆脱它们,我只是希望能够偶尔将F9-F12发送到终端(主要是F9 / F10)中的程序。

一些程序,例如mc支持序列Escape 9作为F9的同义词,等等,但这不是通用的。

有什么办法吗?

Answers:


9

fn-Cmd-F9在运行Mountain Lion 10.8的MacBook Pro上的Terminal.app中充当F9。


在运行Mavericks的MacBook Air上,它是fn-Option-Fkey,而不是fn-Command-Fkey。
马克·里德

在运行优胜美地的MacBook Pro上,fn-Cmd-F9有效;fn-Opt-F9仅插入代字号。(我正在emacs中使用它。)
2015年

5

您可以运行一个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键的快捷方式,请参见此答案的最后一段。


您也可以配置诸如Butler之类的热键/宏应用程序,以按cat -v退出快捷键时按F键之一时获得的转义序列。

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

依次为F9至F12。

在Butler中,F9看起来像这样:

在此处输入图片说明

我按下Ctrl-[[20~该序列。在我的键盘布局上~Shift-backtick,这就是Shift修饰符可见的原因。无论如何都可以。

配置快捷方式,您可以开始按该快捷方式以获取转义序列:

在此处输入图片说明

可在中运行mc,目前我不记得使用F键的另一个CLI程序。但这不是mc特定的转义序列,因此它可能会在其他代码中起作用。


或者,许多命令行应用程序理解Esc, 1(顺序)是指意思F1,一直到Esc, 0意思F10


啊,早上好,大锤太太!让我高兴地向您介绍Nut先生...
Robino

2

您可以在以下情况F12下禁用键盘快捷键:

键盘偏好设置>键盘快捷键


就我自己而言,这还不够,但这是正确的。
罗宾诺

0

我要补充一点,如果您使用的是笔记本电脑,则实际上并没有使用F9-F12,而是按了“下一首”,“音频静音”,“调低音量”(例如,最近的macbookpro)。要实际按F9-F12,请在使用同一键的同时按住“ Fn”。

在桌面上,如果您将诸如Exposé,Spaces之类的东西映射到实际的F9-F12键盘按键,我发现将这些功能与其他鼠标按钮关联起来很有用(例如,我使用了“横向按钮对” (使用强大的鼠标激活Exposé)或屏幕边缘(例如,我在左上角有“屏幕待机”)-但这实际上是一个主观问题。


1
关闭这些东西是我在每台新Mac上要做的第一件事。公开等。F9始终是F9,从不下一首歌。
taw

0

这是我用来获取CoRD(Mac远程桌面)的两步过程:

  1. 系统偏好设置>键盘>键盘>选中“将所有F1,F2等键用作标准功能键”
  2. 系统偏好设置>键盘>快捷方式>取消选中“显示桌面”,“显示仪表板”

第一步是@taw在其中一个评论中讨论的内容;它使功能键f1-f10起作用。第二步停止f11和f12的按键被OSX拦截。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.