XKB: рдЕрдкрдиреЗ рдкреНрд░рд┐рдп рдХреЗ рд▓рд┐рдП рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ

рдПрдХ рдареАрдХ рджрд┐рди рд╢рд┐рдлреНрдЯ рдХреЛ рджрдмрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реЗрд╢рд╛рди рдХрд░рддрд╛ рд╣реИ рддрд╛рдХрд┐ рдкреНрд░рддреАрдХ ~ рдХреЗ рдмрдЬрд╛рдп рджрд┐рдЦрд╛рдИ рджреЗред

CapsLock рдХреБрдВрдЬреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, Esc рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рд╕реЗ рдердХ рдЧрдпрд╛, рджреБрд░реНрд▓рднред

рдмреНрд░рд╢ рдХреЛ рдиреАрдЪреЗ рд▓реЗ рдЬрд╛рдиреЗ рдФрд░ рдПрдХ рдХрдордЬреЛрд░ рдЫреЛрдЯреА рдЙрдВрдЧрд▓реА рдХреЗ рд╕рд╛рде Ctrl / Cmd / Win рджрдмрд╛рдиреЗ рд╕реЗ рдердХ рдЧрдпрд╛, рдпрд╛, рднрдЧрд╡рд╛рди рди рдХрд░реЗ, рдЕрдкрдиреЗ рдЕрдВрдЧреВрдареЗ рдХреЗ рд╕рд╛рде рдЙрдирдХреЗ рд▓рд┐рдП рдкрд╣реБрдВрдЪреЗрдВред

PgUp, PgDn, Home рдФрд░ End рдХреЗ рд▓рд┐рдП рдЪрдврд╝рд╛рдИ рд╕реЗ рдердХ рдХрд░ рд╣рд░ рдмрд╛рд░ рдЕрдкрдирд╛ рд╣рд╛рде рд╣рд┐рд▓рд╛рддреЗ рд╣реБрдП, рдмрд╕ рдкреГрд╖реНрда рдХреЛ рдиреАрдЪреЗ рд╕реНрдХреНрд░реЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред

рд╣рд░ рдмрд╛рд░ рдЬрдм рдЖрдк рдПрдХ рдЯрд╛рдЗрдкреЛ рдмрдирд╛рддреЗ рд╣реИрдВ, рддреЛ рдмреИрдХрд╕реНрдкреЗрд╕ рдмрдЯрди рдХреА рддрд▓рд╛рд╢ рдореЗрдВ рдХреАрдмреЛрд░реНрдб рдХреЛ рджреЗрдЦ рд▓реЗрдВред







рдЖрдЬ рд╣рдо рдЬрд╛рдиреЗрдВрдЧреЗ рдХрд┐ рдХреИрд╕реЗ рдЗрди рдХрд╖реНрдЯреЛрдВ рд╕реЗ рд╣рдореЗрд╢рд╛ рдХреЗ рд▓рд┐рдП рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдПрдВред



рдпрд╣ рд╕рдм рдХреНрдпреЛрдВ рд╣реИ?



рдХрдо рдХреБрдВрдЬрд┐рдпрд╛рдБ рджрдмрд╛рдиреЗ рдХреЗ рд▓рд┐рдПред рдЕрдкрдиреА рдЙрдВрдЧрд▓рд┐рдпреЛрдВ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрди рдЪрд╛рдмрд┐рдпреЛрдВ рдХреЛ рдХрдо рдХрд░реЗрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдо рдЕрдХреНрд╕рд░ рджрдмрд╛рддреЗ рд╣реИрдВред рдЕрдкрдиреЗ рд╣рд╛рдереЛрдВ рдХреЛ рдХрдо рдердХрд╛ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдПред рдпрд╣ рдпрд╛рдж рд░рдЦрдирд╛ рдЖрд╕рд╛рди рд╣реИ рдХрд┐ рдХрд╣рд╛рдВред рд╕рдм рдХреЗ рдмрд╛рдж, рддреЗрдЬреА рд╕реЗ рдкреНрд░рд┐рдВрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред



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



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



рдЕрдкрдВрдЧ рдХрд╛ рдкрд╣рд▓рд╛ рдЪрд░рдг



рдорд╛рдирдХ рд▓реЗрдЖрдЙрдЯ рдХреЛ рдЕрдкрдиреЗ рд▓рд┐рдП рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рдХрдИ рддрд░реАрдХреЗ рд╣реИрдВред рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдпрд╣рд╛рдВ рдХреЛрдИ рднреА рдмрд╛рд╣рд░реА рдЖрдИрдмрд╕, Fcitx, SCIM рдпрд╛ UIM рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рд░ рдХреЛрдИ рдорд╛рдирдХ X рдХреАрдмреЛрд░реНрдб рдПрдХреНрд╕рдЯреЗрдВрд╢рди, XKB рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рдЖрдЧрд╛рдореА рд╡реЗрд▓реИрдВрдб рдбреЗрд╕реНрдХрдЯреЙрдк рдореЗрдВ, XKB рдХреАрдмреЛрд░реНрдб рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реЛрдЧрд╛, рд╕рд╛рде рд╣реА рд╕рд╛рде Xorg рдореЗрдВ рднреАред рдЕрдЧрд░ рдЕрдЪрд╛рдирдХ рдбреЗрдпрд░рдбреЗрд╡рд┐рд▓реНрд╕ рд╣реИрдВ рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА XWayland рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЕрдкрдиреЗ рдЫрд╛рдкреЛрдВ рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░реЗрдВ рдпрджрд┐ рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рд╡рд░реНрдгрд┐рдд рдЖрдкрдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдореИрдВ рдХреИрдирдирд┐рдХрд▓ рдХреЗ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╡реЗрд▓реИрдВрдб рдореАрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдирд╣реАрдВ рдХрд╣ рд╕рдХрддрд╛, рд╕рд┐рд╡рд╛рдп рдЗрд╕рдХреЗ рдХрд┐ рд╡реЗ рдХреАрдмреЛрд░реНрдб рдЗрдВрдЯрд░реИрдХреНрд╢рди рд╕рдмрд╕рд┐рд╕реНрдЯрдо рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдирд╣реАрдВ рд░рдЦрддреЗ рд╣реИрдВред



рдкрд╣рд▓реА рдмрд╛рдд рдЬреЛ рджрд┐рдорд╛рдЧ рдореЗрдВ рдЖрддреА рд╣реИ рд╡рд╣ рд╣реИ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреА рдЪрд┐рддреНрд░рдордп рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ред рдИрдорд╛рдирджрд╛рд░ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдЗрд╕ рдХрджрдо рдХреЛ рдЫреЛрдбрд╝ рджрд┐рдпрд╛, рдФрд░ рддреБрд░рдВрдд xmodmap рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред рдиреАрдЪреЗ рдореИрдВ рдЖрдкрдХреЛ рдмрддрд╛рдКрдВрдЧрд╛ рдХрд┐ рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдореЗрдВ рдХреНрдпрд╛ рдЧрд▓рдд рд╣реИ рдФрд░ рдЗрд╕реЗ рд╕рд╣реА рдХреИрд╕реЗ рдХрд░рдирд╛ рд╣реИред



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

$ xmodmap -e "keycode 47 = colon semicolon Cyrillic_zhe Cyrillic_ZHE"
      
      





рдЖрдкрдХреЛ рдЗрд╕реЗ .xsession рдпрд╛ .xinitrc рд╕реЗ рдЪрд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЙрджреНрдзрд░рдг рдЪрд┐рд╣реНрдиреЛрдВ рдореЗрдВ рдЕрдВрддрд┐рдо рджреЛ рддрд░реНрдХ рд╡рд┐рдирд┐рдордп рдХреЗ рджреМрд░рд╛рди рдЕрдХреНрд╖рд░реЛрдВ рдХреЛ w рдФрд░ f рд╕реЗ рди рдЦреЛрдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдВрдЧреЗред



рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╡рд┐рдирд┐рдордп рдХрд░реЗрдЧрд╛ ~ рдФрд░ ` :

 $ xmodmap -e "keycode 49 = asciitilde grave Cyrillic_io Cyrillic_IO"
      
      





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



рдХреНрдпрд╛ рдЖрдкрдХреЛ рдЕрдХреНрд╕рд░ Alt рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИ? рдпрджрд┐ рдЕрдЪрд╛рдирдХ рдирд╣реАрдВ, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ, рдореИрдВрдиреЗ рджреЗрдЦрд╛, рдХреЗрд╡рд▓ рдореЗрдиреВ-рд╕рдореГрджреНрдз рдЗрдВрдЯрд░рдлреЗрд╕ рдореЗрдВ рдРрд╕рд╛ рдХрд░рдирд╛ рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ рдЬрд┐рдореНрдк рдпрд╛ рд▓рд┐рдмреНрд░реЗ рдСрдлрд┐рд╕, рддреЛ рдЗрд╕реЗ рдПрдХ рд╕реНрд╡рд┐рдЪ рд░рд╛рдЗрдЯ рдСрд▓реНрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ AltGr рдХреЗ рд░реВрдк рдореЗрдВ рдЬрд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ:

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





Esc рдмрдирд╛рдо CapsLock



рдХрдИ рдЬреЛ рдЕрдХреНрд╕рд░ рд╡рд┐рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдпрд╛ рдХрдВрд╕реЛрд▓ рдореЗрдВ vi рд╕рдВрдпреЛрдЬрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдЬреЛ рдордВрдЪреЛрдВ рдкрд░ рдереЛрдбрд╝рд╛ рд╢рдкрде рд▓реЗрддреЗ рд╣реИрдВ, рдХреИрдкреНрд╕рд▓реЙрдХ рдХреБрдВрдЬреА рдкрд░ рдПрд╕реНрдХреЗрдк рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░рддреЗ рд╣реИрдВ:

  $ xmodmap -e "clear lock" $ xmodmap -e "keycode 0x42 = Escape"
      
      





рдЙрд╕реА рдХреЛ рдереЛрдбрд╝рд╛ рд╕рд░рд▓ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

  setxkbmap -option caps:escape
      
      





рдпрд╛ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЗрд╕ рддрд░рд╣, рдХреИрдкреНрд╕рд▓реЙрдХ рдХреЛ рдкреБрд░рд╛рдиреЗ рдЯреЛрди рдХреЗ рд╕реНрдерд╛рди рдкрд░ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдКрдВрдЪреЗ рд╕реНрд╡рд░ рдкрд░ рдкрддреНрд░рд╛рдЪрд╛рд░ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ:

  setxkbmap -option caps:swapescape
      
      





рдпреЗ рд░рд╣рд╕реНрдпрдордп рдкреИрд░рд╛рдореАрдЯрд░ рдХрд╣рд╛рдБ рд╕реЗ рдЖрддреЗ рд╣реИрдВ, рд╣рдо рдереЛрдбрд╝реА рджреЗрд░ рдмрд╛рдж рдкрддрд╛ рд▓рдЧрд╛рдПрдВрдЧреЗред



рдлреВрд▓



рдореИрдВ рд╢рд╛рдпрдж рдЖрдкрдХреЛ рдЖрд╢реНрдЪрд░реНрдпрдЪрдХрд┐рдд рдХрд░ рджреВрдВрдЧрд╛ рдпрджрд┐ рдореИрдВ рдХрд╣рддрд╛ рд╣реВрдВ рдХрд┐ рд╣рдордиреЗ рдкрд╣рд▓реЗ рдЬреЛ рдХрд┐рдпрд╛ рдерд╛ рд╡рд╣ рдмрд┐рд▓реНрдХреБрд▓ рд╕рд╣реА рдирд╣реАрдВ рдерд╛ред setxkbmap рдЕрднреА рднреА рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди xmodmap XKB рд╕реЗ рдкрд╣рд▓реЗ рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛, рдФрд░ рдХреЗрд╡рд▓ рд╕рдВрдЧрддрддрд╛ рдХреЗ рд▓рд┐рдП рд░рд╣рддрд╛ рд╣реИред рдЗрддрдирд╛ рд╣реА рдирд╣реАрдВ, рд╡рд╣ рдЖрдзреЗ рдХреАрдЬ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рднреА рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рд╣реИ, рдЙрд╕рдХреЗ рдХрд╛рдо рдХрд╛ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдФрд░ рд╕рд┐рджреНрдзрд╛рдВрдд рдЧреВрдврд╝ рд╕реЗ рдЕрдзрд┐рдХ рд╣реИ; рдЗрд╕реЗ рд╕рдордЭрдиреЗ рдХрд╛ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдХрд┐рд╕реА рдмрд┐рдВрджреБ рдкрд░ рдорд░ рдЬрд╛рдПрдЧрд╛, рдФрд░ рдЖрдкрдХреА рд╕рднреА рдЪрд╛рд▓реЗрдВ рджреЛрд╣рд░рд╛рдИ рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдП, рдХреЗрд╡рд▓ рдПрдХ рдФрд░ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХреА рдорджрдж рд╕реЗ, рдФрд░ рдЖрдк рдкрд░реЗрд╢рд╛рди рд╣реЛрдВрдЧреЗ рдФрд░, рд╕рдм рдХреБрдЫ рдХреЗ рдмрд╛рд╡рдЬреВрдж, рдлрд┐рд░ рд╕реЗ рджреЛ рддрд░реНрдЬрдиреА рдХреЗ рд╕рд╛рде рдкреНрд░рд┐рдВрдЯ рдХрд░реЗрдВрдЧреЗред



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

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореИрдВ рдЕрдХреНрд╕рд░ рдкрджрдирд╛рдо рд╡рд┐рди рдХреЗ рд╕рд╛рде рдХреБрдВрдЬреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рдЬреЛ рдХрд┐ рдПрдХ рдореЙрдб 4 рд╕рдВрд╢реЛрдзрдХ рд╣реИред рдпрд╣ рдореЗрд░реЗ рдХреАрдмреЛрд░реНрдб рдкрд░ рд╕реНрдерд┐рдд рд╣реИ, рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдирд╣реАрдВ рд╣реИ, рдЕрд░реНрдерд╛рддреН рдмрд╛рдПрдВ Alt рдФрд░ Ctrl рдХреЗ рдмреАрдЪред



рд╕рд╣реА рддрд░реАрдХрд╛ рд╣реИ



рдпрд╣ рд╕рдм xkbcomp рдХреЗ рд╕рд╛рде рдХрд░рдиреЗ рдХрд╛ рдЕрдзрд┐рдХрд╛рд░ рд╣реИред рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХрд╛ рдирд╛рдо, рдЬреИрд╕реЗ рдХрд┐ рдпрд╣ рдЖрджрдореА, рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рдХрдо рдЬрд╛рдирдХрд╛рд░реА рджреЗрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХреНрдпрд╛ рдХрд░рддрд╛ рд╣реИред рдХрдерд┐рдд рддреМрд░ рдкрд░ рдмрд╛рдЗрдирд░реА рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдХреАрдмреЛрд░реНрдб рд▓реЗрдЖрдЙрдЯ рдХреЗ рдкрд╛рдареНрдп рд╡рд┐рд╡рд░рдг рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдХрд░рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ рдЙрдиреНрд╣реЗрдВ рднреА рд▓реЛрдб рдХрд░рддрд╛ рд╣реИред рдЖрдЗрдП рдпрд╣ рд╕рдордЭрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ рдХрд┐ рдЬреЛ рд╣рдордиреЗ рдкрд╣рд▓реЗ рд╣реА рдХрд┐рдпрд╛ рд╣реИ рдЙрд╕реЗ рдХреИрд╕реЗ рдХрд░реЗрдВ, рдХреЗрд╡рд▓ рдЗрд╕рдХреА рдорджрдж рд╕реЗред



рдпрд╛рдж рд░рдЦреЗрдВ, рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдХрдИ рдРрд╕реА рдлрд╛рдЗрд▓реЗрдВ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддреЗ рд╣реИрдВ рдЬреЛ / usr / share / X11 / xkb / рдкреНрд░рддреАрдХреЛрдВ рдореЗрдВ рд╣реИрдВ, рдЬреИрд╕реЗ рдХрд┐ рд╣рдо, рдкреАрд╕реА рдФрд░ рдЖрд░рдпреВред рдпрд╣ рдордд рдХрд░реЛред рдпреЗ рдПрдХ рд╣реА рдмрд╛рд░ рдореЗрдВ рдкреВрд░реЗ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реА рдлрд╛рдЗрд▓реЗрдВ рд╣реИрдВред рдЕрдиреНрдп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП (рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЕрдЪрд╛рдирдХ рдПрдХ рд╣реИ), рдФрд░ рдпрджрд┐ рдЖрдк рд╡рд╣рд╛рдВ рдХреБрдЫ рдЧрдбрд╝рдмрдбрд╝ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЯрд╛рдЗрдкрд┐рдВрдЧ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб рднреА рдХрдард┐рди рд╣реИред рдЖрдкрдХреЛ рд╡рд╣рд╛рдВ рд╕рдВрд╢реЛрдзрд┐рдд рдлрд╛рдЗрд▓реЗрдВ рднреА рдирд╣реАрдВ рд░рдЦрдиреА рдЪрд╛рд╣рд┐рдП, рдФрд░ рдЖрдкрдХреЛ evdev.xml рдореЗрдВ рдХреБрдЫ рднреА рд▓рд┐рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред



рдорд╣рддреНрд╡рдкреВрд░реНрдг: рдпрджрд┐ рдЖрдк рдЕрдЪрд╛рдирдХ рдХреБрдЫ рдЧрд▓рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдПрдХреНрд╕ рдХреА рд░реАрдмреВрдЯрд┐рдВрдЧ рдЖрдкрдХреА рдорджрдж рдХрд░реЗрдЧреАред рдПрдХ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рд╣реИ, рдЖрдк рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рдмрд┐рдирд╛ setxkbmap рдХрдорд╛рдВрдб рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдпрд╣ рдЖрдкрдХреА рд╕рднреА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд▓реЗрдЖрдЙрдЯ рдореЗрдВ рд░реАрд╕реЗрдЯ рдХрд░ рджреЗрдЧрд╛ред



рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдореЗрдВ рд╡рд░реНрддрдорд╛рди рд▓реЗрдЖрдЙрдЯ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд╣рдореЗрдВ рд╕рднреА рдЬреЛрдбрд╝рддреЛрдбрд╝ рд╕реЗ рдкрд╣рд▓реЗ рдпрд╣ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

 $ setxkbmap -layout us,ru -print
      
      





рдЖрдЙрдЯрдкреБрдЯ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рдорд┐рд▓реЗрдЧрд╛:

 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(pc104)" }; };
      
      





рд╣рдо рдпрд╣ рд╕рдм рдПрдХ рдлрд╛рдЗрд▓ рдореЗрдВ рд▓рд┐рдЦреЗрдВрдЧреЗ, рдФрд░ рд╣рдо XDG рдХреЗ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рдкрд╛рд▓рди тАЛтАЛрдХрд░реЗрдВрдЧреЗ, рдФрд░ рдЗрд╕реЗ ~ / .config / xkb / my рдореЗрдВ рдбрд╛рд▓реЗрдВрдЧреЗред



рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ, рд╣рдо xkb_symbols рд▓рд╛рдЗрди рдореЗрдВ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ, рдмрд╛рдХреА рдХреЛ рдЕрдкрд░рд┐рд╡рд░реНрддрд┐рдд рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдШреБрдВрдШрд░рд╛рд▓реЗ рдмреНрд░реЗрд╕рд┐рдЬрд╝ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░реЗрдВ, рдФрд░ рдЗрд╕ рд▓рд╛рдЗрди рдХреЛ рдирд┐рдореНрди рдореЗрдВ рдмрджрд▓реЗрдВ:

 xkb_keymap { xkb_keycodes { include "evdev+aliases(qwerty)" }; xkb_types { include "complete" }; xkb_compat { include "complete" }; xkb_geometry { include "pc(pc104)" }; xkb_symbols "my" { include "pc+us+ru:2+inet(evdev)" key <AC10> { [ colon, semicolon ] }; key <TLDE> { [ asciitilde, grave ] }; }; };
      
      





рдареАрдХ рд╣реИ, рдЕрдкрдиреА рдЙрдВрдЧрд▓рд┐рдпреЛрдВ рдХреЛ рдкрд╛рд░ рдХрд░реЗрдВ, рдФрд░ рдЗрд╕ рд╡рд┐рдиреНрдпрд╛рд╕ рдХреЛ рд▓реЛрдб рдХрд░реЗрдВ:

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





рд╣рдо рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВред рдпрджрд┐, рдЬрдм рдЖрдк рдЙрд╕ рдХреБрдВрдЬреА рдХреЛ рджрдмрд╛рддреЗ рд╣реИрдВ рдЬрд┐рд╕ рдкрд░ рдЖрдкрдиреЗ рдкрддреНрд░ the рд▓рд┐рдЦрд╛ рд╣реИ, рддреЛ рдкреНрд░рддреАрдХ рдореБрджреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ :, рдирд╣реАрдВ ;, рдФрд░ рдЬрдм рдЖрдк the рджрдмрд╛рддреЗ рд╣реИрдВ, рддреЛ рдЯрд┐рд▓реНрдб ~ рдореБрджреНрд░рд┐рдд рд╣реЛрддрд╛ рд╣реИ, рдФрд░ Shift рдХреЗ рд╕рд╛рде, рд╕рдм рдХреБрдЫ рджреВрд╕рд░реЗ рддрд░реАрдХреЗ рд╕реЗ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рд╣рдо рд╕рд╣реА рд░рд╛рд╕реНрддреЗ рдкрд░ рд╣реИрдВред



рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рдЖрдкрдХреЛ Cyrillic_zhe Cyrillic_ZHE рдХреЗ рд╕рд╛рде рдкрд░реЗрд╢рд╛рди рдирд╣реАрдВ рд╣реЛрдирд╛ рд╣реИ, рд╕рдм рдХреБрдЫ рдЙрд╕реА рддрд░рд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред



рдЪрд▓рд┐рдП рдЖрдЧреЗ рдмрдврд╝рддреЗ рд╣реИрдВред рд╣рдордиреЗ рдХреНрдпрд╛ рдХрд┐рдпрд╛? рд╣рдордиреЗ рдПрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд╕рд╛рде setxkbmap -option рдЪрд▓рд╛рдпрд╛ред рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рд╡рд╣ рдХреНрдпрд╛ рдмрджрд▓рддрд╛ рд╣реИред

 $ setxkbmap -print | grep symbols xkb_symbols { include "pc+us+ru:2+inet(evdev)" }; $ setxkbmap -option caps:escape $ setxkbmap -print | grep symbols xkb_symbols { include "pc+us+ru:2+inet(evdev)+capslock(escape)" };
      
      





рдЦреИрд░, рдЕрдм рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рд▓реЗрдЖрдЙрдЯ рдХреБрдЫ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдХреЗ рдмрджрд▓ рд░рд╣рд╛ рд╣реИред

рд╣рдорд╛рд░реА рдлрд╛рдЗрд▓ рдореЗрдВ, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд▓рд╛рдЗрди рдХреЛ рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж xx_symbols рд╕реЗрдХреНрд╢рди рдореЗрдВ рддреБрд░рдВрдд рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВ:

  include "capslock(escape)"
      
      





рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рдЗрд╕ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдХреЗ рдЕрдиреНрдп рд╕реНрдерд╛рдиреЛрдВ рдореЗрдВ рдЕрд░реНрдзрд╡рд┐рд░рд╛рдо рдХреЗ рд╡рд┐рдкрд░реАрдд, рд╢рд╛рдорд┐рд▓ рдХрд┐рдП рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж рдЕрд░реНрдзрд╡рд┐рд░рд╛рдо рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред

рдпрджрд┐ рдЖрдк рдзреНрдпрд╛рди рд╕реЗ рджреЗрдЦреЗрдВ, рддреЛ рдЖрдкрдХреЛ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдпреЗ рджреЛ рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рд╡рд┐рдзрд┐рдпрд╛рдБ рд╕рдорд╛рди рд╣реИрдВ:

  include "pc+us+ru:2+inet(evdev)" include "capslock(escape)"
      
      





  include "pc+us+ru:2+inet(evdev)+capslock(escape)"
      
      





рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдкрд╣рд▓рд╛ рдЕрдзрд┐рдХ рд╕реНрдкрд╖реНрдЯ рд╣реИред



рдЗрд╕рдХрд╛ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИ? рд╣рдо рдЕрдкрдиреЗ рд▓реЗрдЖрдЙрдЯ рдХреЛ рд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВ, рдХрд╣рддреЗ рд╣реИрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреНрд╡рд░реНрдЯреА (xkb_keycodes) рд╣реИ, рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ 104 рдЪрд╛рдмрд┐рдпрд╛рдБ (xkb_geometry) рд╣реИрдВ, рдФрд░ рдкрд╛рддреНрд░реЛрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░реЗрдВред рдЙрд╕реА рд╕рдордп, рдкреНрд░рддреАрдХ рдЦрдВрдб рдореЗрдВ, рд╣рдо рдХрдИ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╛рдЗрд▓реЗрдВ, рдкреАрд╕реА, рд╣рдореЗрдВ, рдЖрд░рдпреВ рд╢рд╛рдорд┐рд▓ рдХрд░рддреЗ рд╣реИрдВред рд╡реЗ рдХрд╣рд╛рдБ рдЭреВрда рдмреЛрд▓рддреЗ рд╣реИрдВ, рдХреНрдпрд╛ рдЙрдиреНрд╣реЗрдВ рджреЗрдЦрдирд╛ рд╕рдВрднрд╡ рд╣реИ? рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ, рд╡реЗ рд╕рднреА / usr / share / X11 / xkb / рдкреНрд░рддреАрдХреЛрдВ рдореЗрдВ рдЭреВрда рдмреЛрд▓рддреЗ рд╣реИрдВред рдпрд╣ рдЙрдиреНрд╣реЗрдВ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реИ, рдЦрд╛рд╕рдХрд░ рдпрджрд┐ рдЖрдк рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХреБрдЫ рдЕрдзрд┐рдХ рдорд╣рддреНрд╡рд╛рдХрд╛рдВрдХреНрд╖реА рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВред

рдЦреИрд░, рд╡реЗ рдлрд╛рдЗрд▓реЗрдВ рдХрд╣рд╛рдВ рд╣реИрдВ рдЬреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреА рд╣реИрдВ рдХрд┐ рдХреИрдкреНрд╕рд▓реЙрдХ рдФрд░ рдПрд╕реНрдХреЗрдк рдХреЛ рд╕реНрд╡реИрдк рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ? рд╣рд╛рдБ рд╡рд╣рд╛рдБред рдпрд╣ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:

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





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



рд╣рдо рдХреЗрд╡рд▓ рдЕрдкрдирд╛ рдкрдХреНрд╖ рдХреНрдпреЛрдВ рдирд╣реАрдВ рдмрдирд╛рддреЗ рд╣реИрдВ, рдФрд░ рдЗрд╕реЗ рдЪрд╛рд▓реВ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ? рдЕрдкрдиреА рд╢рд░реНрдо рдХреЗ рд▓рд┐рдП, рдореИрдВ рдпрд╣ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реВрдВ рдХрд┐ рдореИрдВрдиреЗ рд╡рд░реНрдгрди рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рд▓реЗрдХрд┐рди рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рд░рдЧрд░ рдирд╣реАрдВ рд╣реБрдЖред



рдЗрд╕реЗ рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рдП
рд▓реЗрдЖрдЙрдЯ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ, рдЖрдкрдХреЛ рд╕рдВрдкреВрд░реНрдг xkb_keymap рдбрд╛рд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдХреЗрд╡рд▓ xkb_symbols рдЕрдиреБрднрд╛рдЧ рдмрд╣реБрдд рд╣реА рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИрдВ:



  xkb_symbols "my" { include "pc+us+ru:2+inet(evdev)" key <AC10> { [ colon, semicolon ] }; key <TLDE> { [ asciitilde, grave ] }; };
      
      







рдбрд╛рдЙрдирд▓реЛрдб рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП:

 setxkbmap -I$HOME/.config/xkb my -print | xkbcomp - $DISPLAY
      
      





рдХрд╛рд╢, setxkbmap рдХрд╛ рдЖрдЙрдЯрдкреБрдЯ рдХрд┐рд╕реА рднреА рдкреИрд░рд╛рдореАрдЯрд░ рд╕реЗ рдирд╣реАрдВ рдмрджрд▓рддрд╛, рд╕рд┐рд╡рд╛рдп рдПрдХ рдорд╛рдорд▓реЗ рдХреЗ:

 setxkbmap -I$HOME/.config/xkb -symbols my -print
      
      





рд▓реЗрдХрд┐рди, рдЕрдлрд╕реЛрд╕, рдЗрд╕ рдЖрдЙрдЯрдкреБрдЯ рдХреЛ xkbcomp рдкрд░ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рдПрдХ рддреНрд░реБрдЯрд┐ рдлреЗрдВрдХрддрд╛ рд╣реИред



рдХреБрдЫ рд▓реЛрдЧ $ DISPLAY рдХреЗ рдмрдЬрд╛рдп $ {DISPLAY %%ред * рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд▓рд╛рд╣ рджреЗрддреЗ рд╣реИрдВ



рдкреАрдПрд╕ рд╣реИрдмрд░реВрд╕рд░ рдХреЛрдбрд╝реЗрдХреНрд╕ рдиреЗ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рд╕рд╣реА рд╣реИ ред



рдЬрд╛рдореБрди



рдореИрдВ рдХреЗрд╡рд▓ рдХреИрдкреНрд╕рд▓реЙрдХ рд╕реЗ рдмрдЪрдирд╛ рдирд╣реАрдВ рдЪрд╛рд╣рддрд╛ред рдореБрдЭреЗ рдХрдВрдЯреНрд░реЛрд▓ рднреА рдЪрд╛рд╣рд┐рдПред

рдХреИрд╕реЗ? рдпрд╣ рдХреИрд╕реЗ рд╕рдВрднрд╡ рд╣реИ? рдЬрд╛рджреВ рдХрд╛ рд╕рдордп рдЖ рдЧрдпрд╛ рд╣реИред



рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЬрдм рдЖрдк CapsLock рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЗрд╕реЗ Xkb_symbols рд▓рд┐рдВрдХ рдкрд░ рдЬреЛрдбрд╝рдХрд░ LCTL рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ:

  replace key <CAPS> { [ Control_L ] }; replace key <LCTL> { [ Caps_Lock ] };
      
      





рдкреБрд░рд╛рдиреА рдмрд╛рдИрдВ Ctrl рдХреЛ рджрдмрд╛рдиреЗ рдХреА рдмреБрд░реА рдЖрджрдд рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рджреВрд╕рд░реА рдкрдВрдХреНрддрд┐ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЖрдк рдЗрд╕реЗ рдереЛрдбрд╝рд╛ рдирд░рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

  replace key <LCTL> { [ VoidSymbol ] };
      
      





рдЕрдм рд╣рдореЗрдВ рдХрдардлреЛрдбрд╝рд╡рд╛ рдХреА рдЖрдВрдЦ рдХреА рдЙрдкрдпреЛрдЧрд┐рддрд╛ xcape рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ , рдЬреЛ рдЖрдкрдХреЛ рд╕рдВрд╢реЛрдзрдХ рдХреЛ рджреВрд╕рд░реА рдХрд╛рд░реНрд░рд╡рд╛рдИ рд╕реМрдВрдкрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдпрджрд┐ рдЗрд╕реЗ рдХреБрдЫ рдЕрд▓реНрдлрд╝рд╛рдиреНрдпреВрдореЗрд░рд┐рдХ рдХреБрдВрдЬреА рдХреЗ рд╕рд╛рде рдорд┐рд▓рд╛рдХрд░ рджрдмрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдПрдХ рд╕рдВрд╢реЛрдзрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдпрджрд┐ рдЗрд╕реЗ рдЕрдХреЗрд▓реЗ рджрдмрд╛рдпрд╛ рдФрд░ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЬреИрд╕рд╛ рд╣рдо рдЪрд╛рд╣рддреЗ рд╣реИрдВред рд▓рдбрд╝рд╛рдИ рдХреЗ рд▓рд┐рдП!

 $ xcape -t 1000 -e "Control_L=Escape"
      
      





xcape рдХреЛ рдХрдардлреЛрдбрд╝рд╡рд╛ рдХреА рдЖрдВрдЦ рд╕реЗ рдЪрд┐рддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ ред рдпрд╣ рджрд┐рд▓рдЪрд╕реНрдк рдкреИрд░рд╛рдореАрдЯрд░ -t 1000 рдХреЛ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рднреА рд╣реИред рдирд╣реАрдВ, рд╡рд╣ рдЯрд░реНрдорд┐рдиреЗрдЯрд░ рдХреЛ рдирд╣реАрдВ рдмреБрд▓рд╛рддрд╛ рд╣реИ, рд╡рд╣ рдХрд╣рддрд╛ рд╣реИ рдХрд┐ рдпрджрд┐ рд╣рдо рдЕрднреА рднреА рдмрд╛рдПрдВ Ctrl рджрдмрд╛рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ 1000 рд╕реЗ рдЕрдзрд┐рдХ рдПрдордПрд╕ рдХреЗ рд▓рд┐рдП рджрдмрд╛рдП рд░рдЦрддреЗ рд╣реИрдВ, рддреЛ рдПрд╕реНрдХреЗрдк рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рдЕрдирд┐рд░реНрдгрдп рдХреЗ рд▓рд┐рдП рдмрдврд╝рд┐рдпрд╛ рд╡рд┐рдХрд▓реНрдкред



рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреА рдХрдорд┐рдпреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдпрд╣ рд╣реИ рдХрд┐ рдПрд╕реНрдХреЗрдк рджрдмрд╛рдиреЗ рд╕реЗ рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рдХреБрдВрдЬреА рдЬрд╛рд░реА рдХрд░рдиреЗ рд╕реЗ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред рдпрд╣ рджреЗрд░реА рдХреБрдЫ рдХреЗ рд▓рд┐рдП рднрдпрд╛рдирдХ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдХрд┐рд╕реА рдХреЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реЛрдЧрд╛ред рдФрд░ рдХреЛрдИ рд╕рдордЭреМрддрд╛ рдХрд░реЗрдЧрд╛ред



рдмреЛрдирд╕



рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рдЙрдкрдпреЛрдЧреА, рд▓реЗрдХрд┐рди рджреБрд░реНрд▓рдн рдкрд╛рддреНрд░реЛрдВ рдХреЗ рд▓рд┐рдП, рдХрдореНрдкреЛрдЬрд╝ рдХреА рдЬреИрд╕реА рдПрдХ рдЪреАрдЬ рд╣реИ, рдЬреЛ рдЖрдкрдХреЛ рдЗрд╕реЗ рджрдмрд╛рдиреЗ рдФрд░ рдЬрд╛рд░реА рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдЕрдиреБрдХреНрд░рдо рдХреЛ рджрдмрд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИ, рдЬреЛ рд╕реНрдХреНрд░реАрди рдкрд░ рджрд┐рдЦрд╛рдИ рджреЗрдиреЗ рд╡рд╛рд▓реЗ рдХреБрдЫ рдпреВрдирд┐рдХреЛрдб рдЪрд░рд┐рддреНрд░ рд╕реЗ рдореЗрд▓ рдЦрд╛рддреА рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреАрд╕реНрдЯреНрд░реЛрдХреНрд╕ "рдХрдореНрдкреЛрдЬрд╝ рдУрдУ" рдХрд╛ рдПрдХ рдХреНрд░рдо ┬░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдЧрд╛ред рдФрд░ рдХрдореНрдкреЛрдЬ cccp рджреЗ рджреЗрдВрдЧреЗ ред рдХреНрдпрд╛ рдпрд╣ рд╣рд╛рд╕реНрдпрд╛рд╕реНрдкрдж рд╣реИ? рдмрд╣реБрдд рд╕рд╛рд░реЗ рдкреНрд░рддреАрдХ рд╣реИрдВ, рдФрд░ рд╕рдВрдпреЛрдЬрди рдЪреБрдиреЗ рдЧрдП рд╣реИрдВ рддрд╛рдХрд┐ рдЙрдиреНрд╣реЗрдВ рдкрдХрдбрд╝рдирд╛ рдЖрд╕рд╛рди рд╣реЛ, рдФрд░ рдЬреНрдпрд╛рджрд╛рддрд░ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рджрдмрд╛рдиреЗ рдХрд╛ рдХреНрд░рдо рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, "рдХрдореНрдкреЛрдЬрд╝ рдИ =" рдФрд░ "рдХрдВрдкреЛрдЬрд╝ рдИ =" рджреЛрдиреЛрдВ рд╣реА рджреЗрддреЗ рд╣реИрдВред рдорд╛рдирдХ рд╕рдВрдпреЛрдЬрдиреЛрдВ рдХреА рдПрдХ рдкреВрд░реА рд╕реВрдЪреА рдпрд╣рд╛рдВ рдкрд╛рдИ рдЬрд╛ рд╕рдХрддреА рд╣реИ , рдФрд░ рдЖрдк рдЕрдкрдиреА рдЦреБрдж рдХреА ~ / .XCompose рдлрд╛рдЗрд▓ рднреА рдЕрд╕рд╛рдЗрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдФрд░ рд╕рд╣реА Ctrl рдХреЛ рдХрдВрдкреЛрдЬрд╝ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рд╣рдорд╛рд░реА рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдирд┐рдореНрди рдкрдВрдХреНрддрд┐ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ:

  include "compose(rctrl)"
      
      





рд╕рдбрд╝рдХ рдкрд░, рд╕рдбрд╝рдХ рдкрд░



рдореИрдВ рдЬрд╛рдирдмреВрдЭрдХрд░ рдЕрдкрдиреЗ рдкреВрд░реЗ рдХреЙрдиреНрдлрд┐рдЧ рдХреЛ рдкреНрд░рдХрд╛рд╢рд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реВрдВ рддрд╛рдХрд┐ рдкрд╛рдардХ рдкреНрд░рдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣реЗред рдпрд╣рд╛рдБ рд╕рдбрд╝рдХ рдкрд░ рдЖрдкрдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╡рд┐рдЪрд╛рд░ рд╣реИрдВ:

- рдПрдл рдХреБрдВрдЬреА рджрдмрд╛рдХрд░, рдПрдЪрдЬреЗрдХреЗрдПрд▓ рдХреЛ рдирд┐рдпрдорд┐рдд рддреАрд░ рдХреА рддрд░рд╣ рдХрд╛рдо рдХрд░реЗрдВ;

- рдХреАрдмреЛрд░реНрдб рдХреЗ рдмрд╛рдПрдВ рдЖрдзреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЛ рджрд╛рдПрдВ Shift рдХреЗ рд╕рд╛рде рд░рдЬрд┐рд╕реНрдЯрд░ рд╢рд┐рдлреНрдЯ рдХрд░реЗрдВ, рдФрд░ рдмрд╛рдИрдВ рдУрд░ рджрд╛рдИрдВ рдУрд░ред рдпрд╣ рд╣рд╛рдереЛрдВ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдкрд░рд┐рдЪрд┐рдд рдирд╣реАрдВ рд╣реИ (рдЯрд┐рдкреНрдкрдгреА рдореЗрдВ рдЯреВрд▓рдЯрд┐рдк );

- рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдмрд╛рдИрдВ рдкрд╛рд▓реА рдХреЛ рдХреНрд▓реИрдВрдк рдирд╣реАрдВ рдХрд░рдирд╛ рд╣реИ, рдФрд░ рдпрд╣ рдХрд┐ рдЗрд╕реЗ рдПрдХ рдмрд╛рд░ рджрдмрд╛рдиреЗ рдФрд░ рдЬрд╛рд░реА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдерд╛, рдФрд░ рдлрд┐рд░ рджрдмрд╛рдПрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреБрдВрдЬреА 5 , рддрд╛рдХрд┐ % рдкреНрд░рддреАрдХ рдореБрджреНрд░рд┐рдд рд╣реЛ (рд╕рдВрдХреЗрдд: рдХреБрдВрдбреА);

- рдПрдХ рдХреБрдВрдЬреА рдкрд░ рджреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕рдВрд╢реЛрдзрдХ рд▓рдЯрдХрд╛рдПрдВ



рдЖрдУ, рд╢реЗрдпрд░ рдХрд░реЛред рджрд┐рд▓рдЪрд╕реНрдк рд╡рд┐рдЪрд╛рд░ рд╕реБрдирдХрд░ рдореБрдЭреЗ рдЦреБрд╢реА рд╣реЛрдЧреАред



PS рдЕрдЧрд░ рдЕрдЪрд╛рдирдХ рдХреЛрдИ рдХрд╣рддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдХрд┐рд╕реА рдФрд░ рдХреЗ рдХреАрдмреЛрд░реНрдб рдкрд░ рдмреИрда рдЧрдП рд╣реИрдВ рдФрд░ рдПрдХ рдмрд╛рд░ рдореЗрдВ рд╕рдм рдХреБрдЫ рдареАрдХ рдирд╣реАрдВ рд╣реИ, рддреЛ рдореИрдВ рдпрд╣ рдХрд╣реВрдВрдЧрд╛: рдЬрдм рдорд┐рддреНрд░ рдХреЛ рдШрд░ рд▓реЗ рдЬрд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмреЗрдВрдЯрд▓реЗ рд╕реЗ рд╕реНрдерд╛рдирд╛рдВрддрд░рдг рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЖрдк рднреА рд╢рдкрде рд▓реЗрддреЗ рд╣реИрдВред рдмреЗрдВрдЯрд▓реЗ рдореЗрдВ рд╡рд╛рдкрд╕ рдмреИрдардиреЗ рдХреЗ рд▓рд┐рдП рд╕рднреА рдЕрдзрд┐рдХ рд╕реБрдЦрджред



рдЦреБрд╢реА рдХреЗ рд╕рд╛рде рдкреНрд░рд┐рдВрдЯ рдХрд░реЗрдВ рдФрд░ рдзреНрдпрд╛рди рд░рдЦреЗрдВ!



All Articles