JanKoWeb: Produktivita - Linux Mint: konfigurace klávesových zkratek pomocí skriptu a s tím spojené potíže
"Nemusí pršet, stačí když kape..."
JanKoWeb - návody, postřehy a rady ze světa softwaru pro každého.
Recenze knih a humorná tvorba pro chvíle oddechu...
Světový den veterinárních lékařů.

Do východu slunce asi 6 hodin a 38 minut (dnes vyšlo 05:05, zapadlo 21:10).

"Vést rozhovor je umění."

nn
Galerie nemohla být načtena.
Jméno:
Číselně: tři a jedna je
Přijde kostra k doktorovy a... Ne, jde se pracovat - můžete mi napsat nějaký komentář?
Při každém obnovení stránky se zde vypíše zpráva skriptu.

Skript je zdrojový kód interpretovaného programu.

Pohání celý tento web a rád komunikuje s návštěvníky.-)
RSS RSS zdroj článků a novinek

Linux Mint: konfigurace klávesových zkratek pomocí skriptu a s tím spojené potíže

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.

Xmodmaps

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.

Xbindkeys

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

Vlasní skript s xbindkeys

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.

Rubrika Produktivita | Tagy Zkratky, Linux | Po 10.03.2014 | 1664x

Náhodné články

© 2008-2025 JK, kontakt, právní upozornění
Powered by Janko's RS| XHTML, CSS, RSS, analýza kódu, SEO servis, dostupnost, hosting, líbí se Vám tu?
Požadavek: 0.25868 s, generování: 0.02598 s, paměť: 1.21 MB, sql dotazů: 8, CPU: 22.53

.