Ключ сборки не работает в Ubuntu 18.04 в X, но не в консоли
Итак, я установил Ubuntu 18.04 MATE, и клавиша Compose просто отказывается работать, но только в X. Когда я нажимаю Ctrl + Alt + F2 и авторизируюсь через консоль, все работает нормально, потому что правило настраивается в /etc/default/keyboard
чтобы:
XKBOPTIONS="compose:lwin,terminate:ctrl_alt_bksp"
Теперь я попытался посмотреть на генерацию событий в xev, и на самом деле, есть композиция, но потом она отброшена. Вот вывод:
KeyPress event, serial 38, synthetic NO, window 0x4600001,
root 0x13f, subw 0x0, time 1230828, (849,498), root:(857,592),
state 0x0, keycode 133 (keysym 0xff20, Multi_key), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: True
KeyPress event, serial 38, synthetic NO, window 0x4600001,
root 0x13f, subw 0x0, time 1230976, (849,498), root:(857,592),
state 0x0, keycode 48 (keysym 0x27, apostrophe), same_screen YES,
XLookupString gives 1 bytes: (27) "'"
XmbLookupString gives 1 bytes: (27) "'"
XFilterEvent returns: True
KeyRelease event, serial 38, synthetic NO, window 0x4600001,
root 0x13f, subw 0x0, time 1231050, (849,498), root:(857,592),
state 0x0, keycode 48 (keysym 0x27, apostrophe), same_screen YES,
XLookupString gives 1 bytes: (27) "'"
XFilterEvent returns: False
KeyRelease event, serial 38, synthetic NO, window 0x4600001,
root 0x13f, subw 0x0, time 1231100, (849,498), root:(857,592),
state 0x0, keycode 133 (keysym 0xff20, Multi_key), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
KeyPress event, serial 38, synthetic NO, window 0x4600001,
root 0x13f, subw 0x0, time 1231274, (849,498), root:(857,592),
state 0x0, keycode 38 (keysym 0x61, a), same_screen YES,
XLookupString gives 1 bytes: (61) "a"
XmbLookupString gives 1 bytes: (61) "a"
XFilterEvent returns: True
KeyPress event, serial 38, synthetic NO, window 0x4600001,
root 0x13f, subw 0x0, time 1231274, (849,498), root:(857,592),
state 0x0, keycode 0 (keysym 0xe1, aacute), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 2 bytes: (c3 a1) "á"
XFilterEvent returns: False
KeyRelease event, serial 38, synthetic NO, window 0x4600001,
root 0x13f, subw 0x0, time 1231377, (849,498), root:(857,592),
state 0x0, keycode 38 (keysym 0x61, a), same_screen YES,
XLookupString gives 1 bytes: (61) "a"
XFilterEvent returns: False
Но по некоторым причинам, это, кажется, не генерирует в ключевой композиции.
Я сравнил этот вывод xev с моей другой машиной, которая также является Ubuntu 18.04 MATE, и где работает ключ compose. Выход такой же! Вот:
Событие KeyPress, серийный номер 41, синтетический номер NO, окно 0x5c00001, корень 0x121, subw 0x0, время 657157525, (84,42), корень:(88,93), состояние 0x0, код ключа 133 (keysym 0xff20, Multi_key), same_screen YES, XLookupString дает 0 байтов: XmbLookupString дает 0 байтов: XFilterEvent возвращает: True
Событие KeyPress, серийный номер 41, синтетический номер NO, окно 0x5c00001, корень 0x121, subw 0x0, время 657157645, (84,42), корень:(88,93), состояние 0x0, код ключа 48 (keysym 0x27, апостроф), same_screen YES, XLookupString дает 1 байт: (27) "'" XmbLookupString дает 1 байт: (27) "'" XFilterEvent возвращает: True
Событие KeyRelease, серийный номер 41, синтетический номер NO, окно 0x5c00001, корень 0x121, subw 0x0, время 657157733, (84,42), корень:(88,93), состояние 0x0, код ключа 48 (keysym 0x27, апостроф), same_screen YES, XLookupString дает 1 байт: (27) "'" XFilterEvent возвращает: False
Событие KeyRelease, серийный номер 41, синтетический номер NO, окно 0x5c00001, корень 0x121, subw 0x0, время 657157765, (84,42), корень:(88,93), состояние 0x0, код ключа 133 (keysym 0xff20, Multi_key), same_screen YES, XLookupString дает 0 байтов: XFilterEvent возвращает: False
Событие KeyPress, серийный номер 41, синтетический номер NO, окно 0x5c00001, корень 0x121, subw 0x0, время 657157877, (84,42), корень:(88,93), состояние 0x0, код ключа 38 (keysym 0x61, a), same_screen YES, XLookupString дает 1 байт: (61) "a" XmbLookupString дает 1 байт: (61) "a" XFilterEvent возвращает: True
Событие KeyPress, серийный номер 41, синтетический номер NO, окно 0x5c00001, корень 0x121, subw 0x0, время 657157877, (84,42), корень:(88,93), состояние 0x0, код ключа 0 (keysym 0xe1, aacute), same_screen YES, XLookupString дает 0 байтов: XmbLookupString дает 2 байта: (c3 a1) "á" XFilterEvent возвращает: False
Событие KeyRelease, серийный номер 41, синтетический номер NO, окно 0x5c00001, корень 0x121, subw 0x0, время 657157981, (84,42), корень:(88,93), состояние 0x0, код ключа 38 (keysym 0x61, a), same_screen YES, XLookupString дает 1 байт: (61) "a" XFilterEvent возвращает: False
Итак, в чем может быть проблема?