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...
Mezinárodní den biologické rozmanitosti.

Do východu slunce 6 hodin a 13 minut (vyjde 08:09, zapadne 16:00).

"Nezbytným krokem k tomu, abyste od života získali věci, po kterých toužíte, je rozhodnout se, co vlastně chcete."

B. Stein
Galerie nemohla být načtena.
Jméno:
Číselně: dva a čtyři je
Zpracovávám si tak tuhle stránku a najednou koukám - Vás odněkud znám, ne? Neviděli jsme se v nějakém komentáři?
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 | 1715x

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.62253 s, generování: 0.0447 s, paměť: 1.21 MB, sql dotazů: 8, CPU: 14.31

.