GNU/Linux >> Znalost Linux >  >> Linux

Deaktivujte numlock, zachováte vazby kláves myši

Na základě odpovědi @Michał Górny. Zde jsou příkazy pro deaktivaci num-locku, použití čísel i přesto a mapování numlocku na F13 (může být užitečné při navázání na speciální funkci ve správci oken).

# 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"

Je hezké nemít neustále rozsvícenou kontrolku numlock :)


Začněme vysvětlením toho, co se děje a proč váš nápad nefunguje. Nejprve se podívejte na mapu modifikátoru:

$ 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)

Jak můžete vidět, Num_Lock je mod2 tady. Když je zapnutá, všechny události stisku klávesy mají mod2 bit na.

Pokud jej zakážete takto:

$ 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)

Všimněte si, že mod2 je nyní spojeno s BadKey , a zdá se, že to Xorg hodně mate. Ve skutečnosti se mi zdá, že většina změn mapy modifikátorů narušuje X11.

Právě teď nemohu najít dobré řešení, které by zahrnovalo hraní s modifikační mapou. Ale mám jiný nápad:můžete namapovat všechny klávesy klávesnice tak, aby fungovaly stejně se zapnutým i vypnutým num lock. To je:

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

atd. Jakmile to uděláte, na stavu num lock již nebude záležet.

Modifikátor můžete dokonce poté odstranit a vypnout LED diodu:

xmodmap -e "remove mod2 = Num_Lock"

Linux
  1. Zakázat algoritmus výměny slabého klíče, režim CBC v SSH

  2. Je možné mít v terminálu vazby kláves Vim?

  3. Linux – Zakázat/upravit střední-click-to-paste v X11/xorg?

  1. Jak přemapovat klávesu Numlock, aby byla smazána?

  2. Jak zakázat akceleraci myši v Ubuntu 20.10, 20.04, 19.10 nebo 18.04 (Gnome)

  3. jak aktualizovat homebrew pomocí Cronu na Mac OS

  1. dočasně deaktivovat touchpad a klávesnici, tj. zajistit ochranu mého linuxového notebooku

  2. Efektivní vázání kláves pomocí Mac i Linuxu

  3. Jak deaktivovat klávesu klávesnice v Linuxu (Ubuntu)?