Привязать CAPS + hjkl к клавишам со стрелками; CAPS - ESC

mkdir aux
ls | shuf > a                                # a=randomize list of files
(tail -n +2 a ; head -1 a) > b               # b=rotate a one line
paste a b > c                                # c=(name1 name2)*
gawk '{system( "mv " $1 " aux/" $2)}' c      # mv name1 -> aux/name2
mv aux/* .                                   # mv aux/name -> name
rm a b                                     

оставьте c , чтобы вернуться в случае необходимости. (Выберите лучшее имя для дополнительных файлов)

6
03.02.2018, 03:57
3 ответа

Я хотел сделать то же самое, и после некоторых поисков и экспериментов, наконец, это заработало.

Решение 1

(См. решение 2 ниже, которое потенциально лучше)

Шаг 1 (сопоставление caps _lock + hjkl):Следуйте этому ответу и добавьте файл config.Вы должны добавить в файл «us», если вы используете раскладку клавиатуры для США, и пропустить другие сочетания клавиш, которые вам не интересны. Затем запустите setxkbmap -layout us.

Шаг 2 (колпачки _запираются как выход):Прогон xcape -e 'ISO_Level3_Shift=Escape'. Вы можете добавить эту строку в свой /etc/profile, чтобы вам не приходилось запускать ее вручную после перезагрузки.

============================================== ====

Решение 2 (возможно лучше)

Я был доволен решением 1, пока не понял, что не могу использовать привязки клавиш в IntelliJ, что является большим обломком. В конце концов я понял, что могу просто использовать xmodmap и xcape для выполнения этой работы, но при этом иметь возможность использовать их в IntelliJ!

Шаг 1 (сопоставление заглавных букв _lock + hjkl):Создайте файл (скажем «~/.xmodmap» )со следующим содержимым:

keycode 66 = Mode_switch
keysym h = h H Left
keysym l = l L Right
keysym k = k K Up
keysym j = j J Down
keysym u = u U Prior
keysym i = i I Home
keysym o = o O End
keysym p = p P Next

Можете пропустить последние 4 строки. Я вставил их, потому что они могут быть полезны и вам. На самом деле, я очень надеюсь, что caps _улучшение блокировки будет работать в Linux.

Затем запустите xmodmap ~/.xmodmap.

Шаг 2 (колпачки _запираются как выход):Прогон xcape -e 'Mode_switch=Escape'.

Шаг 3 (необязательный):Чтобы не применять сочетания клавиш вручную, поместите 2 приведенные выше команды в свой /etc/profile.

14
27.01.2020, 20:27

У меня возникли проблемы с корректной работой этого с /etc/profile, поэтому, расширив ответ от @matrinica, я смог добиться успеха (на ubuntu/gnome )с помощью следующего метода:

Шаг 0 :установка xclip и xcape

sudo apt install xclip
sudo apt install xcape

Шаг 1 :создать ~/.xmodmap

Скопируйте следующий текст:

keycode 66 = Mode_switch
keysym h = h H Left
keysym l = l L Right
keysym k = k K Up
keysym j = j J Down

Создать файл с содержимым:

touch ~/.xmodmap
xclip -o > ~/.xmodmap

Шаг 2 :создать скрипт

Скопируйте следующий текст:

xmodmap ~/.xmodmap
xcape -e 'Mode_switch=Escape'

Создать файл с содержимым:

touch ~/xmodmap.sh
xclip -o > ~/xmodmap.sh

Сделать файл исполняемым:

chmod +x ~/xmodmap.sh

Шаг 3 :создание записи автозапуска

Скопируйте следующий текст:

[Desktop Entry]
Type=Application
Exec=sh -c "$HOME/xmodmap.sh"
Hidden=false
X-GNOME-Autostart-enabled=true
Name=xmodmap
Comment=xmodmap script

Создать файл с содержимым:

touch ~/.config/autostart/xmodmap.deskop
xclip -o > ~/.config/autostart/xmodmap.deskop

Примечание:

Этот метод не работает с Wayland и поэтому не рассчитан на будущее. Для совместимых с Wayland методов достижения аналогичных результатов см.:

https://askubuntu.com/a/898462

https://wiki.archlinux.org/index.php/Keyboard_input

https://realh.co.uk/wp/linux-keymap-hacking/

Если вы можете придумать чистый метод, совместимый с Wayland, опубликуйте его здесь.

0
27.01.2020, 20:27

Я использую символы 3-го слоя и назначаю стрелки буквамhjkl

Установить gnome-tweaksприспособление

В настройках gnome -перейдите в Дополнительные параметры макета и выберите Caps Look в качестве клавиши, чтобы выбрать 3-й уровень.

Затем откройте терминал и перейдите к /usr/share/X11/xkb/symbols/На вашем компьютере хранятся все раскладки клавиатуры

Сделайте резервную копию макета

cp us us_old

Изменить файл как root

sudo nano us

Третьи значения в массивах — это ваши ключи:

key <AC01> {[a,A,Home]};
key <AC02> {[s,S,BackSpace]};
key <AC03> {[d,D,Delete]};
key <AC04> {[f,F,End]};
key <AC05> {[g,G]};
key <AC06> {[h,H,Left]};
key <AC07> {[j,J,Down]};
key <AC08> {[k,K,Up]};
key <AC09> {[l,L,Right]};
0
04.01.2021, 18:34

Теги

Похожие вопросы