Po pierwsze, zainstaluj numlockx ( kliknij tutaj, aby zainstalować numlockx ). Zasadniczo ten pozwala na pisanie skryptów, aby ustawić stan Num Lock - patrz strona podręcznika numlockx szczegóły.
Następnie musimy zacząć zagłębiać się w zabawę z regułami udev. Najpierw musimy dowiedzieć się, jak identyfikowana jest klawiatura. Możesz to zrobić przez
ls /dev/input/by-id/
To powinno dać ci nazwy plików czytelne dla człowieka (które są miękkimi linkami do niezbyt czytelnej prawdziwej nazwy). Moja klawiatura była
/dev/input/by-id/usb-KINESIS_FREESTYLE_KB700_KB700_Kinesis_Freestyle-event-kbd
Musimy więc znaleźć wszystkie informacje na temat klawiatury. Zrobiłem
udevadm info -a -p $(udevadm info -q path -n /dev/input/by-id/usb-KINESIS_FREESTYLE_KB700_KB700_Kinesis_Freestyle-event-kbd)
Ale oczywiście wstaw tam własną ścieżkę. Otrzymasz wiele informacji, ale chcesz spojrzeć na pierwszy blok, który nazywa klawiaturę i ma SUBSYSTEMS=="usb"
. (Zamiast kontrolera USB lub cokolwiek innego). W moim przypadku było to:
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"
Mamy teraz wystarczającą ilość informacji, aby napisać kilka zasad. Użyj swojego ulubionego edytora, aby utworzyć /etc/udev/rules.d/10-local.rules
i wprowadzić:
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"
Ponownie wpisz tutaj nazwę swojej klawiatury i ATTRS, jeśli jest inna. To powinno działać :)
Uwaga: Nie byłem w stanie tego przetestować, chociaż uruchomiłem wszystkie polecenia aż do utworzenia pliku reguł. Źródła na wypadek, gdybyś musiał przeprowadzić dodatkowe dochodzenie, to:
Jeśli używasz powłoki Gnome3.
Zainstaluj numlockx
następnie uruchom Preferencje aplikacji startowej
gnome-session-properties
Obraz (nowi użytkownicy nie mogą publikować zdjęć :))
Kliknij Dodaj
Napisz cokolwiek w polu nazwy i w polu poleceń skopiuj to:
numlockx on
Wizerunek
źródło
Nie jestem pewien, co robię inaczej, ponieważ mój numlock na tej klawiaturze domyślnie jest włączony (To jest klawiatura Mac Pro Aluminium). Jest tu kilka instrukcji, które powinny załatwić sprawę.
Mam nadzieję że to pomoże!
źródło
Jeśli używasz gnome-shell, możesz zainstalować Numlock i Capslock na rozszerzeniu panelu „Blokuj klawisze”. Proszę, znalazłem to tutaj
źródło