Comments 16
Переопределить клавиши (например, поменять Caps Lock и Escape):
xmodmap -e "keycode 66 = Escape"
xmodmap -e "keycode 9 = Caps_Lock"
Ещё способ:
setxkbmap -option caps:swapescape
Есть ещё программа input-remapper
Кажется, можно переопределить ещё и в файле /usr/share/X11/xkb/symbols/us и ru. Я себе через эти файлы делал hjkl как стрелки третьим рядом по CAPS
Это надо постить перед 1 апреля :)
Input remapper сильно упрощает

Но даже он бессилен против некотрых производителей.
На интеловском nuc-ноутбуке (который с тачпойнтом!) кнопка контекстного меню посылает нажатие shift + F10
Я и сам иногда так меню вызываю, потому что руки помнят AT клавиатуры.
Но вот заменить ненужную кнопку на что-то полезное так на этих MAIBENBEN P415/азусах не получится.
Хотя, это единственный пример такой странной кнопки, про которую я знаю.
Чё-то не работает... Адрес клавиатуры верно написал.
А,
а шестнадцатиразрядные цифры в идентификаторе клавиатуры записаны апперкейсом.
Ещё странное: для переопределения ESC мне пришлось ввести 001, а не 1.
При этом Ё - просто 41, 041 не работал
evdev:input:b0003v0416pB23Ce0110-*
KEYBOARD_KEY_70029=41
KEYBOARD_KEY_7004e=102
KEYBOARD_KEY_7004b=107
KEYBOARD_KEY_7004d=109
KEYBOARD_KEY_7004a=104
KEYBOARD_KEY_70035=001
в итоге для ARDOR immortality mini - поменял местами Ё и Esc и pageup/pagedown и home/end
С xmodmap я бы запарился все `/~/Ё/ё мапить.
В Linux Mint была даже GUI-утилитка для настройки клавиатуры, правда не помню насколько радикально там можно переназначать клавиши.
Надо будет проверить на сановской клавиатуре.
Раз пошла такая пьянка.
Мажорам, купившим какую-либо из модификаций Apple Aluminium Keyboard и страдающим от отсутствия на ней клавиши Insert, а также от необходимости постоянно нажимать кнопку Fn для ввода функциональных клавиш, посвящается.
Настройка режима функциональных клавиш по умолчанию
{ echo options hid_apple fnmode=2 | sudo tee /etc/modprobe.d/hid_apple.conf; } && \
{ sudo rmmod hid_apple ; sleep 1s; sudo modprobe hid_apple; }
Сохранение изменений
sudo update-initramfs -u -k all
Переназначение клавиш Fn в Insert и NumPad = в Fn
Файл с настройками переназначения клавиш.
tee /tmp/99-Apple_keyboard.hwdb <<'__APPLE_KB_KEY_MAP__'
#
# Apple Inc. Aluminium Keyboard
evdev:input:b0003v05ACp0250*
KEYBOARD_KEY_ff0003=110 # Fn -> Insert (usb)
KEYBOARD_KEY_70067=464 # NumPad = -> Fn
KEYBOARD_KEY_70035=86 # ` -> §
KEYBOARD_KEY_70064=41 # § -> `
# Apple Inc. Magic Keyboard with Numeric Keypad via USB
evdev:input:b0003v05ACp026C*
KEYBOARD_KEY_ff0003=110 # Fn -> Insert (usb)
KEYBOARD_KEY_c00b8=464 # Eject -> Fn
KEYBOARD_KEY_70035=86 # ` -> §
KEYBOARD_KEY_70064=41 # § -> `
# Apple Inc. Magic Keyboard with Numeric Keypad via Bluetooth
evdev:input:b0005v004Cp026C*
KEYBOARD_KEY_ff010003=110 # Fn -> Insert (bluetooth)
KEYBOARD_KEY_c00b8=464 # Eject -> Fn
KEYBOARD_KEY_70035=86 # ` -> §
KEYBOARD_KEY_70064=41 # § -> `
__APPLE_KB_KEY_MAP__
Установка файла с настройками переназначения клавиш.
sudo install -m u=rw,og=r /tmp/99-Apple_keyboard.hwdb /etc/udev/hwdb.d/
Применение изменений.
sudo systemd-hwdb update; sleep 1s; \
sudo udevadm control --reload-rules; sleep 1s; \
sudo udevadm trigger
Когда то очень давно я пересобирал ядро линукс, переопределяя мультимедийный ряд, который слева на клавиатуре - на клавиши ctrl, shift, tab...
Эх а я то думал, что в статье расскажут как переопределить ещё и комбинации.
Например хочется мне, чтобы копирование было не только на Ctrl+C, но и на Alt+C, подобно маку Cmd+C. И кроме как через input-remapper решить эту задачу у меня никак не получилось. И то ценой нескольких десятков биндингов.
Как переопределить кнопки на клавиатуре в Linux