Тема: AHK: отвязка дефолтных клавиш в компьютерных играх
Всем привет! Наверное, многие играли в компьютерные игры и знают, что в них (иногда) предоставляется возможность настроить управление. Которая заключается в том, что игроку предоставляют возможность выбрать клавиши, которые будут назначены на определенные действия в игре. Будут, так сказать, привязаны к этим действиям. А действия будут привязаны к клавишам. По-английски это называется bind (или binding - привязывание, привязка, иногда еще говорят bound, означает то же самое).
Однако в некоторых случаях оказывается, что я не могу назначить на данное действие нужную мне кнопку. Скажем, я хочу привязать кнопку мыши к данному действию. А игра позволяет привязать к нему только кнопки клавиатуры. Короче, выбирать можно только из кнопок клавиатуры.
В этих случаях очень полезным оказывается использование AHK: очень уж он выручает в таких случаях. Скажем, в игре я назначаю на данное действие некоторую кнопку клавиатуры (часто - произвольную). А затем в AHK пишу скрипт, чтобы нажатие кнопки мыши перенаправлялось именно на эту кнопку.
Например, очень часто управление движением в играх назначается на wasd. Поменять его возможно, но только на другие клавиши клавиатуры. А мне нравится движение вперед делать по правой кнопке мыши. Тогда мне достаточно оставить привязку клавиши w к этому действию, как есть, т.е. по дефолту или по умолчанию. А в скрипте AHK нажатие правой кнопки мыши переназначить на w.
Однако очень часто так бывает, что невозможность переназначить кнопку мыши вовсе не случайна, а вызвана тем, что к ней по умолчанию и так уже что-то привязано, какое-то действие, причем, эту связь разорвать невозможно: игра не предоставляет такой возможности. Соответственно, если запустить скрипт, он, конечно, будет работать, "нажимая" на w, но то второе действие, которое привязано к мыши по умолчанию, также будет выполняться.
Возникает задача как-нибудь разорвать эту связь. В некоторых случаях эта задача решается, в других - нет. Всё зависит от игры, и решение если и существует, то ad hoc. Хотелось бы найти какое-нибудь общее решение. И мне интересно, можно ли решить эту задачу с помощью AHK. Я имею в виду, binding эта программа делать позволяет. А сможет ли она сделать unbinding, т.е. решить обратную задачу?
В интернете на эту тему практически ничего не нашлось. На сайте autohotkey.com кто-то задавал такой вопрос. Но вопрошающий не смог толком объяснить, чего он хочет. А отвечающий не понял вопроса.
Unbind a key?