GNU/Linux >> Znalost Linux >  >> Linux

Použít Setxkbmap k záměně levého Shiftu a levého ovládání?

Je možné zaměnit levý Shift a levým CTRL pomocí setxkbmap místo xmodmap ?

UPRAVIT

Přešel jsem na Fcitx, který s mým rozložením klávesnice a přizpůsobenou mapou kláves funguje mnohem lépe než IBus v každém ohledu. Vřele doporučuji.

Přijatá odpověď:

xmodmap je zastaralý; takže by to skutečně mělo být provedeno pomocí xkb nástroje.

Zdá se, že požadovaný swap není standardně součástí souborů X11; takže to musíte napsat sami.

Stránka https://web.archive.org/web/20170825051821/http://madduck.net/docs/extending-xkb/ mi pomohla pochopit a najít způsob, jak to udělat.

Vytvořte soubor ~/.xkb/keymap/mykbd kam umístíte výstup setxkbmap , bude to vaše základní definice klávesnice; např.:

setxkbmap -print > ~/.xkb/keymap/mykbd

poté vytvořte soubor se symboly pro definování výměny klíčů, vložte jej například do ~/.xkb/symbols/myswap

tam vložte následující řádky:

partial modifier_keys
xkb_symbols "swap_l_shift_ctrl" {
    replace key <LCTL>  { [ Shift_L ] };
    replace key <LFSH> { [ Control_L ] };
};

poté upravte ~/.xkb/keymap/mykbd a změňte xkb_symbols řádek k přidání

+myswap(swap_l_shift_ctrl)

nakonec jej můžete načíst pomocí xkbcomp -I$HOME/.xkb ~/.xkb/keymap/mykbd $DISPLAY (pro -I nelze použít „~“. parametr).

Pravděpodobně to bude plivat spoustu varování o nedefinovaných symbolech pro některé vzácné klíče, ale můžete je ignorovat (např. chyba přesměrování na dave:2> /dev/null ).

Pokud chcete mít možnost snadno přepínat mezi normálním a vaším obráceným ctrl/shift; stačí vytvořit pod ~/.xkb/keymap/ jiný soubor bez další možnosti „myswap“ a načtěte jej pomocí xkbcomp . Pro jejich načtení můžete vytvořit dva malé skripty.


Linux
  1. Jak používat příkaz Tar v Linuxu

  2. Io Redirection and the Head Command?

  3. Jak převést textový soubor z Shift JIS na UTF-8 a zpět z terminálu

  1. Vytvářejte a odebírejte odkládací soubory v Ubuntu

  2. Jaký je správný způsob použití inotify?

  3. Jak mohu použít řádky souboru jako argumenty příkazu?

  1. Rozdíl mezi .exrc a .vimrc?

  2. Linux:Jak použít soubor jako vstup a výstup zároveň?

  3. Linux:Kam umístit odkládací soubor