Вопрос Невозможно использовать ярлык Remap для одного ключа


Я хочу переназначить ярлык переключателя рабочего пространства на один ключ, в частности Страница вверх/Листать вниз ключи для перехода в верхнее / нижнее рабочее пространство. Но Ubuntu не позволит мне сделать это, используя Системные настройки> Клавиатура> Ярлыки, давая следующее предупреждение:

Ярлык «Страница вверх» не может использоваться, потому что с помощью этого ключа будет невозможно напечатать его.   Попробуйте одновременно с клавишей Control, Alt или Shift.

Есть ли другой способ переназначить ярлыки на один ключ? Помощь приветствуется!


4
2018-01-31 10:59


происхождения




ответы:


Это довольно просто, используя xbindkeys Install xbindkeys и xdotool Install xdotool пакеты. xdotool позволяет эмулировать нажатия клавиш и xbindkeys позволяет добавлять пользовательские ярлыки.

Все эти шаги выполняются в терминале.

Сначала мы убьем процесс

killall xbindkeys

Теперь мы помещаем наши специальные ярлыки в ~/.xbindkeysrc файл

gedit ~/.xbindkeysrc

и мы приводим следующие строки

"xdotool keyup Next && xdotool key ctrl+alt+Down"
   Next

"xdotool keyup Prior && xdotool key ctrl+alt+Up"
   Prior

сохранить и закрыть и запустить xbindkeys снова запустив

xbindkeys 

Теперь он должен работать так, как вам хотелось, наслаждайтесь!


Объяснение: Теперь, что он на самом деле делает? Скажем, вы нажимаете Страница вверх, ваш компьютер распознает это как Prior (вы можете проверить это, используя xev | grep key и нажатия клавиш). Теперь, прежде чем моделировать другие нажатия клавиш, мы должны сначала подражать ключевому выпуску, вот что xdotool keyup Prior для. Если он успешно выпущен, мы отправляем Ctrl+Alt+вверх сочетание, и это то, что xdotool key ctrl+alt+Up для.


4
2018-01-31 12:28



Я рекомендую использовать touch .xbindkeysrc && xbindkeys -f .xbindkeysrc для создания файла конфигурации, чтобы вы не xbindkeys привязки по умолчанию. - Seth♦
@Seth Спасибо за хорошее предложение, обновил ответ. Вам не нужно -f .xbindkeysrc хотя, поскольку это значение по умолчанию. - Gerhard Burger


Можно переназначить любую команду навигации в 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']"

0
2018-01-25 10:57