Тема: AHK: Как сделать дубли HOTKEYS только из буквенных и цифровых клавиш?
Хочу для удобства работы в Автокаде насоздавать себе дублей (синонимов) хоткеев, которые бы состояли только из букв и цифр, т.е. чтобы не нужно было нажимать ctrl, alt и shift.
При этом нужно:
а) чтобы можно было нажимать клавиши, входящие в хоткей, последовательно ("залипание"), и чтобы действие зависело от последовательности нажатия. Т.е. "з+э+в" и "в+э+з" - разные хоткеи.
б) чтобы можно было создавать хоткеи из двойных и тройных нажатий одной и той же клавиши. Т.е. если 2 раза быстро нажать кнопку "А" это одно действие, а если 3 раза - другое
Т.е. смысл скрипта примерно такой: к примеру, нажимаю я З+Э+В, а автокад воспринимает это как CTRL+SHIFT+F9
Зачем это надо?
Причин несколько:
1) чтобы хоткеи располагались на клавиатуре в удобных для меня местах
2) чтобы хоткей можно было нажать двумя (или даже одним) пальцами одной руки
3) чтобы лучше запомнить ( к примеру нажимаю я хоткей "з+в+э" и по первым буквам понимаю, что это я вызываю команду Запомнить Видовой Экран)
Проблем тут я вижу несколько:
1) нужно чтобы эти сочетания работали только в автокаде. В других программах кнопки должны восприниматься обычным образом
2) как только я нажимаю в автокаде буквенную клавишу - в командной строке автокада начинает набиваться текст. Поэтому чтобы этого не происходило нужно чтобы скрипт полностью блокировал автокаду доступ к клавиатуре до момента пока скрипт не обработает нажатые клавиши
3) как обмануть автокад, заставив его считать, что нажаты не те клавиши, что я реально нажал, а совсем другие. К примеру, я нажал быстро два раза кнопку "У", а автокад должен "думать", что было нажато CTRL+SHIFT+"+"
4) как узнать какие горячие клавиши (хоткеи) уже заняты автокадом, вендой или другим софтом, чтобы когда я буду создавать оригинал хоткеев не использовать уже кем-то занятые (а то к примеру, у меня в firefox отвалился хоткей ctrl+D и я никак не могу вычислить кто его занял)
5) Как отличить двойное или тройное нажатие кнопки от двухкратного, трехкратного? Т.е. как скрипт определит, что нажав два раза "А" я вызвал хоткей, а не просто напечатал АА?