Я хочу сопоставить горизонтальную прокрутку со следующим/предыдущим оружием в игре, но игра не распознает горизонтальную прокрутку как настраиваемую клавишу. Поэтому я хочу сопоставить горизонтальную прокрутку с некоторыми случайными клавишами клавиатуры, чтобы затем сопоставить ее с чем-то полезным внутри игры.
Могу ли я это сделать? Программное обеспечение "Logitech Options" довольно ограничено. Единственная настройка, которая работает, это "Foward/Back", но тогда я не могу использовать эти две клавиши для чего-то другого.
решение1
Чтобы назначить колесико прокрутки на нажатие кнопки клавиатуры, вам необходимо использовать дополнительное программное обеспечение.
Как переназначить кнопки на Logitech MX Master с помощью autohotkey
Если вы используетеАвтохоткейты можешьпереназначитькнопки по вашему желанию.
Простой способ переназначить колесо прокрутки на Logitech MX Master выглядит примерно так:
WheelRight::1
WheelLeft::2
Для этого необходимо установить колесико прокрутки на «Горизонтальную прокрутку» в программном обеспечении Logitech Options. В этом случае прокрутка колесиком вверх введет число, 2
а прокрутка вниз введет 1
. Теперь вы переназначили колесико прокрутки кнопкам клавиатуры.
Почему я бы не стал использовать колесо прокрутки для переключения оружия в игре
Тем не менее, я бы не советовал этого делать, поскольку колесо прокрутки на MX Master имеет только "свободное вращение" в отличие от классического "режима храповика", который есть у обычного колеса прокрутки. Использование скрипта выше приведет к тому, что переназначенные кнопки будут срабатывать несколько раз, даже если вы просто слегка прокрутите колесо прокрутки.
Другими словами, вы легко получите такой результат:
2222222222222222222
111111111111111111111111111
Не очень подходит для смены оружия в компьютерной игре.
Обходной путь
Обходным решением было бы ограничить ввод с помощью колесика прокрутки. Пример:
#HotkeyInterval 1000
#MaxHotkeysPerInterval 210
WheelRight::
if (A_PriorHotkey != A_ThisHotkey or A_TimeSincePriorHotkey > 200)
Send {1}
return
WheelLeft::
if (A_PriorHotkey != A_ThisHotkey or A_TimeSincePriorHotkey > 200)
Send {2}
return