Тема: AHK: Назначение комбинаций клавишам нампада.
Уважаемое сообщество.
Нет ли тут скрипта, который бы контролировал активное окно и в зависимости от него назначал клавишам нампада хоткеи или текстовые команды (например для Autocad).
Если нет, прошу помощи в реализации.
1. Запуск - выгрузка (включение-отключение) скрипта по F11 или F12.
2. После запуска появляется (или «зажигается) иконка в трее. Программа мониторит активное окно и в зависимости от него по разному обрабатывает нажатия клавиш нампада.
3. При обнаружении отслеживаемого окна секунд на 5 в трее появляется всплывающая подсказка по хоткеям для данной программы.
4. Возможность простого добавления в скрипт любых назначений любых программ путём вставки соответствующего блока для оператора, аналогичного case в Паскале.
Пока понял только про назначения. К сожалению в школе учил паскаль, поэтому сишный скобочный синтаксис воспринимаю тяжело.
Пока канва вырисовывается следующая
Как запускать и отключать по F12? Очевидно через хуки
#SingleInstance, Force
#NoEnv
SetTitleMatchMode, 2xxxHelp :=
(LTrim Join`n
"Назначение клавиш нампада
1 —
2 —
3 —
4 —
5 —
6 —
7 —
8 —
9 —
+ —
- —
*
Enter —
Ins —"
)yyyHelp :=
(LTrim Join`n
"Назначение клавиш нампада
1 —
2 —
3 —
4 —
5 —
6 —
7 —
8 —
9 —
+ —
- —
*
Enter —
Ins —"
)ACADHelp :=
(LTrim Join`n
"Назначение клавиш нампада
1 —
2 —
3 —
4 —
5 —
6 —
7 —
8 —
9 —
+ —
- —
*
Enter —
Ins —"
)цикл контроля активного окна?
WinGetActiveTitle, Title ; получаем название текущего окна и переназначаем клавиши
Если (как сделать сравнение несколькими вариантами)
#IfWinActive ahk_class XXX.exe
тут надо на 4-5 секунд всплывающая подсказка в трее. CTRL-H и мессаджбокс нежелательно, чтобы не перехватывать комбинации из оригинального софта
NumpadIns::^DOWN
Numpad0::^DOWN
NumpadEnd::^!DOWN
Numpad1::^!DOWN
NumpadDown::^J
Numpad2::^J
NumpadPgDn::^I
Numpad3::^I
NumpadLeft::
Numpad4::^!S
NumpadClear::^!T
Numpad5::^!T
NumpadRight::^!R
Numpad6::^!R
NumpadHome::
Numpad7::
NumpadUp::^F
Numpad8::^F
NumpadPgUp::^H
Numpad9::^H
NumpadAdd::^C
NumpadSub::^V
NumpadMult::^A#IfWinActive ahk_class YYY.exe
тут надо на 4-5 секунд всплывающая подсказка в трее
NumpadIns::
Numpad0::
NumpadEnd::
Numpad1::
NumpadDown::
Numpad2::
NumpadPgDn::
Numpad3::
NumpadLeft::
Numpad4::
NumpadClear::
Numpad5::
NumpadRight::
Numpad6::
NumpadHome::
Numpad7::
NumpadUp::
Numpad8::
NumpadPgUp::
Numpad9::
NumpadAdd::^C
NumpadSub::^V
NumpadMult::^A#IfWinActive ahk_class ACAD.exe
тут надо на 4-5 секунд всплывающая подсказка в трееNumpadIns::
Numpad0::
NumpadEnd::
Numpad1:: (КАК ПЕРЕДАТЬ ТЕКСТОВУЮ КОМАНДУ LINE/ЛИНИЯ?)
NumpadDown::
Numpad2::
NumpadPgDn::
Numpad3::
NumpadLeft::
Numpad4::
NumpadClear::
Numpad5::
NumpadRight::
Numpad6::
NumpadHome::
Numpad7::
NumpadUp::; (КАК ПЕРЕДАТЬ ТЕКСТОВУЮ КОМАНДУ FIND/НАЙТИ?)
Numpad8::
NumpadPgUp::
Numpad9::
NumpadAdd::
NumpadSub::
NumpadMult::return
Буду благодарен за любые идеи и подсказки или наводку на уже существующее решение, требующее только допиливания под конкретные нужды...
Исправлять буду прямо тут, чтобы когда получится готовый скрипт он был доступен для всех в самом первом посте.

