먼저 numlockx 를 설치하십시오 ( numlockx를 설치하려면 여기를 클릭하십시오 ). 기본적으로 Num Lock 상태를 설정하는 스크립트를 작성할 수 있습니다 . 자세한 내용은 numlockx 매뉴얼 페이지 를 참조하십시오.
다음으로 udev 규칙의 재미를 탐구해야합니다. 먼저 키보드 식별 방법을 찾아야합니다. 당신은 이것을 할 수 있습니다
ls /dev/input/by-id/
이렇게하면 사람이 읽을 수있는 파일 이름 (특히 읽을 수없는 실제 이름에 대한 소프트 링크)이 제공됩니다. 내 키보드는
/dev/input/by-id/usb-KINESIS_FREESTYLE_KB700_KB700_Kinesis_Freestyle-event-kbd
키보드에 대한 모든 정보를 찾아야합니다. 내가 했어
udevadm info -a -p $(udevadm info -q path -n /dev/input/by-id/usb-KINESIS_FREESTYLE_KB700_KB700_Kinesis_Freestyle-event-kbd)
그러나 물론 자신의 경로를 삽입하십시오. 많은 정보를 얻을 수 있지만 키보드의 이름을 가진 첫 번째 블록을 보려고합니다 SUBSYSTEMS=="usb"
. (USB 컨트롤러 등이 아닌). 제 경우에는 다음과 같습니다.
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"
이제 규칙을 작성하기에 충분한 정보가 있습니다. 좋아하는 편집기를 사용하여 다음을 작성하십시오 /etc/udev/rules.d/10-local.rules
.
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"
다시 한 번 키보드 이름을 여기에 입력하고 다른 경우 ATTRS를 입력하십시오. 그런 다음 작동해야합니다 :)
참고 rules 파일을 만들 때까지 모든 명령을 실행했지만이 테스트를 수행 할 수 없었습니다. 추가 조사가 필요한 경우의 출처는 다음과 같습니다.