Activer le verrouillage numérique par défaut sous Linux

11

Il y a eu une question similaire - mais à mon humble avis, il doit y avoir une solution plus simple. Si num-lock est activé dans le BIOS - pourquoi est-il désactivé pendant le démarrage de linux et / ou KDE / Gnome / quel que soit le démarrage?

Nils
la source

Réponses:

9

Linux initialise la plupart des périphériques afin qu'ils soient dans un état connu. Cela inclut le clavier: les données internes de Linux sur le clavier devraient mieux correspondre aux LED, donc ce que Linux fait est d'éteindre les LED (pour autant que je m'en souvienne, le CPU ne peut pas lire l'état des LED sur un clavier de PC) et déclarer que tous les * Lock sont désactivés.

J'aime avoir NumLock activé par défaut. Pour les consoles de texte Linux, ce que j'avais l'habitude de faire¹ est d'exécuter

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

à partir d'un script de démarrage ( /etc/rc.localou /etc/init.d/50_local_setledsou partout où la distribution aime les mettre).

De nos jours, au moins sur certaines distributions telles que Debian, vous pouvez ajouter LEDS=+numà /etc/console-tools/config(ou en /etc/kbd/configfonction de celle que vous avez).

Le système X Window a sa propre gestion du clavier, vous devez donc le traiter séparément. Ce que je fais est de désactiver définitivement le verrouillage des majuscules (je n'ai pas de touche de verrouillage des majuscules dans ma disposition) et d'activer le verrouillage numérique de manière permanente (je n'ai pas de touche de verrouillage numérique dans ma disposition, et les touches du clavier envoient KP_1et bientôt). Si vous souhaitez conserver les modificateurs mais que le verrouillage numérique est activé par défaut, vous pouvez écrire un petit programme à appeler XKbLockModifierspour définir le modificateur dans X et XChangeKeyboardControlpour définir la LED physique.

¹ Habituellement, car je n'ai pas pris la peine d'utiliser des consoles de texte depuis un moment.

Gilles 'SO- arrête d'être méchant'
la source
Vous mentionnez les consoles - n'y avait-il pas une option de noyau pour numlock dans les anciens noyaux linux? 0.x ou 1.y? Quoi qu'il en soit - n'y a-t-il pas d'option Xconfig pour numlock?
Nils
@Nils Mmmm peut-être, je ne me souviens pas. Je ne pense pas qu'il y ait quelque chose pour X, mais j'ai appris les claviers dans X avant que XKB n'existe, donc je pourrais manquer certaines de ces nouveautés de la toute fin du 20e siècle.
Gilles 'SO- arrête d'être méchant'
1
J'ajouterai une note que sur Debian, le paramètre numlock après le démarrage est effectué par le kbdpaquet qui crée un script d'initialisation kbd.
carandraug
1
@Rodrigo Le système d'exploitation peut connaître l'état d'une clé. Ce qu'il ne peut pas savoir, pour autant que je sache, c'est l'état de la LED - il ne peut que se souvenir s'il a allumé ou éteint la dernière LED, mais cela ne fonctionne pas lors d'un changement de système d'exploitation (par exemple BIOS → bootloader → Linux).
Gilles 'SO- arrête d'être méchant'
1
@Rodrigo Cette question concerne les applications qui obtiennent des informations du système d'exploitation. La partie sur laquelle vous discutez est de savoir comment le système d'exploitation obtiendrait les informations.
Gilles 'SO- arrête d'être méchant'