Используя AutoHotkey, я пытаюсь переназначить функциональные клавиши на их вторичную функцию по умолчанию и по умолчанию в качестве вторичной

815
MadHarold

Я пытаюсь переназначить функциональные клавиши на их вторичную функцию в качестве гайки по умолчанию, с которой я сталкиваюсь в нескольких изданных в коде кодах. Следует отметить, что в моем программном обеспечении драйвера клавиатуры я могу переключить Fnклавишу на правую клавишу Windows, чтобы избежать проблем с кодированием низкого уровня, связанных с Fnклавишей.

Я написал следующее, и первая связка горячих клавиш работает нормально:

RightWindowsDown := 0  F1::Send  F2::Send  F3::Send  F4::Send  F5::Send  F6::Send  F7::Send  F8::Send  F9::Send    RWin::  { RightWindowsDown:=1 soundbeep }  If (RightWindowsDown = 1) { F1::F1 F2::F2 F3::F3 F4::F4 F5::F5 F6::F6 F7::F7 F8::F8 F9::F9 }  return 

Однако, когда я нажимаю клавишу RWin, она просто спамит обычную клавишу F1 и открывает загрузку страниц справки. Любые идеи о том, как я могу избежать этого?

1
Практически у всех таких клавиатур есть какой-то способ, которым «FN Lock» может добиться этого без каких-либо инструментов. Вы пробовали это раньше? Mario 7 лет назад 0

1 ответ на вопрос

0
GroggyOtter

Попробуйте это и посмотрите, работает ли это немного лучше. Я включил директиву #If. Он говорит AHK: «Эй, пусть они работают, только если директива #If возвращает true». Когда вы нажмете F1-F9, он проверит, держите ли вы RWin первым. Если это так, он использует альтернативную горячую клавишу.

#SingleInstance, Force return  F1::Send  F2::Send  F3::Send  F4::Send  F5::Send  F6::Send  F7::Send  F8::Send  F9::Send   #If GetKeyState("RWin", "P") F1::F1 F2::F2 F3::F3 F4::F4 F5::F5 F6::F6 F7::F7 F8::F8 F9::F9 

Ссылки:
# Если
GetKeyState

Похожие вопросы