É possível que não seja possível, receio. Normalmente, a tecla Fn não é passada para o sistema operacional, mas implementada no firmware do teclado.
Veja meu laptop, por exemplo. Fn + F3 é mudo. Se eu (no Debian, mas os mesmos princípios se aplicam ao Windows) executar showkey --scancodes
, para ver o que meu teclado está fazendo, não obtive saída se pressionar e soltar Fn. Se eu pressionar e soltar F3, recebo ^[OR0x3d 0xbd
e, se pressionar Fn + F3, obtenho a sequência de scancode totalmente distinta 0xe0 0x20 0xe0 0xa0
. Compare isso com a situação com ctl: press-and-release gets:
0x9c
0x1d
0x9d
E ctl + f3 recebe:
0x1d
^[[1;5R0x3d
0xbd 0x9d
Como você pode ver, Fn não é passado para o sistema operacional; que muda diretamente o que o OS pode ver.
Tão curto quanto trocar o chip do firmware do teclado , e a menos que ele já tenha uma tecla Fn-lock, como Michael Frank comentou, transformar Fn em uma alternância não será possível .
A opção de inversão , no entanto, é factível. Pode haver uma opção para isso no BIOS, mas se não, você precisará descobrir o que o Windows acha que os scancodes das teclas F1-F12 e o resultado do Fn + [esses] são. Para cada chave, você trocaria o resultado do seu scancode de chave fn + pelo não modificado. Isso é algo que pode ser feito no Windows com regedit, embora provavelmente haja ferramentas mais fáceis e no Linux com as ferramentas apropriadas, provavelmente um editor de texto e o setxkbmap. Infelizmente, não posso ajudá-lo com isso.
fn lock
chave que permitirá alterar a maneira como a chave se comporta.