Как изменить привязку горячих клавиш для элементов меню системы математики?

Эта проблема беспокоила меня в течение длительного времени. Как мы знаем, в математике мы можем изменять привязки горячих клавиш через два файла "KeyEventTranslations.tr" и "MenuSetup.tr", но некоторые горячие клавиши, которые по умолчанию привязываются к элементам системного меню (например, в окнах: Alt+F привязывается к меню File, Alt+E привязывается к меню Edit, Alt+I привязывается к меню Insert и т.д.) не отображается в этих файлах. Мой вопрос как настроить такие горячие клавиши? Чтобы я мог назначать действия, которые я использовал чаще с ними.

Я заметил, что в файле "MenuSetup.tr", изменяя положение "&" символ не влияет на привязку горячей клавиши (например, изменение Menu["&File",{...}] на Menu["Fi&le",{...}]).

Любые предложения? Большое вам спасибо!

Ответ 1

AutoHotKey почти наверняка то, что вы хотите. Вы можете определить любые привязки, которые вы хотите, и можете даже создавать макросы. Связывание может быть чувствительным к контексту, поэтому они работают только в определенном приложении. Например, вот AutoHotKey script, который определяет 2 привязки только для Notepad и 1 привязку для всех окон, кроме Notepad.

#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, вам потребуется немного усилий, чтобы написать script. Возможно, вам придется сначала определить привязки в Mathematica, а затем использовать AutoHotKey, чтобы получить нужную привязку, например, для привязки "Action X" к Ctrl-F.