Я хочу переназначить ярлык переключателя рабочей области на одну клавишу, а именно клавиши Page Up kbd> / Page Down kbd> для перехода в верхнюю / нижнюю рабочую область. Но Ubuntu не позволит мне сделать это, используя Системные настройки> Клавиатура> Сочетания клавиш , выдавая следующее предупреждение:
Сочетание «Страница вверх» не может быть использовано, поскольку оно станет невозможным печатать с помощью этого ключа. Пожалуйста, попробуйте одновременно использовать такие клавиши, как Control, Alt или Shift.
blockquote>Есть ли другой способ переназначить ярлыки на одну клавишу? Помощь приветствуется!
Можно переназначить любую навигационную команду в GNOME и Unity напрямую с помощью dconf или через командную строку, используя gsettings. Для перемещения рабочей области PageUp / PageDown вверх / вниз вы можете сделать:
gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-up "['Page_Up']"
gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-down "['Page_Down']"
Это на самом деле довольно просто, используя пакеты xbindkeys и xdotool . xdotool
позволяет вам эмулировать нажатия клавиш, а xbindkeys
позволяет добавлять пользовательские сочетания клавиш.
Все следующие шаги выполняются в терминале.
Сначала мы убьем процесс
killall xbindkeys
. Теперь мы поместим наши пользовательские ярлыки в файл ~/.xbindkeysrc
gedit ~/.xbindkeysrc
и добавим следующие строки
[ 112] сохраните и закройте и снова запустите xbindkeys
, запустив
xbindkeys
Теперь он должен работать так, как вы хотели, наслаждайтесь! И что это на самом деле делает? Скажем, вы нажимаете Page Up kbd>, ваш компьютер распознает это как клавишу Prior
(вы можете проверить это, используя xev | grep key
и нажимая клавиши). Теперь, прежде чем мы смоделируем другие нажатия клавиш, мы должны сначала эмулировать отпускание клавиши, для этого и предназначен xdotool keyup Prior
. Если он успешно выпущен, мы отправляем комбинацию Ctrl kbd> + Alt kbd> + Up kbd>, и для этого xdotool key ctrl+alt+Up
.