Linux Tastatur-Setup

Warum muss ich die Tastatur anpassen?


Sie können die Standardeinstellungen verwenden, aber manchmal ermöglichen die Änderungen eine schnellere Eingabe (dies ist natürlich kein Blinddruck, aber dennoch), weniger Fehler, weniger Layoutwechsel ...


Warum wollte ich meine Tastatur ändern?


Als ich anfing, es vimals Haupteditor zu verwenden, wurde mir zunächst klar, dass ich nicht jedes Mal erreichen wollte ESC. Außerdem schrieb ich hauptsächlich in Python, so dass ich ;viel seltener drückte als :und der vimUnterschied wurde deutlicher.


Zweitens begann ich nach einer Weile, Vimov-Kombinationen fĂĽr die Navigation im Browser zu verwenden, dann den Kachelfenstermanager i3, in dem sie auch verwendet wurden, und ich wollte ĂĽberall zu ihnen wechseln (anstelle der ĂĽblichen Pfeile, zum Beispiel im Dateimanager).


Drittens , wenn ich zu schreiben Notizen über begann TeXin vim, erkannte ich, dass ich wirklich auf diesen Prozess vereinfachen und beschleunigen könnten; Wenn die englischen und russischen Layouts einander ähnlicher sind, kann ich dieselben Zeichen (z. B. Punkt, Komma, Anführungszeichen, Dollar) auf dieselbe Weise eingeben. Außerdem müssen Sie häufig die Sprache ändern, sodass Sie dies schnell, zuverlässig und bequem tun können.


Einstellung des Layoutschalters


Nun, fangen wir an. Lassen Sie uns zunächst herausfinden, wie Sie eine Änderung des Tastaturlayouts konfigurieren können.


  • Der erste Weg. Sie können zum Beispiel ein Programm verwenden gnome-tweaks:
    Hier können wir eine der von Entwicklern angebotenen Optionen auswählen .
    Beispiel `gnome-tweaks` fĂĽr Ubuntu
    Die Hauptsache ist, dass wir keine eigene Version erstellen können. Lass uns auch lernen, das zu tun.


  • .
    , , .
    Alt ( AltGr):


    $ setxkbmap -layout us,ru -option grp:toggle

    , , ? /usr/share/X11/xkb/symbols/. /usr/share/X11/xkb/symbols/group. :


    partial modifier_keys
    xkb_symbols "toggle" {
    virtual_modifiers AltGr;
    key <RALT> {
        symbols[Group1] = [ ISO_Next_Group ],
        virtualMods = AltGr
    };
    };

    , , , , , .




AltGr : AltGr , Shift+AltGr — .


- , :


$ setxkbmap -layout us,ru -print

- (pc105 ):


xkb_keymap {
    xkb_keycodes  { include "evdev+aliases(qwerty)" };
    xkb_types     { include "complete"  };
    xkb_compat    { include "complete"  };
    xkb_symbols   { include "pc+us+ru:2+inet(evdev)"  };
    xkb_geometry  { include "pc(pc105)" };
};

~/.config/xkb/config.


/usr/share/X11/xkb/symbols/group CapsLock, , us ISO_First_Group, ru — ISO_Second_Group.



key <CAPS> { [ ISO_First_Group, ISO_Last_Group ] }; 

, <CAPS> ISO_First_Group, Shift — ISO_Last_Group.


xkb_symbols:


xkb_keymap {
    xkb_keycodes  { include "evdev+aliases(qwerty)" };
    xkb_types     { include "complete"  };
    xkb_compat    { include "complete"  };
    xkb_geometry  { include "pc(pc105)" };

    xkb_symbols "my"  { 
    include "pc+us+ru:2+inet(evdev)"  

    key <RALT> { [ ISO_First_Group, ISO_Last_Group ] }; 
    };
};

, . :


$ xkbcomp $HOME/.config/xkb/config $DISPLAY

.



, , (, TeX), , , , , , . , .


— .




. , . /usr/share/X11/xkb/symbols/. us :


key <AC10> { [ semicolon, colon ] };      

.


ESC CapsLock


ESC CapsLock. capslock :


hidden partial modifier_keys
xkb_symbols "swapescape" {
    key <CAPS> { [ Escape ] };
    key <ESC>  { [ Caps_Lock ] };
};
hidden partial modifier_keys
xkb_symbols "escape" {
    key <CAPS> { [ Escape ] };
};

partical — , .
include "swapescape", .


Alt Win


, , Alt Win, i3wm, Win, , Alt (, ...).



? , - - , , .


: level3, level5. Shift.


, CapsLock h, j, k, l . .


( ESC, : ):


key <CAPS> { [ ISO_Level3_Shift ] };

, :


name[group1] = "English (US)";
name[group2] = "Russian";


key <CAPS> {
    symbols[group1] = [ ISO_Level3_Shift ],
    symbols[group2] = [ Caps_Lock ]
}

h, j, k, l. — , . <AC06>,… <AC09>. . :


key <AC06> { [ h, H, KP_Left  ] };
key <AC07> { [ j, J, KP_Down  ] };
key <AC08> { [ k, K, KP_Up    ] };
key <AC09> { [ l, L, KP_Right ] };

, — , — .



.
, CapsLock — ESC.


xcape, , , . : , .


, , CapsLock ESC, .



$ xcape -t <  > -e " = "

500 . :


$ xcape -t 500 -e "ISO_Level3_Shift=Escape"


TeX, , . . , , , , , ...


:


  1. .
    :



    ( /, , , ):


    key <AD03> {                                            
    type = "ALPHABETIC",
    type[group2] = "FOUR_LEVEL",
    symbols[group2] = [Cyrillic_u, Cyrillic_U, Cyrillic_yu, Cyrillic_YU]
    };

    , .
    , ( ), , . .


  2. : , , .
    , (, - , , ).
    :


    key <AD11> {
    type[group2]="FOUR_LEVEL",
    symbols[group2]=[Cyrillic_ha, Cyrillic_HA, bracketleft, braceleft]
    };
    key <AD12> {
    type[group2]="FOUR_LEVEL",
    symbols[group2]=[Cyrillic_hardsign, Cyrillic_HARDSIGN, bracketright, braceright]
    };
    key <AC10> {
    type[group2]="FOUR_LEVEL",
    symbols[group2]=[Cyrillic_zhe, Cyrillic_ZHE, colon, semicolon]
    };
    key <AC11> {
    type[group2]="FOUR_LEVEL",
    symbols[group2]=[Cyrillic_e, Cyrillic_E, apostrophe, quotedbl]
    };
    key <AB08> {
    type[group2]="FOUR_LEVEL",
    symbols[group2]=[Cyrillic_be, Cyrillic_BE, comma, less]
    };
    key <AB09> {
    type[group2]="FOUR_LEVEL",
    symbols[group2]=[Cyrillic_yu, Cyrillic_YU, period, greater]
    };

    , .


    key <AB10> {
    symbols[group2]=[slash, question]
    };

    , , , .


    key <AE03> { [ 3, numbersign, number, apostrophe ] };
    key <AE04> { [ 4, dollar ] };
    key <AE06> { [ 6, asciicircum ] };
    key <AE07> { [ 7, ampersand ] };

    , .




Ebenso können Sie eine fünfte Ebene hinzufügen, obwohl ich persönlich bisher keine Notwendigkeit verspüre - die dritte ist genug.


Eine interessante Version von BackSpace am Ende


Und vielleicht genug, um weit in die hinterste Ecke der Tastatur zu gelangen?
Zieh es BackSpacean $mod3+Space( $mod3unser Modifikator der dritten Stufe)!


key <SPCE> { [ space, space, BackSpace, BackSpace ] };

PS


Alle Einstellungen gelten grundsätzlich für jede Linux-Distribution mit X.


Vollständige Konfigurationen finden Sie auf GitHub .


Dieser Beitrag ist fĂĽr mich zu einem Ausgangspunkt geworden, um zu verstehen, wie die Tastatur konfiguriert werden kann und sollte.

Source: https://habr.com/ru/post/undefined/


All Articles