제가 사용하고 있는 사용자 정의 레이아웃은 기본적으로 독일 PUQ 레이아웃의 크게 수정된 변형입니다. 원래는 AdNW 레이아웃에 썼는데, 업데이트로 덮어쓰는 것을 방지하기 위해 지금은 사용자 정의 레이아웃으로 구성했습니다. 그런데 수정된 AdNW 레이아웃과 달리 Gnome에 로드했을 때 복사 붙여넣기하고 이름만 변경했는데도 레이아웃이 레벨 스위치 설정을 인식하지 못했습니다. 왜 그런 겁니까? 어떻게 바꿀 수 있나요? 참고로 레이아웃은 이렇습니다.
partial alphanumeric_keys
xkb_symbols "custom_base" {
include "de(neo_base)"
key.type[Group1] = "EIGHT_LEVEL_LEVEL_FIVE_LOCK";
key <AD04> { [ comma, enfilledcircbullet, NoSymbol, U03D1, NoSymbol, NoSymbol, U2203, NoSymbol ] };
key <AB04> { [ period, endash, NoSymbol, U03F1, NoSymbol, NoSymbol, U2261, NoSymbol ] };
key.type[Group1] = "EIGHT_LEVEL_ALPHABETIC_LEVEL_FIVE_LOCK";
key <AD01> { [ p, P, NoSymbol, Greek_pi, NoSymbol, Greek_PI, multiply, U043F ] };
key <AD02> { [ u, U, NoSymbol, NoSymbol, NoSymbol, NoSymbol, U2200, U0443 ] };
key <AD03> { [ udiaeresis, Udiaeresis, NoSymbol, Greek_chi, NoSymbol, NoSymbol, U2191, U044B ] };
key <AD05> { [ q, Q, NoSymbol, NoSymbol, NoSymbol, NoSymbol, U22C9, U044C ] };
key <AD06> { [ v, V, NoSymbol, NoSymbol, NoSymbol, NoSymbol, U22CA, U0432 ] };
key <AD07> { [ c, C, NoSymbol, NoSymbol, 4, NoSymbol, U227A, U0447 ] };
key <AD08> { [ l, L, NoSymbol, Greek_lambda, 5, Greek_LAMBDA, U2227, U043B ] };
key <AD09> { [ m, M, NoSymbol, Greek_mu, 6, NoSymbol, U227B, U043C ] };
key <AD10> { [ f, F, NoSymbol, Greek_phi, NoSymbol, Greek_PHI, U220F, U0444 ] };
key <AD11> { [ adiaeresis, Adiaeresis, NoSymbol, NoSymbol, NoSymbol, NoSymbol, U2210, U044A ] };
key <AC01> { [ h, H, NoSymbol, Greek_eta, NoSymbol, NoSymbol, U2194, U0445 ] };
key <AC02> { [ i, I, NoSymbol, Greek_iota, NoSymbol, NoSymbol, U2190, U0438 ] };
key <AC03> { [ e, E, NoSymbol, Greek_epsilon, NoSymbol, NoSymbol, U2193, U044D ] };
key <AC04> { [ a, A, NoSymbol, Greek_alpha, NoSymbol, U2135, U2192, U044F ] };
key <AC05> { [ o, O, NoSymbol, Greek_omicron, NoSymbol, NoSymbol, U21A6, U043E ] };
key <AC06> { [ d, D, NoSymbol, Greek_delta, NoSymbol, Greek_DELTA, partialderivative, U0434 ] };
key <AC07> { [ t, T, NoSymbol, Greek_tau, 1, NoSymbol, U003C, U0442 ] };
key <AC08> { [ r, R, NoSymbol, Greek_rho, 2, NoSymbol, U2228, U0440 ] };
key <AC09> { [ n, N, NoSymbol, Greek_nu, 3, NoSymbol, U003E, U043D ] };
key <AC10> { [ s, S, NoSymbol, Greek_sigma, NoSymbol, Greek_SIGMA, U221E, U0441 ] };
key <AC11> { [ ssharp, U1E9E, NoSymbol, Greek_finalsmallsigma, NoSymbol, NoSymbol, jot, NoSymbol ] };
key <AB01> { [ k, K, NoSymbol, Greek_kappa, NoSymbol, NoSymbol, U2211, U043A ] };
key <AB02> { [ y, Y, NoSymbol, Greek_upsilon, NoSymbol, NoSymbol, U222B, U044E ] };
key <AB03> { [ x, X, NoSymbol, Greek_xi, NoSymbol, Greek_XI, U2205, NoSymbol ] };
key <AB05> { [ odiaeresis, Odiaeresis, NoSymbol, Greek_psi, NoSymbol, Greek_PSI, U221D, U0446 ] };
key <AB06> { [ j, J, NoSymbol, Greek_theta, 0, Greek_THETA, U221E, U0437 ] };
key <AB07> { [ g, G, NoSymbol, Greek_gamma, 7, Greek_GAMMA, radical, U0433 ] };
key <AB08> { [ z, Z, NoSymbol, Greek_zeta, 8, NoSymbol, U2225, U0436 ] };
key <AB09> { [ w, W, NoSymbol, Greek_omega, 9, Greek_OMEGA, U2223, U0437 ] };
key <AB10> { [ b, B, NoSymbol, Greek_beta, NoSymbol, U05D1, U222B, U0431 ] };
key <LSGT> { [ ssharp, U1E9E, NoSymbol, Greek_finalsmallsigma, NoSymbol, NoSymbol, U2208, U0448 ] };
key <BKSL> { [ at, U1E9E, NoSymbol, Greek_finalsmallsigma, NoSymbol, NoSymbol, U22C8, U0449 ] };
};
partial alphanumeric_keys modifier_keys keypad_keys
xkb_symbols "custom" {
include "custom(custom_base)"
name[Group1]= "Custom";
include "shift(both_capslock)"
include "level3(caps_switch)"
include "level3(ac11_switch)"
include "level5(ralt_switch_lock)"
};
편집 : 출력은 다음과 setxkbmap -print -verbose 10
같습니다
Setting verbose level to 10
WARNING: Running setxkbmap against an XWayland server
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: us
Trying to build keymap using the following components:
keycodes: evdev+aliases(qwerty)
types: complete
compat: complete
symbols: pc+us+inet(evdev)
geometry: pc(pc105)
xkb_keymap {
xkb_keycodes { include "evdev+aliases(qwerty)" };
xkb_types { include "complete" };
xkb_compat { include "complete" };
xkb_symbols { include "pc+us+inet(evdev)" };
xkb_geometry { include "pc(pc105)" };
};
편집: 실행 후 setxkbmap -layout custom
출력 은 다음 setxkbmap -print -verbose 10
과 같습니다.
Setting verbose level to 10
WARNING: Running setxkbmap against an XWayland server
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: custom
Trying to build keymap using the following components:
keycodes: evdev+aliases(qwerty)
types: complete
compat: complete
symbols: pc+custom+inet(evdev)
geometry: pc(pc105)
xkb_keymap {
xkb_keycodes { include "evdev+aliases(qwerty)" };
xkb_types { include "complete" };
xkb_compat { include "complete" };
xkb_symbols { include "pc+custom+inet(evdev)" };
xkb_geometry { include "pc(pc105)" };
이는 제가 실제로 사용하고 있는 Gnome이 선택한 키맵과는 완전히 독립적인 것 같습니다.
setxkbmap
Edit3: wayland가 설정을 무시하는 것 같습니다 . X11에서는 설정 레이아웃을 사용할 수 있지만 setxkbmap
문제는 여전히 존재합니다. 그러나 출력은 setxkbmap -layout custom
약간 다릅니다.
[alex@alex ~]$ setxkbmap -print -verbose 10
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: custom,us
variant: ,
options: lv3:ralt_switch,compose:menu
Trying to build keymap using the following components:
keycodes: evdev+aliases(qwerty)
types: complete
compat: complete
symbols: pc+custom+us:2+inet(evdev)+level3(ralt_switch)+compose(menu)
geometry: pc(pc105)
xkb_keymap {
xkb_keycodes { include "evdev+aliases(qwerty)" };
xkb_types { include "complete" };
xkb_compat { include "complete" };
xkb_symbols { include "pc+custom+us:2+inet(evdev)+level3(ralt_switch)+compose(menu)" };
xkb_geometry { include "pc(pc105)" };
};