Прокачиваем ru-раскладку в Linux. Добавляем спец символы { } [ ] < > @ # $ ^ & | ~ ` , которых нет в оригинальной русской раскладке. Всё под пальцами через правый Alt и правый Ctrl.

Кратко: патчим блок winkeys в файле /usr/share/X11/xkb/symbols/ru. Добавляем AltGr (правый Alt) и правый Ctrl как модификаторы. После перезагрузки { } [ ] < > @ # $ ^ & вводятся правым Alt, ~ и | — правым Ctrl. Обратный апостроф ` так же добавлен на комбинацию “ё” и правого Alt.


1. Резервная копия

Сохраняем копию оригинальной раскладки.

sudo cp /usr/share/X11/xkb/symbols/ru /usr/share/X11/xkb/symbols/ru.orig

2. Открыть файл

sudo nano /usr/share/X11/xkb/symbols/ru

Сохранить: Ctrl+S. Выйти: Ctrl+X.


3. Найти блок winkeys

В файле несколько вариантов раскладки. Нас интересует winkeys — «Russian (Windows)», выбираемый по умолчанию. Он находится в самом начале:

// Windows layout
default partial alphanumeric_keys
xkb_symbols "winkeys" {
    include "ru(common)"
    name[Group1]= "Russian";

    key <AE03>  {[          3,  numerosign  ]};
    ...
    key <BKSL>  {[  backslash,       slash  ]};
};

4. Заменить блок winkeys целиком

// Windows layout
default partial alphanumeric_keys
xkb_symbols "winkeys" {

    include "ru(common)"
    name[Group1]= "Russian";

    key <AE03>  {[          3,  numerosign  ]};
    key <AE04>  {[          4,   semicolon  ]};
    key <AE05>  {[          5,     percent  ]};
    key <AE06>  {[          6,       colon  ]};
    key <AE07>  {[          7,    question  ]};
    key <AE08>  {[          8,    asterisk,      U20BD  ]}; // ruble

    key <AB10>  {[     period,       comma  ]};
    key <BKSL>  {[  backslash,       slash  ]};


    // --- фигурные скобки на AltGr: х → {, ъ → } ---
    key <AD11> {
        type[Group1] = "FOUR_LEVEL",
        symbols[Group1] = [ Cyrillic_ha, Cyrillic_HA, braceleft, braceleft ]
    };
    key <AD12> {
        type[Group1] = "FOUR_LEVEL",
        symbols[Group1] = [ Cyrillic_hardsign, Cyrillic_HARDSIGN, braceright, braceright ]
    };

    // --- квадратные скобки на AltGr: ш → [, щ → ] ---
    key <AD08> {
        type[Group1] = "FOUR_LEVEL",
        symbols[Group1] = [ Cyrillic_sha, Cyrillic_SHA, bracketleft, bracketleft ]
    };
    key <AD09> {
        type[Group1] = "FOUR_LEVEL",
        symbols[Group1] = [ Cyrillic_shcha, Cyrillic_SHCHA, bracketright, bracketright ]
    };

    // --- угловые скобки на AltGr: б → <, ю → > ---
    key <AB08> {
        type[Group1] = "FOUR_LEVEL",
        symbols[Group1] = [ Cyrillic_be, Cyrillic_BE, less, less ]
    };
    key <AB09> {
        type[Group1] = "FOUR_LEVEL",
        symbols[Group1] = [ Cyrillic_yu, Cyrillic_YU, greater, greater ]
    };

    // --- дополнительные символы на AltGr ---
    // @ на "2" (цифровой ряд)
    key <AE02> {
        type[Group1] = "FOUR_LEVEL",
        symbols[Group1] = [ 2, quotedbl, at, at ]
    };
    // # на "3"
    key <AE03> {
        type[Group1] = "FOUR_LEVEL",
        symbols[Group1] = [ 3, numerosign, numbersign, numbersign ]
    };
    // $ на "4"
    key <AE04> {
        type[Group1] = "FOUR_LEVEL",
        symbols[Group1] = [ 4, semicolon, dollar, dollar ]
    };
    // ^ на "6"
    key <AE06> {
        type[Group1] = "FOUR_LEVEL",
        symbols[Group1] = [ 6, colon, asciicircum, asciicircum ]
    };
    // & на "7"
    key <AE07> {
        type[Group1] = "FOUR_LEVEL",
        symbols[Group1] = [ 7, question, ampersand, ampersand ]
    };


    // ` (обратный апостроф) на "ё" (клавиша с тильдой)
    key <TLDE> {
        type[Group1] = "FOUR_LEVEL",
        symbols[Group1] = [ Cyrillic_io, Cyrillic_IO, grave, grave ]
    };

    // ` (тильда) на Right Ctrl + ё
    key <TLDE> {
        type[Group1] = "EIGHT_LEVEL",
        symbols[Group1] = [ Cyrillic_io, Cyrillic_IO, grave, grave, asciitilde, asciitilde, NoSymbol, NoSymbol ]
    };

    // | (вертикальная черта) на Right Ctrl + клавиша под Backspace
    key <BKSL> {
        type[Group1] = "EIGHT_LEVEL",
        symbols[Group1] = [ backslash, slash, backslash, slash, bar, bar, NoSymbol, NoSymbol ]
    };


    include "level3(ralt_switch)"
    include "level5(rctrl_switch)"
};

5. Перезагрузка

sudo reboot

6. Таблица добавленных комбинаций

Клавиша

Правый Alt (AltGr)

Правый Ctrl

2

@

3

#

4

$

6

^

7

&

ш

[

щ

]

х

{

ъ

}

б

<

ю

>

ё

`

~

\

\

|


7. Пояснения

Квадратные скобки добавлены на ш и щ в силу того, что данные клавиши визуально воспринимаются как сдвоенная пара, наравне с 9 и 0, или же х и ъ.

Обратный апостроф ` редко используется, но применим на хабре для выделения блоков кода в статьях или комментариях.

Комментарии (5)


  1. alexs963
    30.10.2026 07:00

    Я использую типографскую раскладку, там на русском есть { } [ ] < > | ` $ &. А «@ # ^ ~» получаю через rAlt+shift — временное переключение на английский, по удержанию rAlt.

    upd. Вернее раскладка инженерная с включенным третьим рядом по «menu».


    1. artrades Автор
      30.10.2026 07:00

      Если это оно - https://www.opennet.ru/opennews/art.shtml?num=57776.

      Я делал, чтобы минимизировать расхождения с тем, что нарисовано на стандартной клавиатуре. И с учётом своего опыта. По принципу «всё на своих местах» (не тащить же ноут на гравировку).

      Что считаю удачным и пометил зелёным: ёлочки, валюты, параграф, знак копирайта, длинное тире.

      Неудачным (красным): переезд тильды, переезд знака рубля (в Linux в оригинальном конфиге он на клавише 8), переезд квадратных скобок на клавиши «ж» и «э» - эти кнопки не воспринимаются мной как сгруппированная пара и ещё знаки препинания с них исчезли(а на клавиатуре они всё ещё нарисованы - и, думается, эти знаки препинания можно тоже сделать в русской раскладке).

      Смешанное (жёлтым): квадратные скобки. В английской раскладке имело смысл убрать их с клавиш, занятых буквами. В русской же раскладке эти кнопки и так уже заняты буквами «х» и «ъ». Возможно, есть смысл разгрузить клавиши, отправив квадратные скобки на визуально сдвоенные «ш» и «щ».

      Подход с единственной кнопкой-модификатором «menu» у меня не применим - тильду и обратный апостроф я оставляю на одной кнопке(чтоб были где обозначены изначально). При таком подходе придется задействовать две клавиши-модификатора.


    1. artrades Автор
      30.10.2026 07:00

      А если эта - https://ru.wikipedia.org/wiki/Типографская_раскладка_Ильи_Бирмана

      Она типографская действительно.


      1. alexs963
        30.10.2026 07:00

        У меня стандартные конфиги кде, выбрана раскладка ручей, но по меню включается некая разновидность типографской раскладки, она слегка отличается от изображенной выше, например на Ф стоит только ударение, на В только °, на М ↓ и ◊ и т.д.


      1. alexs963
        30.10.2026 07:00

        Моя текущая раскладка
        Моя текущая раскладка

        .