Linux Mint의 사용자 정의 키보드 레이아웃에서 한 번의 키 입력으로 세 개의 유니코드 문자를 내보내는 방법은 무엇입니까?

Linux Mint의 사용자 정의 키보드 레이아웃에서 한 번의 키 입력으로 세 개의 유니코드 문자를 내보내는 방법은 무엇입니까?

다양한 파일을 편집하여 해당 지역 언어에 대한 사용자 정의 키보드 레이아웃을 만들었습니다. 한 가지 문제를 제외하고는 잘 작동합니다. 문자 중 하나에는 세 개의 유니코드 문자 조합이 필요합니다. 즉, 단일 키 입력으로 세 문자를 모두 내보내고 싶습니다. 제가 이 일을 할 수 있도록 도와주세요.

등장인물은 다음과 같습니다

ক + ্ + ষ --> ক্ষ

U0995 + U09CD + U09B7 --> ক্ষ

key <AB04>조합은 아래와 같이 키의 세 번째 문자에서 내보내져야 합니다 .

언어 파일 /usr/share/X11/xkb/symbols과 해당 파일에 항목을 추가했습니다 /usr/share/X11/xkb/rules/evdev.xml.

내가 추가한 파일에서 발췌:

// shift, z to /
      // key <LFSH> { [ Shift_L ] };
               key <AB01> { [ U09A2,    U09A7,  U09B7,  voidsymbol ] };
               key <AB02> { [ U09A3,    U09A8,  U09B8,  voidsymbol  ] };
               key <AB03> { [ U09AA,    U09AF,  U09B9,  voidsymbol  ] };
               key <AB04> { [ U09AB,    U09F0,  voidsymbol, voidsymbol ] };
               key <AB05> { [ U09AC,    U09B2,  U09DC,  voidsymbol ] };
               key <AB06> { [ U09AD,    U09F1,  U09DD,  voidsymbol ] };
               key <AB07> { [ U09AE,    U09B6,  U09DF,  voidsymbol ] };

행의 왼쪽에서 6번째 키의 세 번째 위치에 ক্ষ 문자를 추가해야 합니다 Shift.

키보드 레이아웃

저는 리눅스 민트 21.3을 사용하고 있습니다.

편집: 작동 방식: 유니코드 문자를 사용하여 쓸 수 있는 모든 문자는 내 사용자 정의 기호 파일을 사용하여 쓸 수 있습니다. ক্ষ 문자는 세 개의 유니코드 문자를 조합한 것이므로 이와 같이 쓸 수 없습니다.

아삼어 알파벳

이미지에서 알파벳의 끝에서 두 번째 행의 첫 글자를 확인하세요. U0995 + U09CD + U09B7파일에 추가가 안 되니까 한 번의 클릭으로 쓸 수가 없어요 . 이것은 작동하지 않습니다.

위키피디아 참조:아삼어 알파벳.

답변1

XCompose사용자 정의 작성 키 시퀀스를 정의 하는 데 사용됩니다 . 를 사용하면 XCompose단일 키 입력으로 복잡한 문자 또는 문자 조합을 내보내도록 사용자 정의 구성 키 시퀀스를 정의할 수 있습니다.

vi ~/.XCompose
<Multi_key> <k> <c> : "ক্ষ"  # Add your desired key combination here

XComposeX 세션을 다시 시작하거나

 xim -R

원하는 결과를 얻으려면 이 방법을 적용하세요. 즉, compose key선택한 키 조합(예: )을 누른 후에 <Compose> + k + c결과가 출력되어야 합니다 combined character ক্ষ.

1가지 핵심 솔루션

위의 답변은 키 조합에 대한 것입니다. 열쇠로 이것을 달성하려고 하면 인생이 더 힘들어질 것입니다! custom key당신 은keyboard layout configurationcustom keymaps and XKB extensions

  • 사용자 정의 키 정의: 키보드 레이아웃 구성 파일을 편집 하고 사용자 정의 키에 (/usr/share/X11/xkb/symbols/your_layout)할당합니다 .keycode

     key <AB04> { [ custom_key_symbol ] };
    
  • 하나를 쓰세요 Custom XKB Extension:

사용자 정의 키를 수신하고 C 또는 기타 호환 언어 key press event로 시퀀스를 내보내야 합니다.Unicode characters corresponding to ক্ষ (U+0995 + U+09CD + U+09B7

  • 확장 설치 및 로드: 컴파일 custom XKB extension하고 설치합니다. XKB environment그런 다음extensionkeyboard layout.

의견: "사용자 정의 키맵 및 XKB 확장을 사용하여 키보드 레이아웃 구성에서 사용자 정의 키 정의"를 구현하는 방법에 대한 지침을 제공할 수 있습니까? 맞춤 키를 정의하는 방법에 대해 알아보세요.

/usr/share/X11/xkb/symbols/mkdir디렉토리에서 키보드 레이아웃 파일을 편집합니다 ( 존재하지 않는 경우).

키 코드 식별: 사용자 정의 키에 할당할 키코드를 결정합니다. 키코드는 키보드의 물리적 키를 나타냅니다.

맞춤 키 기호 선택:

키보드 레이아웃 구성 편집:

  • 일반적으로 에 있는 키보드 레이아웃 파일이 포함된 디렉토리로 이동합니다 /usr/share/X11/xkb/symbols/.
  • 귀하의 언어 또는 레이아웃 변형에 적합한 레이아웃 파일을 찾으십시오. 예를 들어 미국 레이아웃, 해당 파일을 사용하여 편집하거나 이에 상응하는 항목 을 사용하여 us편집합니다 .vi
  • 레이아웃 파일에 항목을 추가하여 사용자 정의 키를 정의합니다. 선택한 사용자 정의 키 기호를 사용하여 원하는 키 기호에 할당하십시오 keycode. 명령은 콘솔에 누른 키를 showkey표시합니다 . keycode터미널에서 실행하고 아무 키나 누르면 키코드를 볼 수 있습니다.
```bash
 key <AB04> { [ custom_key_symbol ] };
 ```

 Replace `<AB04>` with   keycode of   key you want to customize,  &  `custom_key_symbol` with   name of your custom key symbol.

관련 정보