i3: Как использовать мультимедийные клавиши, которые отображаются на отдельном устройстве ввода?
682
dpkoch
Я установил оконный менеджер i3 вместе с рабочим столом GNOME на Ubuntu-GNOME 16.04. У меня проблемы с настройкой мультимедийных клавиш на клавиатуре Logitech G610.
У меня есть следующее в моем ~/.config/i3/configфайле:
и подтвердили, что эти команды работают в терминале. Проблема, которую я вижу, состоит в том, что XF86AudioRaiseVolumeсобытия нажатия клавиш etc не регистрируются.
Если я xev -event keyboardпытаюсь увидеть коды клавиш, когда я нажимаю мультимедийные клавиши, все, что я получаю, это следующее:
где клавиатура Logitech отображается как два устройства. Выполняется, xinput list-props 10и xinput list-props 11я вижу, что первый список отображается на /dev/input/event8, а второй на /dev/input/event9.
Если я запускаю, xinput test 10я вижу, что первый листинг для моей клавиатуры реагирует на все обычные клавиши клавиатуры, но не на клавиши мультимедиа, а xinput test 11реагирует только на клавиши мультимедиа:
(Они отключены на 8 от showkeyвыходных данных, но, по-видимому, это ожидаемо. Кроме того, эти значения соответствуют выходным данным отображения xmodmap -pke, т.е. keycode 121 = XF86AudioMute NoSymbol XF86AudioMute). Бег sudo evtest /dev/input/event8и sudo evtest /dev/input/event9дают похожие результаты.
Итак, мое понимание процесса между нажатием клавиши и обработкой довольно размыто, но, возможно, тот факт, что обычные клавиши и клавиши мультимедиа находятся на разных устройствах ввода, не позволяет событиям нажатия клавиши мультимедиа проходить в сеанс X (как свидетельствует не появляясь xev?) и, следовательно, не получая доступ к i3? Это нормально работает для рабочего стола GNOME, так что мне нужно что-то настроить, чтобы они работали на i3? Я в растерянности из-за того, как действовать отсюда, любая помощь будет принята с благодарностью.
РЕДАКТИРОВАТЬ
Первоначально у меня были кавычки вокруг команд в моем ~/.config/i3/configфайле, но это не работает. Я отредактировал выше, чтобы исправить это, но это не было корнем проблемы.
2 ответа на вопрос
1
dpkoch
Основываясь на информации, предоставленной в предыдущем ответе, я запустил psи заметил, что gnome-sessionон работает, хотя я не заходил на рабочий стол GNOME с момента загрузки и входил только в i3. Я подозревал, что сессия гнома крала события, но, как мне показалось, снятие этих сочетаний клавиш в настройках гнома ничего не изменило.
Мое решение состояло в том, чтобы загрузить непосредственно в сеанс tty, следуя инструкциям здесь, чтобы gnome-sessionэто не запустилось. Я создал файл, ~/.xinitrcсодержащий одну строку exec i3, после загрузки я захожу на терминал tty и startxзапускаю i3. С этим методом GNOME не работает, и мои медиа-ключи теперь работают.
Обновление: запуск i3 только с `exec i3` в моем файле` ~ / .xinitrc` вызывал некоторые проблемы с dbus, из-за которых такие вещи, как мой терминал открывались за 6 секунд. Для тех, кто может следовать этому методу, изменение содержимого `~ / .xinitrc` на` exec dbus-launch --exit-with-session i3`, похоже, исправило это
dpkoch 5 лет назад
0
0
dirkt
Частичный ответ:
То, что клавиатура отображается как два устройства, не является проблемой. Оба устройства назначены на виртуальную базовую клавиатуру, поэтому оба устройства должны генерировать соответствующие ключевые события ядра.
MappingNotifyСобытие может быть признаком того, что какое - либо приложение реагирует на мультимедийные клавиши. В частности, если вы получаете FocusOutи FocusInсобытия, которые вы не показали нам, то какое-то другое приложение действует на них наверняка.
Теперь это может быть оконный менеджер i3 с настроенными вами ключами или что-то еще. Итак, первое, что нужно проверить, это удалить или закомментировать ваши привязки i3, протестировать снова и посмотреть, получаете ли вы по-прежнему события Mapping / Focus.
Если да, то следующий шаг - выяснить, какое приложение его крадет. Используйте psи xlsclientsт.д., чтобы сузить его. Один из способов - убивать / отключать приложения, пока они больше не будут украдены.
Хорошая информация, спасибо. Я не смог выяснить многое с `xlsclients`, так как он, казалось, просто перечислял активные приложения в моем текущем сеансе i3. Однако, используя `ps`, я заметил, что` gnome-shell` все еще работает, я предоставил [ответ] (https://superuser.com/a/1361387/945020), объясняющий, как я справился с этим
dpkoch 5 лет назад
0