Náhodně jsem zmapoval Enter přes xkbset
to Pointer_button2
.
Teď pokaždé, když jsem zasáhl Enter objeví se nějaký blbý text.
Vzpomněl jsem si na řešení zahrnující zpětné přemapování, ale to znamená, že budu muset spustit příkaz xmodmap -e "keycode 135 = Pointer_Button2"
(nebo jakýkoli jiný kód klíče kromě kódu Enter). Ale nemůžu spustit tento příkaz v terminálu, aniž bych zasáhl Enter.
Jak to mohu udělat?
Používám Ubuntu 12.04.
Můžeš použít CTRL+J nebo CTRL+M jako alternativa k Enter. Jsou to kontrolní znaky pro řádkový posuv (LF) a návrat vozíku (CR).
V terminálovém okně (testoval jsem pouze aterm
, rxvt
, vte
a xterm
) můžete vybrat konec řádku, který má zpět vložený efekt lisování Enter:
# ____________type the command____________ __select to end of line__
# / \/ \
bash-4.2$ xmodmap -e "keycode 135 = Pointer_Button2"
Poté vložte vybraný text zpět do terminálového okna prostředním tlačítkem myši (nebo současným kliknutím levým a pravým tlačítkem myši, pokud je nakonfigurováno).
Spusťte příkaz z terminálu jiného než X.
CTRL+ALT+F2 by vás mělo dostat k normální konzoli. Přihlaste se jako normální uživatel a spusťte tam příkaz.
xmodmap
ovlivňuje pouze X relace, takže pro práci mimo X server potřebuje DISPLAY
takto:
DISPLAY=:0 xmodmap
Dalo by se to vložit do skriptu (.sh) a pak na něj dvakrát kliknout. Většina moderních desktopových prostředí dává možnost spustit skript namísto jeho otevření v textovém souboru.
Pokud máte myš a grafické zobrazení, můžete zkopírovat konec předchozího řádku v terminálu a vložit jej na konec vašeho příkazu.
CTRL+O je další možnost. S bash provede příkaz a přesune se k nejnovějšímu v historii, je užitečné vrátit se zpět řetězcem dříve provedených příkazů.