After upgrading my OpenSuSE Leap from 15.2 to 15.3, I found out that the Compose key (keycode: 135) was no longer working. In fact, xev
no longer recognised it as Multi_key
, but as NoSymbol
:
KeyPress event, serial 40, synthetic NO, window 0x7800001,
root 0x561, subw 0x0, time 8470151, (923,367), root:(923,396),
state 0x10, keycode 135 (keysym 0x0, NoSymbol), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
NB: The key is really labeled Compose
, as it's part of a Sun Type 7 keyboard. In the $XKB/keycodes/evdev
file, I've got these two lines of code (of which the second one has been disabled by me, as it's for regular PC keyboards with Menu keys):
<COMP> = 135;
// alias <MENU> = <COMP>;
The $XKB/symbols/compose
file has been upgraded with the following block:
partial modifier_keys
xkb_symbols "comp" {
key <COMP> { type[Group1]="TWO_LEVEL", [ Multi_key, Multi_key ] };
};
The current setxkbmap
config looks as follows:
╭─jacek@epica ~
╰─➤ setxkbmap -print -verbose 10 127 ↵
Setting verbose level to 10
locale is C
Trying to load rules file ./rules/evdev...
Trying to load rules file /usr/share/X11/xkb/rules/evdev...
Success.
Applied rules from evdev:
rules: evdev
model: pc105
layout: de
variant: pl
options: compose:comp,terminate:ctrl_alt_bksp,altwin:meta_win,lv3:ralt_switch
Trying to build keymap using the following components:
keycodes: evdev+aliases(qwertz)
types: complete
compat: complete
symbols: pc+de(pl)+inet(evdev)+terminate(ctrl_alt_bksp)+altwin(meta_win)+level3(ralt_switch)+terminate(ctrl_alt_bksp)
geometry: pc(pc105)
xkb_keymap {
xkb_keycodes { include "evdev+aliases(qwertz)" };
xkb_types { include "complete" };
xkb_compat { include "complete" };
xkb_symbols { include "pc+de(pl)+inet(evdev)+terminate(ctrl_alt_bksp)+altwin(meta_win)+level3(ralt_switch)+terminate(ctrl_alt_bksp)" };
xkb_geometry { include "pc(pc105)" };
};
I can see the compose:comp
option very clearly. So: What's wrong here?