Как найти * почему * я не могу привязать какое-либо сочетание клавиш (или какое приложение его взяло)?

Вкратце: есть ли (под Unity) какой-либо способ узнать, какое приложение воспользовалось каким-то глобальным ярлыком? Я спрашиваю не о "стандартных ярлыках", а о некотором способе получения информации о реальных ярлыках (какое приложение на самом деле хранит данный ключ только сейчас в моей текущей конфигурации)

Более длинная история:

У меня повторяющиеся проблемы с управлением сочетаниями клавиш. В данный момент:

  • Иногда Synapse (*) не может связать Win-Space как ярлык активации, сообщая "Не удалось зарегистрировать горячую клавишу" активировать "с подписью" пробел "" (что обычно означает, что этот ярлык уже используется)

    (*) После одного входа он работает, после другого входа нет. Я подозреваю некоторую гонку между двумя приложениями...

  • F9 по какой-то причине делает мой экран немного темнее (а F9 не достигает ярлыков на уровне приложения, поэтому, например, мое меню Бёбу не работает)

Я пытался смотреть в разных местах, и:

  • Я не вижу ни одного из этих ярлыков в настройках клавиатуры / ярлыки

  • Я не могу найти их в gconf-editor (я пытался найти F9 в значениях, в частности, ничего не найдено)

  • Я не смог найти их в dconf-editor (нет поиска, поэтому я нажал несколько наиболее очевидных путей)

Итак, мой вопрос: есть ли способ спросить unity/dconf/gconf/d-bus/ что-нибудь о текущем глобальном распределении горячих клавиш (какой процесс сохраняет какой ключ). Или принудительно регистрируйте эти выделения в каком-либо файле журнала. Или grep их откуда-то. Или же………

3 ответа

Рабочий стол Ubuntu на самом деле является compiz, а сам Unity - просто плагином compiz.

Если вместо этого вы устанавливаете и активируете плагин compiz "commands" и устанавливаете сочетания клавиш с помощью ccsm в случае возникновения конфликта, ccsm должен предупредить вас о том, какой плагин вызывает конфликт, а также должен предоставить опции для отключения конфликтующего плагина или конфликтующего связывания клавиш. перед применением ваших настроек.

Лично я также испытывал трудности с установкой сочетаний клавиш в 14.04+, но с тех пор, как я решил начать использовать плагин CCSM вместо настроек сочетаний клавиш в Unity, у меня не возникало никаких проблем вообще, и все мои сочетания работают просто отлично и так настоятельно рекомендуем вам хотя бы проверить это как вариант.

Теперь я понимаю, что вам нужно...

sudo apt-get install evtest

Наслаждайтесь событиями Ubuntu USB HID!

Внимание! Это не работает на клавиатурах PS2/style... (но кто там больше использует?):-)

Из одного из моих старых ответов:

Сначала вы должны установить xdotool:

sudo apt-get install xdotool

Я составил ряд команд, чтобы показать нам пассивные захваты при нажатии клавиши. Например, чтобы увидеть, что захватывает комбинацию Shift+PrintScreen, вы можете использовать приведенный ниже "скрипт":

xdotool keydown "shift+Print"; xdotool key "XF86LogGrabInfo"; xdotool keyup "Print"; sleep 1; xdotool keyup "shift"; tail /var/log/Xorg.0.log

Это вызовет Shift+PrtSc keyevent, и при установке Ubuntu по умолчанию будет показано, как демон gnome-settings захватывает клавиатуру. По крайней мере, это работало на моей более старой установке 12.04, но похоже на 14.04, я должен был использовать это:

xdotool key "shift+Print"; sleep 1; xdotool key "XF86LogGrabInfo"; xdotool keyup "Print"; sleep 1; xdotool keyup "shift"; tail /var/log/Xorg.0.log

но

xdotool keydown "F12"; xdotool key "XF86LogGrabInfo"; xdotool keyup "F12"; tail /var/log/Xorg.0.log

до сих пор работает, иногда, а не в другие времена. Не знаю почему.

Вы просто должны изменить вышеупомянутый "скрипт", изменив ключи, которые должны быть смоделированы.

Другие вопросы по тегам