Usando o AutoHotkey, estou tentando remapear as teclas de função para sua função secundária como padrão e o padrão como secundário

1

Eu estou tentando remapear as teclas de função para sua função secundária como uma porca padrão Eu estou correndo em alguns emitidos no código. Uma coisa a ser observada é que, no software do meu driver de teclado, posso alternar a tecla Fn para ser uma tecla do Windows correta para que eu possa evitar os problemas de codificação de baixo nível envolvidos com a chave Fn .

Eu escrevi o seguinte e o primeiro grupo de teclas de atalho parece funcionar bem:

RightWindowsDown := 0

F1::Send {Volume_Mute}
F2::Send {Volume_Down}
F3::Send {Volume_Up}
F4::Send {Launch_App2}
F5::Send {Media_Play_Pause}
F6::Send {Media_Stop}
F7::Send {Media_Prev}
F8::Send {Media_Next}
F9::Send {Launch_App1}


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

No entanto, quando pressiono a tecla RWin, ela simplesmente ativa a tecla F1 normal e abre uma carga de páginas de ajuda. Alguma idéia de como posso evitar isso?

    
por MadHarold 26.04.2017 / 06:24

1 resposta

0

Experimente e veja se funciona um pouco melhor. Eu incluí uma diretiva #If. Diz ao AHK "Ei, só deixe que isso funcione se a diretiva #If retornar true". Quando você acerta F1-F9, ele verifica se você está segurando RWin primeiro. Se você estiver, ele usa a tecla de atalho alternativa.

#SingleInstance, Force
return

F1::Send {Volume_Mute}
F2::Send {Volume_Down}
F3::Send {Volume_Up}
F4::Send {Launch_App2}
F5::Send {Media_Play_Pause}
F6::Send {Media_Stop}
F7::Send {Media_Prev}
F8::Send {Media_Next}
F9::Send {Launch_App1}

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

Referências:
#If
GetKeyState

    
por 26.04.2017 / 17:44