回答:
Linuxは、ほとんどの周辺機器を初期化して、既知の状態になるようにします。これにはキーボードが含まれます。Linuxのキーボードに関する内部データはLEDと一致しているため、LinuxはLEDをオフにします(私が覚えている限り、CPUはPCキーボードのLEDの状態を読み取ることができません)。すべての* Lockをオフに宣言します。
デフォルトでNumLockをオンにしたい。Linuxテキストコンソールの場合、私が使用していたのは実行することです。
for t in /dev/tty[0-9]*; do setleds -D +num <$t; done
ブートスクリプトから(/etc/rc.local
または/etc/init.d/50_local_setleds
ディストリビューションがそれらを配置したい場所に)。
最近では、少なくともDebianなどの一部のディストリビューションでは、追加LEDS=+num
することができます/etc/console-tools/config
(または/etc/kbd/config
使用しているディストリビューションによっては)。
Xウィンドウシステムには独自のキーボード処理があるため、個別に処理する必要があります。Caps Lockを完全にオフに切り替え(レイアウトにCaps Lockキーがありません)、Num Lockを完全にオンに切り替えます(レイアウトにNum Lockキーがないため、キーパッドのキーを送信KP_1
してなど)。修飾子を保持したいが、Num Lockをデフォルトでオンにしたい場合は、小さなプログラムを作成して、XKbLockModifiers
X内に修飾子XChangeKeyboardControl
を設定し、物理的なLEDを設定することができます。
¹ 私はしばらくの間、テキストコンソールで困っていませんので、ために使用されます。
kbd
は、kbd initスクリプトを作成するパッケージによって行われるというメモを追加します。