x.org는 키보드 레이아웃을 XML로 저장합니다. 사용 가능한 레이아웃을 쉽게 파싱 할 수 있습니다 (/usr/share/X11/xkb/rules/base.xml
). 우분투는 그 디렉토리에 비슷한 evdev.xml
을 가지고 있습니다. 어떻게 다른지 잘 모르겠습니다. 파이썬에서 :
#!/usr/bin/env python
# Enumerate available xkb layouts
import lxml.etree
repository = "/usr/share/X11/xkb/rules/base.xml"
tree = lxml.etree.parse(file(repository))
layouts = tree.xpath("//layout")
for layout in layouts:
layoutName = layout.xpath("./configItem/name")[0].text
print layoutName
for variant in layout.xpath("./variantList/variant/configItem/name"):
variantName = variant.text
print layoutName, variantName