J'essaie de mapper:
Super+h -> Left
Super+j -> Down
Super+k -> Up
Super+l -> Right
globalement sous X. L'idée est que je ne veux pas quitter ma ligne d'accueil qui utilise souvent les touches fléchées, donc je vais utiliser le Super modificateur + HJKL pour imiter les touches fléchées sous X. Y a-t-il un moyen de faire cela ?
Une chose que j'ai essayée est xbindkeys + xte à l'aide de cette configuration:
"xte 'keydown Up' 'keyup Up'"
Mod4+k
"xte 'keydown Down' 'keyup Down'"
Mod4+j
"xte 'keydown Left' 'keyup Left'"
Mod4+h
"xte 'keydown Right' 'keyup Right'"
Mod4+l
mais il semble qu'un grand retard entre moi en appuyant sur la touche et remarquer aucun résultat et la plupart du temps, rien ne se passe du tout.
Y a-t-il un moyen plus élégant de faire cela qui fonctionne réellement sans délai?
Créez ~/.xModmap et mettez cet intérieur:
clear Lock
keycode 66 = ISO_Level3_Shift
Ajouter Left
, Down
, Up
, Right
en tant que troisième élément aux entrées clés H, J, L dans /usr/share/X11/xkb/symbols/us
(la première section):
key { [ h, H, Left, Left ] };
key { [ j, J, Down, Down ] };
key { [ k, K, Up, Up ] };
key { [ l, L, Right, Right ] };
cours xmodmap ~/.Xmodmap
Ceci est ma configuration actuelle. J'ai déménagé Control_L comme une clé de contrôle et utilisez-la sous forme de modificateur spécial (ISO_LEVEL3_SHIFT), ce qui correspond à la troisième entrée du /usr/share/X11/xkb/symbols/us
Fichier pour les mappages HJKL.
J'ai modifié la première Stanza of/USR/Share/X11/XKB/Symboles/US Aimez-nous avant:
key { [ h, H, Left, Left ] };
key { [ j, J, Down, Down ] };
key { [ k, K, Up, Up ] };
key { [ l, L, Right, Right ] };
Ensuite, je mets ceci dans mon fichier ~/.xmodmap:
clear Control
keycode 66 = Control_L
add Control = Control_L
add Control = Control_R
keycode 37 = ISO_Level3_Shift
keycode 66
est capslock et keycode 37
est laissé le contrôle
Avec cette configuration, je peux utiliser des flèches avec Control_L + HJKL et sauter des mots avec Control_L + Caps + HL. Facile!
Les modifications mentionnées ci-dessus dans USR/Share/X11/XKB/Symboles/US Ne fonctionne pas pour moi:
Erreur lors du chargement de la nouvelle description du clavier
Mais après avoir examiné à travers beaucoup de howtos contradictoires, j'ai monté une solution, qui mappe la touche Super gauche (touche Windows gauche/Mod4) en combinaison avec HJKL à gauche, en bas, en hausse, à droite. Ceci est un cadre à l'échelle du système.
Ajoutez ce bloc à la fin de la première section (juste avant };
) de votre /USR/Share/x11/xkb/symboles/US:
//hjkl
//AltGr + hjkl
key <AC06> { [ h, H, Left ] };
key <AC07> { [ j, J, Down ] };
key <AC08> { [ k, K, Up ] };
key <AC09> { [ l, L, Right ] };
//Super_L -> Alt Gr
key <LWIN> { [ ISO_Level3_Shift ] }; //see below!
La première ligne de la ligne clé est altgr + H à gauche.
[.____] la dernière ligne de clé rend la touche Super Key de gauche comme Altgr.
Voici:
Super + H -> GAUCHE
Super + J -> Down
[.____] Super + K -> Up
Super + L -> Droite
Pour appliquer les nouveaux paramètres, exécutez SETXKBMAP ou redémarrez votre système.
IMPORTANT: Cela désactive évidemment la super-clé, donc si vous utilisez votre super clé à d'autres fins (c'est-à-dire déplacer une fenêtre vers un autre espace de travail), vous ne devriez pas le remettre comme ceci.
[.____] Pour utiliser Caps Lock au lieu de Super, modifiez la dernière ligne clé avec:
key <CAPS> { [ ISO_Level3_Shift ] };
Voici la première section complète de mon fichier de configuration:
default
partial alphanumeric_keys modifier_keys
xkb_symbols "basic" {
name[Group1]= "English (US)";
// Alphanumeric section
key <TLDE> { [ Grave, asciitilde ] };
key <AE01> { [ 1, exclam ] };
key <AE02> { [ 2, at ] };
key <AE03> { [ 3, numbersign ] };
key <AE04> { [ 4, dollar ] };
key <AE05> { [ 5, percent ] };
key <AE06> { [ 6, asciicircum ] };
key <AE07> { [ 7, ampersand ] };
key <AE08> { [ 8, asterisk ] };
key <AE09> { [ 9, parenleft ] };
key <AE10> { [ 0, parenright ] };
key <AE11> { [ minus, underscore ] };
key <AE12> { [ equal, plus ] };
key <AD01> { [ q, Q ] };
key <AD02> { [ w, W ] };
key <AD03> { [ e, E ] };
key <AD04> { [ r, R ] };
key <AD05> { [ t, T ] };
key <AD06> { [ y, Y ] };
key <AD07> { [ u, U ] };
key <AD08> { [ i, I ] };
key <AD09> { [ o, O ] };
key <AD10> { [ p, P ] };
key <AD11> { [ bracketleft, braceleft ] };
key <AD12> { [ bracketright, braceright ] };
key <AC01> { [ a, A ] };
key <AC02> { [ s, S ] };
key <AC03> { [ d, D ] };
key <AC04> { [ f, F ] };
key <AC05> { [ g, G ] };
key <AC06> { [ h, H ] };
key <AC07> { [ j, J ] };
key <AC08> { [ k, K ] };
key <AC09> { [ l, L ] };
key <AC10> { [ semicolon, colon ] };
key <AC11> { [ apostrophe, quotedbl ] };
key <AB01> { [ z, Z ] };
key <AB02> { [ x, X ] };
key <AB03> { [ c, C ] };
key <AB04> { [ v, V ] };
key <AB05> { [ b, B ] };
key <AB06> { [ n, N ] };
key <AB07> { [ m, M ] };
key <AB08> { [ comma, less ] };
key <AB09> { [ period, greater ] };
key <AB10> { [ slash, question ] };
key <BKSL> { [ backslash, bar ] };
// End alphanumeric section
//hjkl
//AltGr + hjkl
key <AC06> { [ h, H, Left ] };
key <AC07> { [ j, J, Down ] };
key <AC08> { [ k, K, Up ] };
key <AC09> { [ l, L, Right ] };
//Super_L -> Alt Gr
key <LWIN> { [ ISO_Level3_Shift ] };
};
J'espère que cela aide quelqu'un là-bas ...
Si quelqu'un a une meilleure solution, merci de me le faire savoir.
Modifier: Testé sur Fedora.
Je n'ai pas essayé cela moi-même mais il semble que XKB pourrait faire ce que vous voulez http://fr.wikipedia.org/wiki/x_keyboard_extension .
J'ai un paquet à Ubuntu appelé x11-xkb-utils qui sonne promettant :)
Enfin, il semble que j'ai trouvé la solution qui fonctionne avec tous les modificateurs (Ctrl +, Maj +, Ctrl + Shift +) et SUBLIMIMIME TEXT 2.
Toute gloire va à cette configuration de la GEM que j'ai trouvée récemment http://www.spinics.net/lists/xorg/msg35931.html . Il décrit des flèches ijkl, mais elle peut être facilement modifiée pour la navigation HJKL. Vous devez mettre à jour votre fichier de mise en page de clavier/USR/Share/x11/xkb/symboles/* (Personnely, i Utilisez/USR/Share/X11/XKB/Symboles/Typo, que j'inclus dans la mise en page de mon clavier avec XKB Option "MISC: TYPO", donc cela fonctionne pour toute mise en page de clavier). La configuration suppose que la touche de modificateur Envoyer ISO_LEVEL3_SHIFT (il existe de nombreuses façons de se lier Super ou Alt à Iso_Level3_Shift).
Les définitions clés doivent ressembler (utilisez Nosymbol si vous modifiez ../symbols/typo):
key <AC07> {
type="MOD5_NAV",
[NoSymbol, NoSymbol, Down, Down],
actions[Group1] = [NoAction(), NoAction(), RedirectKey(key=<DOWN>, clearmods=ISO_Level3_Shift)]
};
De plus, vous devez modifier/USR/Share/x11/Types/Basic et Caisse Type "mod5_nav":
type "MOD5_NAV" {
modifiers = Shift+Mod5;
map[None] = level1;
map[Shift] = level2;
map[Mod5] = level3;
map[Mod5+Shift] = level3;
level_name[Level1] = "Base";
level_name[Level2] = "Caps";
level_name[Level3] = "Arrows";
};
En ce qui concerne le texte sublime 2, la solution est plus délicate et pirate. Comme mentionné ci-dessus, le texte sublime 2 lit des codes clés directement à partir du périphérique, puis ignore certaines fonctionnalités de XKB (et XKB Trick avec des flèches n'a aucun effet). Il existe un projet presque abandonné mais toujours de travail, Gizmo Daemon http://gizmod.sourceforge.net/ . Après quelques difficultés et googling, je l'ai compilée avec succès sur mon rêve de Debian. Ensuite, j'ai créé ce script gizmod et l'ai placé à ~/.gizmod/modules.d/010-keyboardvimode-sublimetextext2.py http://pastebin.com/hnqggewd
P.s. Sur Linux, KeyboardRemap4mackook Parfois. Cette grande paix du logiciel OS X peut permettre une telle navigation (et beaucoup d'autres choses) avec quelques cases à cocher.
Je suis un utilisateur HHKB sur Debian/Ubuntu et cette solution fonctionne pour moi.
utilisation Left Ctrl à la clé active.
$ vi ~/.Xmodmap
keycode 37 = ISO_Level3_Shift
Ajoutez ce code sous // End alphanumeric section
dans le bloc base Block dans /USR/Share/X11/XKB/Symboles/US
//hjkl
//Ctrl + hjkl
key <AC06> { [ h, H, Left ] };
key <AC07> { [ j, J, Down ] };
key <AC08> { [ k, K, Up ] };
key <AC09> { [ l, L, Right ] };
Maintenant, vous devriez pouvoir utiliser la touche gauche, bas, haut et droite avec Ctrl + h, j, k, l.
Au fait, si vous avez utilisé pentatadactyl sur firefox, vous pouvez ajouter ce code dans ~/.pentadactylrc
map -modes=i,c <C-down> <down>
map -modes=i,c <C-up> <up>
J'ai trouvé AutoKey et c'est mieux pour la cartographie.
Je crois que le lien clavier clé - Emulez le clavier sur ordinateur portable - Ask Ubunt Peut vous aider.
Celui-ci travaille pour moi sur la voûte. Il remapose les capuchons + HJKL aux touches fléchées et décaltiquer + bouchons sur les capuchons.
Mettez ce qui suit dans ~/.Xmodmap
:
! Remap caps lock to special modifier, but still allow shift+caps to
toggle caps lock
clear lock
clear mod5
add lock = Mode_switch
keycode 66 = Mode_switch Caps_Lock NoSymbol NoSymbol
keycode 43 = h H Left Left
keycode 44 = j J Down Down
keycode 45 = k K Up Up
keycode 46 = l L Right Right
Redémarrez ou réglez-le avec xmodmap ~/.Xmodmap
Si vous obtenez une erreur comme:
X Error of failed request: BadValue (integer parameter out of range for operation)
Cela signifie probablement que vous devez effacer autre chose que mod5
(tout ce qui est actuellement réglé sur Mode_switch
). Vérifiez vos mappages de modificateur actuels avec xmodmap
.