. setxkbmap
KDE 시스템이 내 사용자 정의 레이아웃을 인식하여 시스템 트레이 애플릿을 사용하여 선택하거나 시스템 설정 모듈을 사용하여 기본값으로 설치할 수 있기를 원합니다. 이것을 달성하려면 어떻게 해야 합니까? 복잡해도 괜찮습니다. 그래도 무슨 일이 일어나는지 알고 싶습니다.
나는 본 적이이 문제이것은 관련이 있는 것 같지만 분명히 키보드 레이아웃을 먼저 생성하는 것에 관한 것입니다. 이는 제가 이미 수행했습니다.
답변1
파일을 소유하고 있음을 시스템에 알려야 합니다. 나는 이 파일들을 수정하는 방법을 알려주지 않을 것입니다. 여러분이 알아낼 것입니다. 그러나 어떤 파일을 수정해야 하는지 알려드릴 것입니다.
첫째, 레이아웃 자체는 에 있습니다 /usr/share/X11/xkb/symbols/
. 새 확장자로 파일을 복사하거나 기존 파일 중 하나를 수정하여 레이아웃 변형을 추가할 수 있습니다. 예를 들어 레이아웃이 독일어 레이아웃을 기반으로 하는 경우 /usr/share/X11/xkb/symbols/de
.
마지막으로 레이아웃/레이아웃 변형에 대한 정보를 수정 /usr/share/X11/xkb/rules/evdev.lst
하고 추가 해야 합니다 ./usr/share/X11/xkb/rules/evdev.xml
답변2
이에 대해 궁금한 점이 있으신 분을 위해 여기에 더 자세한 답변이 있습니다.
KDE에서 사용자 정의 키보드 레이아웃을 만드는 방법
- 당신이 봐야 할 것은 다음 파일들뿐입니다:
/usr/share/X11/xkb/symbols/
/usr/share/X11/xkb/rules/evdev.xml
/usr/share/X11/xkb/rules/evdev.lst
- 첫째,
/usr/share/X11/xkb/symbols
언어별로 분류된 다양한 키보드 레이아웃을 찾을 수 있습니다. 이 파일에는 훌륭한 내용이 많이 있습니다. 레이아웃이 마음에 들지 않으면 살펴보고 마음에 들면 3으로 건너뛰세요. - 아직 키보드 레이아웃을 결정하지 않았다면 레이아웃에 대한 새 블록을 생성하겠습니다.
- 키보드 레이아웃의 기반이 될 언어를 선택하세요.
- 파일을 열고 ID와 이름으로 새 블록을 만듭니다.
xkb_symbols "keyboard_id" {// unique keyboard id
include "us" // the keyboard you are based on
name[Group1]= "my keyboard"; // the keyboard name that will be shown in the menus
// your configuration will later go here
include "level3(ralt_switch)" // optional switch to allow alt+gr and alt+gr+shift to be used
};
- 이에 대해서는 나중에 다시 다루겠습니다. 먼저 시스템에서 읽을 수 있도록 만들어야 합니다. 열려 있는
/usr/share/X11/xkb/rules/evdev.lst
- 키보드 레이아웃 블록이 배치된 파일의 파일 이름을 검색하고(내 경우에는 cz) 다음과 같이 새 항목을 배치합니다.
keyboard_id cz: my keyboard
keyboard_id
cz
또한 및 값을 귀하의 값으로 바꾸십시오.my keyboard
유사한 작업을 수행
/usr/share/X11/xkb/rules/evdev.xml
모든 작업을 올바르게 수행했다면 이제 키보드 레이아웃에 표시됩니다.
이 키보드 레이아웃을 적용하십시오. 이제 레이아웃을 사용하여 입력할 수 있습니다! 하지만 기본 레이아웃을 변경하고 싶을 수도 있습니다(저희 경우에는).
이제 2로 돌아갑니다. - 기반으로 하는 레이아웃(이 경우 US 키보드)과 다른 키를 정의해야 합니다.
xkb_symbols "keyboard_id" {// unique keyboard id
include "us" // the keyboard you are based on
name[Group1]= "my keyboard"; // the keyboard name that will be shown in the menus
key <AE01> {[ plus, exclam, 1, 1 ]};
key <AE02> {[ ecaron, at, 2, Ecaron ]};
key <AE03> {[ scaron, numbersign, 3, Scaron ]};
key <AE04> {[ ccaron, dollar, 4, Ccaron ]};
key <AE05> {[ rcaron, percent, 5, Rcaron ]};
key <AE06> {[ zcaron,asciicircum, 6, Zcaron ]};
key <AE07> {[ yacute, ampersand, 7, Yacute ]};
key <AE08> {[ aacute, asterisk, 8, Aacute ]};
key <AE09> {[ iacute, parenleft, 9, Iacute ]};
key <AE10> {[ eacute, parenright, 0, Eacute ]};
key <AE11> {[ minus, underscore, NoSymbol, NoSymbol ]};
key <AE12> {[ equal, plus, dead_caron, dead_acute]};
include "level3(ralt_switch)" // optional switch to allow alt+gr and alt+gr+shift to be used
};
무슨 일이 일어나고 있는지 설명해주세요
<AE01>
- 물리적 키의 식별자입니다. 참조용 참조 파일의 기타 키보드 레이아웃{[ first_key, second_key, third_key, fourth_key]);
- first_key - 다른 버튼을 누르지 않았을 때 누른 키
- second_key - Shift와 함께 누를 때의 키
- Third_key - Alt+gr을 사용하여 누를 때의 키
- Fourth_key - Alt+gr+shift를 사용하여 누를 때의 키
- 이제 세 번째와 네 번째 키를 생략하면
include "level3(ralt_switch)"
아무 일도 일어나지 않으므로 다음과 같이 두 개의 키만 있어야 합니다.key <AE10> {[ eacute, parenright]};
- 레이아웃을 재정렬하고 적용하여 파일을 저장한 후 변경 사항을 확인합니다(또는 시스템에서 키보드 레이아웃을 다시 로드합니다. 최악의 경우 재부팅하면 됩니다).