Моя проблема в том, что я пытаюсь сопоставить клавишу закрытия на моей клавиатуре с привязкой клавиш в окне закрытия окна Compiz, и я могу установить горячую клавишу, но она не работает, когда я пытаюсь ее использовать.
Я использую клавиатуру Logitech EX1150, и моя операционная система - Linux Mint 17.3 XFCE. Я использую compiz в качестве моего оконного менеджера. Недавно я нашел клавиатуру EX110, и она мне понравилась, и я решил попробовать сопоставить некоторые из ее дополнительных клавиш. Большинство из них работают нормально, но клавиша закрытия не работает. Ниже приведена картинка, на которой я сопоставил ключ закрытия с действием закрытия окна. , Установка горячей клавиши работает нормально. Но потом, когда я нажимаю клавишу, чтобы закрыть окно, ничего не происходит.
Затем я попытался сопоставить клавишу возврата на клавиатуре, которая является другой специальной клавишей рядом с клавишей закрытия, с действием закрытия окна, как показано ниже. Я был в состоянии установить горячую клавишу как с клавишей закрытия, но на этот раз горячая клавиша сработала. То есть, когда я нажал клавишу «Назад», сфокусированное окно действительно закрылось.
Теперь моя первая мысль была о том, что что-то еще потребляет событие XF86Close. Чтобы проверить это, я переназначил код ключа на ключ клавиатуры XF86Forward, используя
Вот картинка, где я использую клавишу закрытия на моей клавиатуре, которая теперь отображается на клавиатуре XF86Forward, на действие закрытия окна в compiz.
Опять же, когда я нажал кнопку закрытия на клавиатуре, ничего не произошло. Теперь я предполагаю, что ключ сканкод или код ключа, сгенерированный, когда я нажимаю клавишу, как-то расходуется (но он не расходуется при установке привязки клавиш compiz). Я прочитал эту страницу в Archwiki в чтобы попытаться узнать больше, но я не совсем уверен, что делать дальше. Есть идеи, как решить эту проблему? Я приложил еще немного информации в приложении
аппендикс
Вот еще некоторая информация, которая может или не может помочь.
версия xfce: 4.12
версия compiz: 0.9.11.3
вывод при нажатии и отпускании при работе xev:
KeyPress event, serial 41, synthetic NO, window 0x1a00001, root 0x9d, subw 0x0, time 130415823, (175,33), root:(892,638), state 0x10, keycode 214 (keysym 0x1008ff56, XF86Close), same_screen YES, XKeysymToKeycode returns keycode: 182 XLookupString gives 0 bytes: XmbLookupString gives 0 bytes: XFilterEvent returns: False KeyRelease event, serial 41, synthetic NO, window 0x1a00001, root 0x9d, subw 0x0, time 130415903, (175,33), root:(892,638), state 0x10, keycode 214 (keysym 0x1008ff56, XF86Close), same_screen YES, XKeysymToKeycode returns keycode: 182 XLookupString gives 0 bytes: XFilterEvent returns: False
вывод нажатия и отпускания клавиши закрытия при работе evtest:
Event: time 1467335677.550903, type 4 (EV_MSC), code 4 (MSC_SCAN), value c1023 Event: time 1467335677.550903, type 1 (EV_KEY), code 206 (KEY_CLOSE), value 1 Event: time 1467335677.550903, -------------- SYN_REPORT ------------ Event: time 1467335677.678896, type 4 (EV_MSC), code 4 (MSC_SCAN), value c1023 Event: time 1467335677.678896, type 1 (EV_KEY), code 206 (KEY_CLOSE), value 0 Event: time 1467335677.678896, -------------- SYN_REPORT ------------
Спасибо, но это не сработало для меня. Запуск `wmctrl -c: ACTIVE:` из терминала закрывает окно эмулятора терминала. Используя пример команды `#, установите непосредственно код клавиши (здесь control + f с моей клавиатурой) #" xterm "# c: 41 + m: 0x4` также работает (это делает ctrl + f открытым xterm). Но то, что вы мне дали, не заставляет мою кнопку закрывать активное окно.
Brian Moths 8 лет назад
0