GNU/Linux >> Linux の 問題 >  >> Linux

numlock を無効にして、マウス ボタンのキー バインディングを維持する

@Michał Górnyの回答に基づいています。 num-lock を無効にし、とにかく数字を使用し、numlock を F13 にマップするコマンドは次のとおりです (ウィンドウ マネージャーの特別な機能にバインドすると便利な場合があります)。

# NumLock is F13
xmodmap -e "remove mod2 = Num_Lock" \
        -e "keycode 77 = F13"

# Use numbers even when numlock is off
xmodmap -e "keysym KP_End = KP_1" \
        -e "keysym KP_Down = KP_2" \
        -e "keysym KP_Next = KP_3" \
        -e "keysym KP_Left = KP_4" \
        -e "keysym KP_Begin = KP_5" \
        -e "keysym KP_Right = KP_6" \
        -e "keysym KP_Home = KP_7" \
        -e "keysym KP_Up = KP_8" \
        -e "keysym KP_Prior = KP_9" \
        -e "keysym KP_Insert = KP_0" \
        -e "keysym KP_Delete = KP_Decimal"

常に numlock ライトが点灯していないのはいいですね :)


何が起こっているのか、そしてなぜあなたのアイデアがうまくいかないのかについての説明から始めましょう。まず、修飾子マップを見てください:

$ xmodmap
xmodmap:  up to 3 keys per modifier, (keycodes in parentheses):

shift       Shift_L (0x32),  Shift_R (0x3e)
lock        Caps_Lock (0x42)
control     Control_L (0x25),  Control_R (0x69)
mod1        Alt_L (0x40),  Meta_L (0xcd)
mod2        Num_Lock (0x4d)
mod3      
mod4        Super_L (0x85),  Super_L (0xce),  Hyper_L (0xcf)
mod5        ISO_Level3_Shift (0x5c),  Mode_switch (0xcb)

ご覧のとおり、Num_Lock mod2 です ここ。オンにすると、すべてのキー押下イベントに mod2 が付きます

次のように無効にすると:

$ xmodmap -e "keycode 77 = NoSymbol"
$ xmodmap 
xmodmap:  up to 3 keys per modifier, (keycodes in parentheses):

shift       Shift_L (0x32),  Shift_R (0x3e)
lock        Caps_Lock (0x42)
control     Control_L (0x25),  Control_R (0x69)
mod1        Alt_L (0x40),  Meta_L (0xcd)
mod2        BadKey (0x4d)
mod3      
mod4        Super_L (0x85),  Super_L (0xce),  Hyper_L (0xcf)
mod5        ISO_Level3_Shift (0x5c),  Mode_switch (0xcb)

mod2 に注意してください BadKey に関連付けられました 、これは Xorg をか​​なり混乱させているようです。実際、モディファイヤ マップの変更のほとんどは、私にとって X11 を壊しているように見えます。

現在、モディファイア マップをいじる良い解決策が見つかりません。しかし、別のアイデアがあります。すべてのキーパッド キーをマッピングして、Num Lock のオンとオフの両方で同じように機能させることができます。つまり:

xmodmap -e "keysym KP_Up = KP_8"
xmodmap -e "keysym KP_Left = KP_4"
# ...

など。これを行うと、num lock の状態は問題になりません。

後で修飾子を削除して、LED スイッチをオフにすることもできます:

xmodmap -e "remove mod2 = Num_Lock"

Linux
  1. 弱い鍵交換アルゴリズム、SSHのCBCモードを無効にする

  2. ターミナルにVimキーバインディングを設定することは可能ですか?

  3. Linux – X11 / xorgでミドルクリックして貼り付けることを無効/変更しますか?

  1. 削除するNumlockキーを再マップする方法は?

  2. Mac OS で Cron を使用して自作を更新する方法

  3. タッチパッドとキーボードを一時的に無効にします。つまり、Linux ラップトップをベビープルーフします。

  1. Tmux キー バインドが機能しない

  2. LXDEで端末にショートカットキーを追加するには?

  3. PrntScr キーを完全に無効にする