这个问题困扰了我很长时间。我们知道,在mathematica中我们可以通过两个文件“KeyEventTranslations.tr”和“MenuSetup.tr”来修改热键绑定,但是一些默认绑定到系统菜单项的热键(例如,在Windows中:Alt+F
绑定到File
菜单,Alt+E
绑定到Edit
菜单,Alt+I
绑定到Insert
菜单等。)不要出现在这些文件中。 我的问题是如何自定义这些热键?这样我就可以将更频繁使用的动作分配给他们。
我注意到在“MenuSetup.tr”文件中,改变了'&'的位置符号不会影响热键绑定(例如,将Menu["&File",{...}]
更改为Menu["Fi&le",{...}]
)。
有什么建议吗?非常感谢你!
答案 0 :(得分:1)
AutoHotKey几乎可以肯定你想要的东西。您可以定义所需的任何绑定,甚至可以创建宏。绑定可以是上下文敏感的,因此它们仅在特定应用程序中工作。例如,这是一个AutoHotKey脚本,它仅为记事本定义2个绑定,为除记事本外的所有窗口定义1个绑定。
#IfWinActive, ahk_class Notepad
^a::MsgBox You pressed Ctrl-A while Notepad is active. Pressing Ctrl-A in any other window will pass the Ctrl-A keystroke to that window.
#c::MsgBox You pressed Win-C while Notepad is active.
#IfWinActive
#c::MsgBox You pressed Win-C while any window except Notepad is active.
我不确定您要绑定哪些操作,但如果它们是Mathematica特定的,那么编写脚本需要花费一些精力。您可能必须先在Mathematica中定义绑定,然后使用AutoHotKey获取所需的实际绑定,例如将“Action X”绑定到Ctrl-F。