LINUX.ORG.RU

Сделать CapsLock как Control

 


2

2

Установил Gnome Tweaks и там в разделе Keyboard/Additional Layout Options поставил галочку на Make Caps Lock an additional Ctrl. В большинстве приложений оно вроде работает, но есть нюансы. Например в Intellij Idea когда я жму Caps Lock+Tab, то диалог переключения вкладок не исчезает, когда я отпускаю Caps Lock, будто я его продолжаю держать. Если я использую обычный Ctrl, то всё работает нормально. Также сейчас запустил игру Factorio, в ней не работают горячие клавиши с Ctrl, если я использую вместо этого Caps Lock.

Fedora Linux 34, Gnome 40.1.0.

Предполагаю, что нужно настроить mapping на более низком уровне, как это можно сделать?

★★★★★

А ты красавец!

Предполагаю, что нужно настроить mapping на более низком уровне, как это можно сделать?

setxkbmap -option ctrl:nocaps

shleemypants
()
Ответ на: комментарий от shleemypants

Отключил то, что я делал выше, написал твою команду в терминале, не помогло, Caps Lock остался Caps Lock-ом. Только ещё в хроме перестали вводиться русские буквы (релог помог вернуть их).

У меня Wayland, если что.

Legioner ★★★★★
() автор топика

Убрал галочку, про которую я написал. Поставил галочку в группе Ctrl Position/Caps Lock as Ctrl. В идее заработало как надо, в факторио не заработало. Убрал ту галочку, поставил Ctrl Position/Swap Ctrl and Caps Lock. На этот раз заработало и в идее и в факторио. Но мне это неудобно, я привык использовать все три кнопки, как Ctrl. Надеюсь, есть лучшее решение.

Legioner ★★★★★
() автор топика
Ответ на: комментарий от shleemypants

в иксах работает везде, в Wayland работает везде.

В Wayland WM, имелось в виду (Sway и wlroots семейство).

В DE у всех всё по разному. А то я вижу интерес к теме…

shleemypants
()
Ответ на: комментарий от anonymous

Спасибо, получилось. Минигайд напишу, вдруг кому ещё надо будет (скорей всего мне в будущем).

У меня USB-клавиатура.

sudo dnf install evtest

sudo evtest

Выводит список устройств. Нашёл что-то похожее на мою клавиатуру:

/dev/input/event6: SIGMACHIP USB Keyboard

ввожу 6

Выводит кучу инфы, в числе прочего

Input device ID: bus 0x3 vendor 0x1c4f product 0x26 version 0x110

Запоминаю bus 0003 vendor 1C4F product 0026 version 0110 (я перевёл hex в верхний регистр и добил нулями до четырёх цифр).

Нажимаю Caps Lock. Опять выводит несколько строк, интересуют строчки

Event: time 1621804073.439561, type 4 (EV_MSC), code 4 (MSC_SCAN), value 70039
Event: time 1621804073.439561, type 1 (EV_KEY), code 58 (KEY_CAPSLOCK), value 0

А точней верхняя из них. Запоминаю цифру справа от value: 70039

Теперь добавляю файл /etc/udev/hwdb.d/caps-to-ctrl.hwdb с содержимым

evdev:input:b0003v1C4Fp0026e0110-*
 KEYBOARD_KEY_70039=leftctrl

думаю, очевидно, что куда подставилось.

Потом команды

systemd-hwdb update
udevadm trigger

и всё заработало даже без перезагрузки.

Legioner ★★★★★
() автор топика
Ответ на: комментарий от shleemypants

У меня есть подозрение, что gnome tweaks это и делал.

Legioner ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.