Tout d'abord, installez numlockx ( cliquez ici pour installer numlockx ). Fondamentalement, cela vous permet d'écrire des scripts pour définir l'état de Num Lock - voir la page de manuel numlockx pour plus de détails.
Ensuite, nous devons commencer à nous plonger dans le plaisir des règles udev. Nous devons d'abord découvrir comment le clavier est identifié. Vous pouvez le faire en
ls /dev/input/by-id/
Cela devrait vous donner quelques noms de fichiers lisibles par l'homme (qui sont des liens logiciels vers le vrai nom qui n'est pas particulièrement lisible). Mon clavier était
/dev/input/by-id/usb-KINESIS_FREESTYLE_KB700_KB700_Kinesis_Freestyle-event-kbd
Nous devons donc trouver toutes les informations sur le clavier. J'ai fait
udevadm info -a -p $(udevadm info -q path -n /dev/input/by-id/usb-KINESIS_FREESTYLE_KB700_KB700_Kinesis_Freestyle-event-kbd)
Mais insérez bien sûr votre propre chemin. Vous obtiendrez beaucoup d'informations, mais vous voulez regarder le premier bloc qui nomme le clavier et l'a SUBSYSTEMS=="usb"
. (Plutôt que le contrôleur USB ou autre). Dans mon cas, c'était:
looking at parent device '/devices/pci0000:00/0000:00:1a.0/usb3/3-2/3-2.3':
KERNELS=="3-2.3"
SUBSYSTEMS=="usb"
DRIVERS=="usb"
ATTRS{configuration}==""
ATTRS{bNumInterfaces}==" 2"
ATTRS{bConfigurationValue}=="1"
ATTRS{bmAttributes}=="a0"
ATTRS{bMaxPower}==" 50mA"
ATTRS{urbnum}=="6284"
ATTRS{idVendor}=="058f"
ATTRS{idProduct}=="9410"
ATTRS{bcdDevice}=="0122"
ATTRS{bDeviceClass}=="00"
ATTRS{bDeviceSubClass}=="00"
ATTRS{bDeviceProtocol}=="00"
ATTRS{bNumConfigurations}=="1"
ATTRS{bMaxPacketSize0}=="8"
ATTRS{speed}=="1.5"
ATTRS{busnum}=="3"
ATTRS{devnum}=="3"
ATTRS{devpath}=="2.3"
ATTRS{version}==" 1.10"
ATTRS{maxchild}=="0"
ATTRS{quirks}=="0x0"
ATTRS{avoid_reset_quirk}=="0"
ATTRS{authorized}=="1"
ATTRS{manufacturer}=="KINESIS FREESTYLE KB700"
ATTRS{product}=="KB700 Kinesis Freestyle"
Alors maintenant, nous avons suffisamment d'informations pour écrire certaines règles. Utilisez votre éditeur préféré pour créer /etc/udev/rules.d/10-local.rules
et insérer:
BUS=="usb",ATTRS{product}=="KB700 Kinesis Freestyle",ACTION=="add",RUN+="/usr/bin/numlockx on"
BUS=="usb",ATTRS{product}=="KB700 Kinesis Freestyle",ACTION=="remove",RUN+="/usr/bin/numlockx off"
Encore une fois, mettez le nom de votre clavier ici et les ATTRS s'il est différent. Alors ça devrait marcher :)
Remarque Je n'ai pas pu tester cela, bien que j'aie exécuté toutes les commandes jusqu'à la création du fichier de règles. Et les sources au cas où vous auriez besoin de faire des recherches supplémentaires sont: