Linux Mint umožňuje vlastní definici klávesových zkratek, ale jen přes GUI. Já si chtěl udělat globální klávesové na práci s okny a přemapovat hjkl na kurzorové klávesy (po vzoru Vimu), abych je měl globálně v systému.
Na to se hodí xmodmaps (soubor ~/.Xmodmap - musí se načítat po startu):
! soubor pro namapovani kurzorovych klaves na hjkl ! prepinac: capslock (muzes vyzkouset pomoci prikazu xev) ! za rovna se: key, shift+key, mode_switch+key, mode_switch+shift+key, altgr+key, altgr+shift+key ! google: List of Keysyms Recognised by Xmodmap keycode 66 = Mode_switch keysym h = h H Left keysym l = l L Right keysym k = k K Up keysym j = j J Down keysym x = x X Delete keysym zcaron = zcaron 6 Home keysym uring = uring quotedbl End keysym f = f F Prior keysym b = b B Next
Potíž ale nastala v Matlabu, tam to prostě nefunguje.
Proto jsem hledal dál a našel jsem xbindkeys. Tam zase nastala potíž v tom, že spojení s CapsLockem nefunguje moc dobře - k emulaci klávesy (xte, nutno případně doinstalovat) se musí přidat krátký sleep, asi na rozpoznání toho, že je CapsLock aktivován, jinak to nefunguje (~/.xbindkeysrc):
keystate_capslock = enable
"sleep 0.1; xte key Up"
m:0x12 + k
"sleep 0.1; xte 'key Down'"
m:0x12 + j
"sleep 0.1; xte 'key Left'"
m:0x12 + h
"sleep 0.1; xte 'key Right'"
m:0x12 + l
Nakonec jsem se tedy rozhodl, že si zkratky udělám na levou a pravou klávesu Win. Jenže Linux Mint přes GUI nastaví jen obě najednou, takže jsem si vytahal nastavení (názvy akcí jsem našel v "/usr/lib/cinnamon-settings/modules/cs_keyboard.py", respektive https://github.com/GNOME/gsettings-desktop-schemas/blob/master/schemas/wm-schemas.convert; názvy kláves v /usr/include/X11/keysymdef.h - píší se bez XK_) a vytvořil si skript, kterým si nastavuji veškeré mapování a globální zkratky ručně (je to i rychlejší a lépe přenosné:) ).
Z terminálu se globální nastavení například uloží jako:
gsettings set org.gnome.desktop.wm.keybindings switch-windows "['<Alt>Tab']"
Zde ale nejde používat rozlišení pravé a levé klávesy. Já chtěl namapovat klávesy systému jen na pravý Win, proto se ještě musí editovat soubor:
sudo gedit /usr/share/X11/xkb/symbols/pc
(dle http://askubuntu.com/questions/401884/mapping-left-ctrlright-ctrl-to-switch-windows), přidat (upravit):
//modifier_map Control{ Super_L, Super_R }; modifier_map Control{ Super_R };
U mě ale ani tohle nepomohlo.
Reference Keybindings - Ubuntu Wiki.
Tento web jsem zakládal na střední, v roce 2008. Je zde hlavně archiv mé tvorby.
Aktuální věci publikuji kvůli úspoře času na Twitter.
Honza
"Náš blahobyt nespočívá v tom, co máme, ale v tom, co nás těší."