Ativar num-lock como padrão no Linux

11

Houve uma pergunta semelhante - mas o IMHO deve ter uma solução mais simples. Se o num-lock está ativado no BIOS - por que ele é desligado durante a inicialização do Linux e / ou no KDE / Gnome / em qualquer outra inicialização?

Nils
fonte

Respostas:

9

O Linux inicializa a maioria dos periféricos para que eles estejam em um estado conhecido. Isso inclui o teclado: os dados internos do Linux sobre o teclado combinam melhor com os LEDs; portanto, o que o Linux faz é desativar os LEDs (tanto quanto me lembro, a CPU não consegue ler o estado dos LEDs no teclado de um PC) e declare tudo * Bloquear como desativado.

Eu gosto de ter o NumLock ativado por padrão. Para consoles de texto Linux, o que eu costumava fazer¹ era executar

for t in /dev/tty[0-9]*; do setleds -D +num <$t; done

a partir de um script de inicialização ( /etc/rc.localou /etc/init.d/50_local_setledsonde quer que a distribuição goste de colocá-los).

Hoje em dia, pelo menos em algumas distribuições como o Debian, você pode adicionar LEDS=+numa /etc/console-tools/config(ou /etc/kbd/configdependendo de qual você tem).

O sistema X window possui seu próprio tratamento de teclado, portanto, você precisa lidar com isso separadamente. O que faço é desativar permanentemente o caps lock (não tenho uma tecla Caps Lock no layout) e ativar o num lock permanentemente (não tenho a tecla Num Lock no layout, e as teclas do teclado enviam KP_1e em breve). Se você deseja reter os modificadores, mas ativar o Num Lock por padrão, você pode escrever um pequeno programa para chamar XKbLockModifierspara definir o modificador dentro de X e XChangeKeyboardControldefinir o LED físico.

¹ Costumava, porque não me incomodo com consoles de texto há algum tempo.

Gilles 'SO- parar de ser mau'
fonte
Você mencionou consoles - não havia uma opção de kernel para numlock nos antigos kernels do linux? 0.x ou 1.y? Enfim - não há Xconfig-opção para numlock?
Nils
@ Nils Mmmm talvez, não me lembro. Eu não acho que exista algo para o X, mas eu aprendi sobre os teclados no X antes da existência do XKB, então talvez eu esteja perdendo algumas dessas coisas novas do final do século XX.
Gilles 'SO- stop be evil'
1
Vou adicionar uma nota que no Debian, a configuração numlock após a inicialização é feita pelo kbdpacote que cria um script init do kbd.
precisa saber é
1
@Rodrigo O sistema operacional pode conhecer o estado de uma chave. O que ele não sabe, até onde eu sei, é o estado do LED - ele só consegue se lembrar se o LED foi ligado ou desligado pela última vez, mas isso não funciona com uma alteração no sistema operacional (por exemplo, BIOS → carregador de inicialização → Linux).
Gilles 'SO- stop be evil'
1
@Rodrigo Essa pergunta trata dos aplicativos que obtêm informações do sistema operacional. A parte sobre a qual você está discutindo é como o sistema operacional obteria as informações.
Gilles 'SO- stop be evil'