рд▓рд┐рдирдХреНрд╕ рдХреАрдмреЛрд░реНрдб рд╕реЗрдЯрдЕрдк

рдореБрдЭреЗ рдХреАрдмреЛрд░реНрдб рдХреЛ рдХрд╕реНрдЯрдорд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ?


рдЖрдк рдорд╛рдирдХ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХрднреА-рдХрднреА рдкрд░рд┐рд╡рд░реНрддрди рддреЗрдЬреА рд╕реЗ рдЯрд╛рдЗрдк рдХрд░рдирд╛ рд╕рдВрднрд╡ рдмрдирд╛рддреЗ рд╣реИрдВ (рдпрд╣, рдЬрд╝рд╛рд╣рд┐рд░ рд╣реИ, рдПрдХ рдЕрдВрдзрд╛ рдкреНрд░рд┐рдВрдЯ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА), рдХрдо рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдХрд░реЗрдВ, рд▓реЗрдЖрдЙрдЯ рдХрдо рдХрд░реЗрдВ ...


рдореИрдВ рдЕрдкрдирд╛ рдХреАрдмреЛрд░реНрдб рдХреНрдпреЛрдВ рдмрджрд▓рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛?


рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЬрдм рдореИрдВрдиреЗ рдЗрд╕реЗ vimрдореБрдЦреНрдп рд╕рдВрдкрд╛рджрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛, рддреЛ рдореБрдЭреЗ рдПрд╣рд╕рд╛рд╕ рд╣реБрдЖ рдХрд┐ рдореИрдВ рд╣рд░ рдмрд╛рд░ рдирд╣реАрдВ рдкрд╣реБрдВрдЪрдирд╛ рдЪрд╛рд╣рддрд╛ ESCред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореИрдВрдиреЗ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдЕрдЬрдЧрд░ рдореЗрдВ рд▓рд┐рдЦрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ ;рдЕрдХреНрд╕рд░ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рдХрдо рджрдмрд╛рдпрд╛ :, рдФрд░ vimрдЕрдВрддрд░ рдЕрдзрд┐рдХ рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЧрдпрд╛ред


рджреВрд╕рд░реЗ, рдереЛрдбрд╝реА рджреЗрд░ рдХреЗ рдмрд╛рдж рдореИрдВрдиреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдиреЗрд╡рд┐рдЧреЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рдореЛрд╡ рд╕рдВрдпреЛрдЬрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛, рдлрд┐рд░ рдЯрд╛рдЗрд▓ рдЦрд┐рдбрд╝рдХреА рдкреНрд░рдмрдВрдзрдХ i3, рдЬрд╣рд╛рдВ рд╡реЗ рднреА рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдереЗ, рдФрд░ рдореИрдВ рдЙрдиреНрд╣реЗрдВ рд╣рд░ рдЬрдЧрд╣ рд╕реНрд╡рд┐рдЪ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ (рд╕рд╛рдорд╛рдиреНрдп рддреАрд░ рдХреЗ рдмрдЬрд╛рдп, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдлрд╝рд╛рдЗрд▓ рдкреНрд░рдмрдВрдзрдХ рдореЗрдВ)ред


рддреАрд╕рд░рд╛, рдЬрдм рдореИрдВрдиреЗ рдиреЛрдЯреНрд╕ рд▓рд┐рдЦрдирд╛ рд╢реБрд░реВ TeXрдХрд┐рдпрд╛ vim, рддреЛ рдореБрдЭреЗ рдПрд╣рд╕рд╛рд╕ рд╣реБрдЖ рдХрд┐ рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╕рд░рд▓ рдФрд░ рддреЗрдЬ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ; рдпрджрд┐ рдЕрдВрдЧреНрд░реЗрдЬреА рдФрд░ рд░реВрд╕реА рд▓реЗрдЖрдЙрдЯ рдПрдХ-рджреВрд╕рд░реЗ рдХреЗ рд╕рдорд╛рди рд╣реИрдВ, рддреЛ рдореИрдВ рдЙрд╕реА рддрд░рд╣ рдХреЗ рдЕрдХреНрд╖рд░ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдбреЙрдЯ, рдЕрд▓реНрдкрд╡рд┐рд░рд╛рдо, рдЙрджреНрдзрд░рдг рдЪрд┐рд╣реНрди, рдбреЙрд▓рд░) рджрд░реНрдЬ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред рд╕рд╛рде рд╣реА, рдЖрдкрдХреЛ рдЕрдХреНрд╕рд░ рднрд╛рд╖рд╛ рдХреЛ рдмрджрд▓рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рдЗрд╕реЗ рдЬрд▓реНрджреА, рдордЬрд╝рдмреВрддреА рд╕реЗ рдФрд░ рдЖрд╕рд╛рдиреА рд╕реЗ рдХрд░рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИред


рд▓реЗрдЖрдЙрдЯ рд╕реНрд╡рд┐рдЪ рд╕реЗрдЯрд┐рдВрдЧ


рдЦреИрд░, рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЖрдЗрдП рдЬрд╛рдиреЗрдВ рдХрд┐ рдЖрдк рдХреАрдмреЛрд░реНрдб рд▓реЗрдЖрдЙрдЯ рдкрд░рд┐рд╡рд░реНрддрди рдХреЛ рдХреИрд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред


  • рдкрд╣рд▓рд╛ рддрд░реАрдХрд╛ред рдЖрдк рдХреБрдЫ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП gnome-tweaks:
    рдпрд╣рд╛рдВ рд╣рдо рдбреЗрд╡рд▓рдкрд░реНрд╕ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рд╡рд┐рдХрд▓реНрдкреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдЪреБрди рд╕рдХрддреЗ рд╣реИрдВ ред
    рдЙрджрд╛рд╣рд░рдг рдЙрдмрдВрдЯреВ рдХреЗ рд▓рд┐рдП `рд╕реВрдХреНрддрд┐-tweaks`
    рдореБрдЦреНрдп рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рд╣рдо рдЕрдкрдирд╛ рд╕рдВрд╕реНрдХрд░рдг рдирд╣реАрдВ рдмрдирд╛ рд╕рдХрддреЗред рдЖрдЗрдП рдЗрд╕реЗ рднреА рдХрд░рдирд╛ рд╕реАрдЦреЗрдВред


  • .
    , , .
    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 ] };

    , .




рдЗрд╕реА рддрд░рд╣, рдЖрдк рдкрд╛рдВрдЪрд╡реАрдВ рдкрд░рдд рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЕрднреА рддрдХ рдореБрдЭреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдХреЛрдИ рдЬрд╝рд░реВрд░рдд рдирд╣реАрдВ рд╣реИ - рддреАрд╕рд░рд╛ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред


рдЕрдВрдд рдореЗрдВ рдмреИрдХрд╕реНрдкреЗрд╕ рдХрд╛ рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рд╕рдВрд╕реНрдХрд░рдг


рдФрд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдХреАрдмреЛрд░реНрдб рдХреЗ рджреВрд░ рдХреЗ рдХреЛрдиреЗ рдореЗрдВ рджреВрд░ рддрдХ рдкрд╣реБрдБрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛ?
рдпрд╣ рд░рдЦреЛ BackSpaceрдкрд░ $mod3+Space( $mod3рд╣рдорд╛рд░реЗ рддреАрд╕рд░реЗ рд╕реНрддрд░ рд╕рдВрд╢реЛрдзрдХ)!


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

рдкреБрдирд╢реНрдЪ


рд╕рднреА рд╕реЗрдЯрд┐рдВрдЧреНрд╕, рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдПрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рд╕реА рднреА рд▓рд┐рдирдХреНрд╕ рд╡рд┐рддрд░рдг рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддреА рд╣реИрдВред


рдкреВрд░реНрдг рд╡рд┐рдиреНрдпрд╛рд╕ GitHub рдкрд░ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ ред


рдпрд╣ рдкреЛрд╕реНрдЯ рдореЗрд░реЗ рд▓рд┐рдП рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдмрд┐рдВрджреБ рдмрди рдЧрдпрд╛ рд╣реИ рдХрд┐ рдХреАрдмреЛрд░реНрдб рдХреИрд╕реЗ рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

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


All Articles