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.