GNU/Linux >> Znalost Linux >  >> Linux

Přemapování vypínače k ​​odstranění?

Mám macbook pro se systémem Ubuntu 13.10 s FluxBoxem. Bohužel, vypínač je fyzicky nad backspace, kde bych očekával, že bude klávesa pro mazání. V OS X lze program PowerKey použít k přemapování klávesy napájení pro mazání. Jak mohu udělat něco podobného v X Windows?

Vypínač jsem deaktivoval úpravou /etc/systemd/logind.conf a nastavení HandlePowerKey = ignore Poté mohu stisknout tlačítko napájení, aniž bych vypínal notebook.

Spuštění xev -event keyboard ukazuje, že KeyPress pro vypínač je normálně spotřebován jiným procesem:

MappingNotify event, serial 36, synthetic NO, window 0x0,
    request MappingKeyboard, first_keycode 8, count 248

KeymapNotify event, serial 36, synthetic NO, window 0x0,
    keys:  1   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   
           0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   

KeymapNotify event, serial 37, synthetic NO, window 0x0,
    keys:  1   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   
           0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   

Nicméně spuštěním pouze xterm přímo z konzole se mi podařilo úspěšně získat kód klíče a přemapovat klíč.

xinit /usr/bin/xterm -- :1
xev -event keyboard | tee /tmp/junk.txt
tail -n ???? /tmp/junk.txt
MappingNotify event, serial 28, synthetic NO, window 0x0,
    request MappingKeyboard, first_keycode 8, count 248

KeyPress event, serial 28, synthetic NO, window 0x600001,
    root 0xa1, subw 0x0, time 720369, (146,89), root:(148,91),
    state 0x0, keycode 124 (keysym 0x1008ff2a, XF86PowerOff), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 28, synthetic NO, window 0x600001,
    root 0xa1, subw 0x0, time 720369, (146,89), root:(148,91),
    state 0x0, keycode 124 (keysym 0x1008ff2a, XF86PowerOff), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

MappingNotify event, serial 29, synthetic NO, window 0x0,
    request MappingKeyboard, first_keycode 8, count 248

V tomto okamžiku bylo také možné mapovat klíč pomocí xmodmap. Mapoval jsem to na zpětné lomítko, které je lépe vidět než smazat:

 xmodmap -e "keycode 124 = backslash bar"

Mohl bych získat sotva funkční ekvivalent ke spuštění přidáním tohoto do ~/.fluxbox/keys ale to je ošklivé a dostatečně pomalé na to, aby to bylo nepoužitelné.

  # Remap the power off to a delete key...
  XF86PowerOff :Exec xdotool key Delete

Jak mohu použít xmodmap nebo setxkbmap k použití tlačítka napájení současně s normálním správcem oken?

Přijatá odpověď:

Nerozumím přesně poslední větě, otázce, ale dokážu se vžít do názvu otázky:„Přemapování vypínače na odstranění“.

Zkuste nahradit jakékoli „XF86PowerOff“ nebo jen to, které odpovídá vaší klávesnici, za „Delete“ v /usr/share/X11/xkb/symbols/inet.

Související:Panika jádra každou hodinu nebo tak nějak „UPSB:napájení bleskem selhalo“ od doby, kdy jsem upgradoval na High Sierra?

Musíte to zopakovat po aktualizaci systému, která aktualizuje daný soubor.


Linux
  1. Gpg:Zrušeno uživatelem?

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

  3. 16.04 Klávesa Delete nefunguje?

  1. Jak konsolidovat více Mok klíčů nebo odstranit nepotřebné?

  2. Jak odstranit službu v Kubernetes

  3. jak aktualizovat homebrew pomocí Cronu na Mac OS

  1. Moc (Shell) lidem

  2. Jak odstranit všechny řádky souboru ve Vimu

  3. Přepnout stav klávesy Fn