Depois de atualizar meu OpenSuSE Leap de 15.2 para 15.3, descobri que a tecla Compose (keycode: 135) não estava mais funcionando. Na verdade, xev
já não o reconhecia como Multi_key
, mas como 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: A tecla está realmente rotulada Compose
, pois faz parte de um teclado Sun Type 7. No $XKB/keycodes/evdev
arquivo, eu tenho essas duas linhas de código (das quais a segunda foi desabilitada por mim, pois é para teclados de PC comuns com teclas de menu):
<COMP> = 135;
// alias <MENU> = <COMP>;
O $XKB/symbols/compose
arquivo foi atualizado com o seguinte bloco:
partial modifier_keys
xkb_symbols "comp" {
key <COMP> { type[Group1]="TWO_LEVEL", [ Multi_key, Multi_key ] };
};
A setxkbmap
configuração atual tem a seguinte aparência:
╭─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)" };
};
Eu posso ver a compose:comp
opção muito claramente. Então: O que há de errado aqui?
OK, eu mesmo descobri o culpado: o serviço de atualização do OpenSuSE (resp.
zypper
) sobrescrevexkb
os arquivos de configuração, então geralmente é uma má ideia editá-los você mesmo! Você simplesmente reverterá suas adaptações com a próxima atualização do X11.