OpenSuSE Leap을 15.2에서 15.3으로 업그레이드한 후 Compose 키(키코드: 135)가 더 이상 작동하지 않는 것을 발견했습니다. 실제로 xev
는 더 이상 으로 인식되지 않지만 Multi_key
다음과 같이 인식 됩니다 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
Compose
참고: 이 키는 Sun Type 7 키보드의 일부이므로 레이블이 있습니다 . 해당 $XKB/keycodes/evdev
파일에는 다음 두 줄의 코드가 있습니다(두 번째 줄은 메뉴 키가 있는 일반 PC 키보드에서 작동하므로 비활성화했습니다).
<COMP> = 135;
// alias <MENU> = <COMP>;
파일 이 $XKB/symbols/compose
다음 블록으로 업그레이드되었습니다:
partial modifier_keys
xkb_symbols "comp" {
key <COMP> { type[Group1]="TWO_LEVEL", [ Multi_key, Multi_key ] };
};
현재 setxkbmap
구성은 다음과 같습니다.
╭─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)" };
};
compose:comp
옵션이 매우 명확 하게 보입니다 . 그래서: 여기서 무슨 문제가 있는 걸까요?
답변1
좋아, 내가 직접 범인을 찾았어: OpenSuSE의 업데이트 서비스(각각 zypper
)씌우다 xkb
구성 파일이므로 일반적으로 직접 편집하는 것은 좋지 않습니다! 다음 X11 업데이트에서 조정 내용을 되돌릴 수 있습니다.