Em um teclado Apple no Linux, como faço as teclas de função funcionarem sem a tecla modificadora fn?

9

Eu uso um teclado com fio da Apple no Linux. Por padrão, as teclas de função (F1, F2, F3, etc) exigem que a tecla fn seja pressionada para que funcionem. Sem a tecla fn , essas teclas controlam os recursos como Brilho da tela, Volume e Controle da faixa de música.

Existe alguma maneira de trocá-los, então as teclas de Função não requerem o modificador fn , mas as outras funções (Brilho etc.) fazem?

    
por ryanlerch 25.03.2014 / 18:05

3 respostas

13

Você precisa adicionar 0 ou 2 em /sys/module/hid_apple/parameters/fnmode .

ou seja:

echo 2 > /sys/module/hid_apple/parameters/fnmode

Parece haver alguma confusão sobre qual seria a diferença entre os dois valores. Citando a documentação do Ubuntu :

  1. 0 = disabled : Disable the 'fn' key. Pressing 'fn'+'F8' will behave like you only press 'F8'
  2. 1 = fkeyslast : Function keys are used as last key. Pressing 'F8' key will act as a special key. Pressing 'fn'+'F8' will behave like a F8.
  3. 2 = fkeysfirst : Function keys are used as first key. Pressing 'F8' key will behave like a F8. Pressing 'fn'+'F8' will act as special key (play/pause).

Note que isto também funciona para mim no Fedora.

    
por 21.09.2014 / 04:36
3

Eu descobri que é muito simples alterar o comportamento desse modificador. Como root altere o valor no arquivo /sys/module/hid_apple/parameters/fnmode de 1 para 0 . Por exemplo:

# echo 0 > / sys / module / hid_apple / parameters / fnmode

Note que em algumas versões antigas do linux, este arquivo estava localizado em /sys/module/apple/parameters/fnmode . Além disso, essa alteração não persistirá quando você reiniciar.

    
por 25.03.2014 / 18:06
1

Em uma discussão mais antiga , uma solução é fornecida com um parâmetro de inicialização do kernel que pode ser preferível (aplicação em todo o sistema, modificação de apenas uma linha em /etc/default/grub , etc).

Somente de acordo com essa solução, fnmode é definido como 2 em vez de 0 . Acabei de tentar definir hid_apple/parameters/fnmode para 2 e também tem o efeito desejado. Talvez a lógica seja simplesmente '1 →' requer Fn para acessar F1 , F2 , F3 , ... "vs. todos os outros valores?

    
por 03.06.2014 / 16:55