XKB는 X 윈도우의 일부이므로 Wayland에서도 XKB를 사용합니까? 그렇다면 어느 시점에 XKB를 대체할 유틸리티가 계획되어 있습니까?
웨스턴에서는 setxkbmap이 작동하지 않는 것 같습니다. 키보드 레이아웃을 변경하는 데 현재 권장되는 방법은 무엇입니까?
답변1
예, Wayland는 키보드 레이아웃에 XKB를 사용합니다. 하지만 이는 올바른 질문이 아닙니다. X와는 다르게 작동하기 때문입니다. Wayland는 단지 프로토콜(및 래퍼 라이브러리)일 뿐이라는 점을 기억하십시오.
프로토콜 수준에서 wayland에는 wl_keyboard.keymap 이벤트가 있습니다. 이 이벤트에는 키 매핑 파일 설명자와 형식 분류자가 포함되어 있습니다. 현재는 "xkb"라는 한 가지 형식만 정의되어 있습니다. 따라서 wayland 클라이언트는 XKB 호환 키맵을 수신하고 libxkbcommon을 사용하여 이를 해석하여 화면 등에 올바른 문자 모양을 얻을 수 있습니다.
하지만 Wayland에는 정의가 없습니다.어떻게이 키 비트맵이 결정됩니다. 이 결정은 합성자에게 맡깁니다. Weston에서는 시작 시 구성 파일에서 읽혀지고, GNOME에서는 gsettings 등에서 읽혀집니다. 따라서 이 결정은 런타임에 키맵을 변경하는 방법도 정의합니다(가능한 경우). 그놈에서는 구성 패널을 사용하거나 gsettings 키를 직접 설정할 수 있습니다.
X 프로토콜에서는 프로토콜 수준에서 키맵을 설정해야 하며, 이를 통해 setxkbmap과 같은 도구가 가능해집니다. Wayland에는 이러한 요청이 없으며 Wayland 프로토콜만으로는 키맵을 설정할 수 없습니다.
답변2
- 너는 사용한다xkb 구성 파일존재하다
$XDG_HOME_CONFIG/xkb/
. - 당신은 할 수레이아웃 및 변형 생성/확장존재하다
$XDG_HOME_CONFIG/xkb/symbols/
. - 또는
$XDG_HOME_CONFIG/xkb/rulesets/evdev
구성의 모든 측면symbols
을xkb_options
. - 또한 GUI 레이아웃 관리자(GNOME Tweaks 등)에 옵션을 표시하려면 다음이 필요합니다.만들다
$XDG_HOME_CONFIG/xkb/rulesets/evdev.xml
.