Верхний ряд клавиш на bluetooth клавиатуре Arteck HB030 по умолчанию работает как мультимедийные клавиши, чтобы получить Escape, F1-F10 нужно нажать клавишу Fn и одну из этих клавиш. Мне, как приверженцу Vim, это не очень удобно.
Далее идём почти по тому же пути как и ранее. Создадим каталог для конфигурационных файлов:
mkdir -p ~/.config/xkb
Записываем в файл hb030
конфигурацию текущей раскладки клавиатуры:
setxkbmap -layout us,ru -option grp:toggle -option grp_led:caps -print > ~/.config/xkb/hb030
Получаем файл типа такого:
xkb_keymap {
xkb_keycodes { include "xfree86+aliases(qwerty)" };
xkb_types { include "complete" };
xkb_compat { include "complete+ledcaps(group_lock)" };
xkb_symbols { include "pc+us+inet(pc105)+ru:2+group(toggle)" };
xkb_geometry { include "pc(pc105)" };
};
Добавляем строку key <I180> { [ Escape, Escape ] };
. <I180>
это описание левой верхней клавиши на клавиатуре Arteck HB030. Я её подсмотрел в выводе команды xev
и файле /usr/share/X11/xkb/keycodes/evdev
.
Отдельно скажу про key <AC10> { [ colon, semicolon ] };
- позволяет получать :
без нажатия Shift
. Пока не знаю окажется ли это удобнее, поскольку кроме как в Vim двоеточие довольно часто нужно в протоколах (ftp://, https:// и т.д.) и именах машин (scp fc720:aabb.txt ./). Посмотрим. Как бы то ни было вот результирующий файл:
xkb_keymap {
xkb_keycodes { include "evdev+aliases(qwerty)" };
xkb_types { include "complete" };
xkb_compat { include "complete+ledcaps(group_lock)" };
xkb_symbols { include "pc+us+ru:2+inet(evdev)+group(toggle)"
key <AC10> { [ colon, semicolon ] };
key <I180> { [ Escape, Escape ] };
};
xkb_geometry { include "pc(pc105)" };
};
Активировать новую раскладку можно командой xkbcomp ${HOME}/.config/xkb/hb030 ${DISPLAY}
. Её можно записать в .xinitrc
или .xsession
.