KDE에서 사용자 정의 키보드 레이아웃을 만드는 방법

KDE에서 사용자 정의 키보드 레이아웃을 만드는 방법

. 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
  1. 첫째, /usr/share/X11/xkb/symbols언어별로 분류된 다양한 키보드 레이아웃을 찾을 수 있습니다. 이 파일에는 훌륭한 내용이 많이 있습니다. 레이아웃이 마음에 들지 않으면 살펴보고 마음에 들면 3으로 건너뛰세요.
  2. 아직 키보드 레이아웃을 결정하지 않았다면 레이아웃에 대한 새 블록을 생성하겠습니다.
  • 키보드 레이아웃의 기반이 될 언어를 선택하세요.
  • 파일을 열고 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
};
  1. 이에 대해서는 나중에 다시 다루겠습니다. 먼저 시스템에서 읽을 수 있도록 만들어야 합니다. 열려 있는 /usr/share/X11/xkb/rules/evdev.lst
  • 키보드 레이아웃 블록이 배치된 파일의 파일 이름을 검색하고(내 경우에는 cz) 다음과 같이 새 항목을 배치합니다. keyboard_id cz: my keyboard
  • keyboard_id cz또한 및 값을 귀하의 값으로 바꾸십시오.my keyboard
  • 영상
  1. 유사한 작업을 수행 /usr/share/X11/xkb/rules/evdev.xml 영상

  2. 모든 작업을 올바르게 수행했다면 이제 키보드 레이아웃에 표시됩니다. 영상

  3. 이 키보드 레이아웃을 적용하십시오. 이제 레이아웃을 사용하여 입력할 수 있습니다! 하지만 기본 레이아웃을 변경하고 싶을 수도 있습니다(저희 경우에는).

  4. 이제 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]};
  • 레이아웃을 재정렬하고 적용하여 파일을 저장한 후 변경 사항을 확인합니다(또는 시스템에서 키보드 레이아웃을 다시 로드합니다. 최악의 경우 재부팅하면 됩니다). 영상

관련 정보