Mit AutoHotkey versuche ich, die Funktionstasten ihrer Standardfunktion als Standard und die Standardfunktion als Sekundärfunktion zuzuordnen

900
MadHarold

Ich versuche, die Funktionstasten auf ihre sekundäre Funktion als Standardschlüssel zuzuweisen. Ich stoße auf ein paar, die im Code ausgegeben wurden. Zu beachten ist, dass ich in meiner Tastaturtreibersoftware die FnTaste in eine rechte Windows-Taste umschalten kann, um die mit der FnTaste verbundenen Codierungsprobleme zu umgehen .

Ich habe folgendes geschrieben und die ersten Hotkeys scheinen gut zu funktionieren:

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 

Wenn ich jedoch die RWin-Taste drücke, wird nur die normale F1-Taste gedrückt, und die Hilfeseiten werden geöffnet. Irgendwelche Ideen, wie ich das vermeiden kann?

1
So ziemlich alle Tastaturen haben einen Weg für ein "FN Lock", um dies ohne Werkzeuge zu erreichen. Hast du das schon mal probiert? Mario vor 7 Jahren 0

1 Antwort auf die Frage

0
GroggyOtter

Versuchen Sie es und sehen Sie, ob es ein bisschen besser funktioniert. Ich habe eine # if-Direktive eingefügt. Es sagt AHK "Hey, lass diese nur funktionieren, wenn die #If-Direktive true zurückgibt". Wenn Sie F1-F9 drücken, wird überprüft, ob Sie zuerst RWin halten. In diesem Fall wird der alternative Hotkey verwendet.

#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 

Referenzen:
#If
GetKeyState