XKB를 사용하여 현재 로드된 키 목록을 어떻게 얻을 수 있습니까?

XKB를 사용하여 현재 로드된 키 목록을 어떻게 얻을 수 있습니까?

evdev현재 사용 중인 전체 키보드 레이아웃을 알아야 하는 종속성 데몬을 작성 중입니다 . 현재 XKB 레이아웃의 속성을 얻는 것은 쉽습니다. setxkbmap -query또는 을 사용하면 됩니다 setxkbmap -print. 하지만 내가 원한다면전체 설명현재 로드된 레이아웃이 있나요? 각 키에 대한 수정자 아래에 입력된 항목 목록은 무엇입니까?

내가 아는 한, XKB 외에 다른 어떤 것에도 의존하지 않고 이를 달성하는 두 가지 방법이 있습니다.

  1. 형식적이고 정교한 방법은 setxkbmap -print어떤 기호 파일을 로드할지 파악 /usr/share/X11/xkb/symbols하고 관련 파일을 직접 구문 분석하는 것입니다.
  2. 더 빠르고, 더 지저분하고, 임시적인 접근 방식으로 모든 키 입력과 조합을 직접 시도하고 출력을 캡처하십시오.

옵션 1은 오류가 발생하기 쉽고 구현하기 어려운 반면, 옵션 2는 번거롭습니다. 키 조합 및 문자 출력 목록을 얻을 수 있는 방법이 있습니까? XKB는 이미 나를 위해 기호 파일을 구문 분석했으므로 다른 쪽 끝에서는 구문 분석된 결과를 출력하는 무언가가 실제로 있어야 합니다(키보드 자체 외에).

편집자: 우분투 온보드나타나다먼저 레이아웃 파일을 직접 구문 분석합니다. 이는 깔끔한 기존 솔루션이 없음을 의미합니다.

관련 정보