Я хочу изменить использование Ctrl в Spacebar для трех команд в игре, но не для всех, потому что я не могу использовать пространство для общения. Обычными командами являются Ctrl + q, Ctrl + w, Ctrl + e, Ctrl + r и Control + RButton (правая кнопка мыши). Прямо сейчас я использую Space :: Ctrl, однако я пробовал разные решения без результата.Комбинации клавиш AutoHotKey (remap) для ключевых модификаторов
[EDIT /]
@MCL Ok. Я посмотрел на тему форума, которую вы опубликовали, и попробовал код, ниже которого была обработана сортировка. Он отправил ключи, как я хотел, но каждый ярлык вызывал все ярлыки, которые следовали за ним. Например, пространство + e запускает пространство + e, пространство + r и пространство.
Кроме того, пробел все еще не работает. Я добавил Space :: Space позже, и я могу получить текстовое пространство только с помощью ярлыков Space + (q, w, e или r).
SendMode Input
SetKeyDelay ,0,30
#IfWinActive ahk_class RiotWindowClass
Space & q::
Send {Ctrl down}
Sleep 30
Send {q down}
Sleep 30
Send {q up}
Sleep 30
Send {Ctrl up}
Space & w::
Send {Ctrl down}
Sleep 30
Send {w down}
Sleep 30
Send {w up}
Sleep 30
Send {Ctrl up}
Space & e::
Send {Ctrl down}
Sleep 30
Send {e down}
Sleep 30
Send {e up}
Sleep 30
Send {Ctrl up}
Space & r::
Send {Ctrl down}
Sleep 30
Send {r down}
Sleep 30
Send {r up}
Sleep 30
Send {Ctrl up}
Space & RButton::
Send {Ctrl down}
Sleep 30
Send {RButton down}
Sleep 30
Send {RButton up}
Sleep 30
Send {Ctrl up}
Space::Space
#IfWinActive
[/ EDIT]
Вы уверены, что AHK отправляет ваши ключи? В противном случае игра может быть вашей проблемой, блокируя симулированные нажатия клавиш (возможно, выборочно). Кроме того, чтобы сохранить исходную функциональность пространства, просто добавьте 'SPACE :: Send, {SPACE}' к вашему коду. Методологически выясните проблему: 1. Зарегистрирует ли AHK ваш ключ? 2. Предоставляет ли AHK ваш ярлык в целом? (Попробуйте это за пределами вашей игры первым!) 3. Получает ли ваше окно AHK симулированные нажатия клавиш? – MCL
Спасибо MCL за ваше время. || Я протестировал следующее только сейчас: Space & q :: Отправить текст - он отправил его в Notepad ++ || Space & q :: Send! Q - Я установил Ctrl + q в качестве ярлыка для Launchy и успешно открыл его. Так что команда Send не работает в игре. Однако Space :: Ctrl работает. Я нажимаю Space + q с этим переназначением, и игра обнаруживает его как Ctrl + q. –
Просто догадайтесь, но попробуйте поиграть со следующими директивами: '# InstallKeybdHook' и' # UseHook' в разных комбинациях (просто поместите их в начало вашего скрипта). Кроме того, узнайте, регистрирует ли AHK ваш keypress (лучше всего, записав что-то в файл). – MCL