====== SetHotkeyAction ======
SetHotkeyAction [/V:nnn] [/K:{S|C|A|W}] [params]
Команда привязывает действие к сочетанию клавиш в окне Total Commander.
**Параметры**
|< 100% 15% >|
||Строка с именем внутренней команды Autorun или пользовательской функции. Если не задана, то никакого действия выполняться не будет, а имеющееся действие данного сочетания будет заблокировано.|
||Параметры команды или пользовательской функции (если применимо). Дополнительная информация в примечаниях.|
**Переключатели, задающие основную клавишу**
Переключатель этого типа обязателен и может быть только один (при указании более одного будет применён последний).
|< 100% 15% 10%>|
^Переключатель^Клавиша^Описание^
|/H|A...Z\\ 0...9|Буквенные и цифровые клавиши.|
|:::|F1...F12|Функциональные клавиши.|
|:::|HOME|Home|
|:::|END|End|
|:::|PGUP|Page Up|
|:::|PGDN|Page Down|
|:::|INS|Insert|
|:::|DEL|Delete|
|:::|LEFT|Left Arrow|
|:::|RIGHT|Right Arrow|
|:::|UP|Up Arrow|
|:::|DOWN|Down Arrow|
|:::|ESC|Escape|
|:::|BS|Backspace|
|:::|ENTER|Enter|
|:::|SPACE|Space|
|:::|TAB|Tab|
|:::|PRINTSCREEN|Print Screen|
|:::|SCROLLLOCK|Scroll Lock|
|:::|PAUSE|Pause|
|:::|CAPSLOCK|Caps Lock|
|:::|NUMLOCK|Num Lock|
|:::|NUMPAD0...NUMPAD9|Numpad Digits|
|:::|NUMPADMULT|%%Numpad "*"%%|
|:::|NUMPADADD|%%Numpad "+"%%|
|:::|NUMPADSUB|%%Numpad "-"%%|
|:::|NUMPADDIV|%%Numpad "/"%%|
|:::|NUMPADDOT|%%Numpad "."%%|
|/V|nnn|Клавиша задаётся цифровым значением согласно [[https://docs.microsoft.com/en-us/windows/win32/inputdev/virtual-key-codes|таблице]] (в десятичной системе). Могут быть заданы оставшиеся клавиши, не имеющие своего идентификатора.|
**Переключатели, задающие модификаторы**
|< 100% 15% >|
^Переключатель^Модификатор^Описание^
|/K:|C|Действие производится при нажатом Ctrl.|
|:::|S|Действие производится при нажатом Shift.|
|:::|A|Действие производится при нажатом Alt.|
|:::|W|Действие производится при нажатой Win.|
Модификаторы Ctrl, Shift, Alt, Win могут использоваться в любых комбинациях. Для этого можно задать переключатель несколько раз.
**Переключатели, задающие опции**
|< 100% 15% >|
|/R|Разрешить повтор нажатия клавиш при удержании (по умолчанию выключено).|
|/W|Разрешить работу комбинации клавиш в дочерних окнах Total Commander (по умолчанию только в главном окне).|
**Примеры**
/K:C /K:S /H:N --> Ctrl+Shift+N
/K:W /V:35 --> Win+END
**Примечания**
Основное преимущество данной команды над стандартным функционалом горячих клавиш Total Commander в том, что установленные сочетания также работают из командной строки, а не только в панелях. Также появляется возможность простого вызова меню с помощью [[tweaks_csma_ShowPopupMenu]].
Не все комбинации могут быть привязаны. Например, привязка виртуальных клавиш, отвечающих за кнопки мыши, работать не будет.
При командной записи, если в параметрах вызываемой команды cmd есть вычисляемая строка, то она будет пересчитываться каждый раз при выполнении команды cmd. Напрямую реализовать такую логику в функциональной записи нельзя, поскольку в ней любые выражения в параметрах вычисляются только один раз в момент вызова SetHotkeyAction и не будут пересчитываться при выполнении привязанного действия. Таким образом, чтобы достигнуть результата, аналогичного использованию вычисляемых строк в командной записи, необходимо использовать в качестве команды дополнительную пользовательскую функцию, в которой выполнять требуемое выражение.
Всего можно привязать до 128 сочетаний.