Num LockインジケータLEDを無効にするか、キーパッドを反転してNum Lockが点灯しているときにインジケータが消えるようにします。

Num LockインジケータLEDを無効にするか、キーパッドを反転してNum Lockが点灯しているときにインジケータが消えるようにします。

私はDebian Test / StretchとXfceを使用しています。私はこれを買いました。有線キーボード。デジタルロックはデフォルトに設定したいのですが、LEDが点灯したくありません。 Num Lockインジケータを完全に無効にしたり、ステータスを反転したり(Num Lockがオフになっているときにインジケータを表示)、すべてのNum Lockオフキーを数値入力に再マップして(インジケータがオンになっているか、インジケータが点灯しているかを確認できます) )を行うことができます。オフ番号を入力してください)setleds -L -num有効ですが、ttyセッション内でのみ可能です。ありがとう

答え1

Num Lockの意味を逆にすることができます。 Xmodmapを使用して.Xmodmap

keycode  79 = KP_Home KP_7 KP_Home KP_7 KP_Home KP_7 KP_Home KP_7
keycode  80 = KP_Up KP_8 KP_Up KP_8 KP_Up KP_8 KP_Up KP_8
keycode  81 = KP_Prior KP_9 KP_Prior KP_9 KP_Prior KP_9 KP_Prior KP_9
keycode  83 = KP_Left KP_4 KP_Left KP_4 KP_Left KP_4 KP_Left KP_4
keycode  84 = KP_Begin KP_5 KP_Begin KP_5 KP_Begin KP_5 KP_Begin KP_5
keycode  85 = KP_Right KP_6 KP_Right KP_6 KP_Right KP_6 KP_Right KP_6
keycode  87 = KP_End KP_1 KP_End KP_1 KP_End KP_1 KP_End KP_1
keycode  88 = KP_Down KP_2 KP_Down KP_2 KP_Down KP_2 KP_Down KP_2
keycode  89 = KP_Next KP_3 KP_Next KP_3 KP_Next KP_3 KP_Next KP_3
keycode  90 = KP_Insert KP_0 KP_Insert KP_0 KP_Insert KP_0 KP_Insert KP_0
keycode  91 = KP_Delete KP_Decimal KP_Delete KP_Decimal KP_Delete KP_Decimal KP_Delete KP_Decimal

起動アプリケーションに追加する必要があるかもしれませんxmodmap ~/.Xmodmap。 Xfceがデフォルトでこれを行うかどうかはわかりません。

これの利点は、ほとんどの場合、NumLockを開かないことです。一部のプログラムでは、NumLockが修飾子であると考えており、キーボードショートカットがオンになっても機能しないため、使用に問題があります。

NumLockをオフにしないと、使用中にNumLockキーを無効にできます。

keycode 77 = NoSymbol

痛みが好きなら、XKBを代わりに使うこともできます。これは NumLock を常に効果的に維持する構成です。以下を~/.xkb/types/mytypes含むファイルを作成します。

// Digits without NumLock, cursor with NumLock. Shift swaps the meaning.
// Do it this way because I almost always want digits, but the NumLock state
// breaks key bindings in some applications.
partial xkb_types "invert_numlock" {
  type "KEYPAD" {
    modifiers = Shift+NumLock;
    map[None] = Level2;
    map[Shift] = Level1;
    map[NumLock] = Level1;
    map[Shift+NumLock] = Level2;
    level_name[Level1] = "Base";
    level_name[Level2] = "Number";
  };
  include "extra(keypad)"
};

次の内容でファイルを作成します~/.xkb/symbols/mysymbols

partial xkb_symbols "mykeypad" {
    key  <KP7> {         [            KP_7,         KP_Home ] };
    key  <KP8> {         [            KP_8,           KP_Up ] };
    key  <KP9> {         [            KP_9,        KP_Prior ] };
    key  <KP4> {         [            KP_4,         KP_Left ] };
    key  <KP5> {         [            KP_5,        KP_Begin ] };
    key  <KP6> {         [            KP_6,        KP_Right ] };
    key  <KP1> {         [            KP_1,          KP_End ] };
    key  <KP2> {         [            KP_2,         KP_Down ] };
    key  <KP3> {         [            KP_3,         KP_Next ] };
    key  <KP0> {         [            KP_0,       KP_Insert ] };
    key <KPDL> {         [      KP_Decimal,       KP_Delete ] };
};

X初期起動の一部として、次のシェルコマンドを実行します(setxkbmap必要に応じて呼び出しに他のオプションを追加します)。

setxkbmap -types "complete+mytypes(invert_numlock)" \
          -symbols "us+compose(menu)+mysymbols(mykeypad)" \
          -print | xkbcomp -I ~/.xkb - "$DISPLAY"

答え2

「Num Lockはデフォルトでオンになっています」は、「デフォルトでテンキーのキー」を意味し、キーボードナビゲーションを望まない、または気にしない場合:

setxkbmap -option numpad:mac <layout>

したがって、usレイアウトの場合:

setxkbmap -option numpad:mac us

キーパッドは、数字ロック状態に関係なく常に数字を入力します。

引用:xkeyboard-config のマニュアルページ

答え3

コマンドを発行するたびにX11のLEDを消灯できます。

xset -led named "Num Lock"

または、明示的な数字(例:)を使用してみてくださいxset -led 3

関連情報