문제는 키보드 레이아웃과 관련된 xkb 구성의 구조를 단순화할 수 있는 방법이 있느냐는 것입니다.
아래에 자세히 설명된 것처럼 키보드 레이아웃 변형에 대한 참조가 저장되는 별도의 위치는 5개입니다( evdev.xml
, evdev.lst
, 및 base.xml
의 base.lst
해당 레이아웃 설명 파일 내 /usr/share/X11/symbols/
). 필요한 양만 필요한 경우 훨씬 더 간단할 것입니다(.lst 및 .xml에 동일한 정보를 저장하는 것은 키보드 레이아웃의 모든 추가 또는 제거가 필요하지 않으므로 도움이 되지 않습니다).5개소) 물론 이로 인해 전체 구성이 사용자에게 덜 명확해집니다(불필요하게 중복되는 방식으로 여러 위치에서 정확히 동일한 구성을 설정해야 하면 혼란스러울 수 있기 때문입니다). 어쩌면 이 과정을 단순화하는 방법이 있을까요? 오히려 이것이 이 질문에 필요한 대답이 될 것입니다. 다양한 배포판이 있다는 점을 고려하면 모든 배포판에 이 xkb 구성 설정이 있지는 않기를 바랍니다.
이것은 내 GNU/Linux(Ubuntu 12.04LTS) 시스템의 xkb 구성과 같습니다. 내가 사용할 새로운 키보드 레이아웃을 추가하려면 많은 파일을 수정해야 했습니다.
/usr/share/X11/xkb/rules/evdev
/usr/share/X11/xkb/rules/evdev.xml
/usr/share/X11/xkb/rules/evdev.lst
/usr/share/X11/xkb/rules/base
/usr/share/X11/xkb/rules/base.xml
/usr/share/X11/xkb/rules/base.lst
base
파일의 필수 버전은 파일의 복사본인 것 같습니다 evdev
. 이러한 파일과 같은 심볼릭 링크가 될 수 있는지 아는 것이 흥미로울 것입니다.
/usr/share/X11/xkb/rules/xorg
/usr/share/X11/xkb/rules/xorg.lst
/usr/share/X11/xkb/rules/xorg.xml
다음과 같은 작은 테스트를 수행하십시오.
1.
user@box:/$ cat /usr/share/X11/xkb/rules/evdev.lst | grep Greek
gr Greek
simple gr: Greek (simple)
extended gr: Greek (extended)
nodeadkeys gr: Greek (eliminate dead keys)
polytonic gr: Greek (polytonic)
2.
user@box:/$ cat /usr/share/X11/xkb/rules/evdev.xml | grep Greek
<description>Greek</description>
<description>Greek (simple)</description>
<description>Greek (extended)</description>
<description>Greek (eliminate dead keys)</description>
<description>Greek (polytonic)</description>
ofencito@freak:/usr/share/X11/xkb/rules$
두 파일 모두 실제로 정확히 동일한 데이터를 포함하고 있음을 보여줍니다(앞서 언급한 심볼릭 링크를 무시하더라도 동일한 정보가 4개의 다른 위치에 저장됨).
궁극적으로 키보드 레이아웃 자체는 파일 시스템 구조에 저장되며 /usr/share/X11/xkb/symbols
, 이는 해당 이름의 파일에 언어 레이아웃 및 변형에 대한 참조를 다시 저장합니다. 그리스어 예를 보존하기 위해 파일이 있습니다 /usr/share/X11/xkb/symbols/gr
. 이 수익률을 보세요:
user@box:/$ cat /usr/share/X11/xkb/symbols/gr | grep xkb_symbols
xkb_symbols "basic" {
name[Group1] = "Greek";
xkb_symbols "simple" {
name[Group1] = "Greek (simple)";
xkb_symbols "bare" {
xkb_symbols "extended" {
name[Group1] = "Greek (extended)";
xkb_symbols "polytonic" {
name[Group1] = "Greek (polytonic)";
xkb_symbols "nodeadkeys" {
name[Group1] = "Greek (eliminate dead keys)";
이때 정확히 동일한 정보가 5개 위치에 중복 저장됩니다.
이 "혼란"을 단순화하는 방법이 있습니까? 저는 Ubuntu에만 익숙하기 때문에 다른 배포판에서 키보드 레이아웃을 처리하는 데 덜 혼란스러운 방법을 찾았을지 궁금합니다.
답변1
구현이 성급하게 이루어졌던 것 같아요. 여기를 참조하세요: (Chrome에서 Google 번역 사용)
https://www.linux.org.ru/forum/general/12078555
따라서 일부 장소에서는 .lst
무시 한다고 읽었 base.xml
지만 정확히 동일한 정보가 포함되어 있지 않습니다. xml
더 완전하다고 생각하지만 확실하지는 않습니다.