특정 장치에 대한 키보드 레이아웃을 설정하는 방법

저는 포르투갈어(PT) 키보드 레이아웃이 있는 노트북을 가지고 있으며 최근에 US 레이아웃이 있는 Keychron K2를 구입했습니다. 현재 사용하고 있는 키보드로 키보드 레이아웃을 변경해야 하는 것이 귀찮아서 각 키보드가 자동으로 적절한 레이아웃이 되도록 설정하는 방법을 시도하기 시작했습니다.

X11 구성 파일을 이해하기 위해 많은 노력을 기울인 끝에 마침내 얻은 것 같습니다. 01-keyboard.conf 폴더에 다음 내용이 있는 /etc/X11/xorg.conf.d/ 파일이 생성되었습니다.

Section "InputClass"
        Identifier "Keychron_K2"
        MatchVendor "Keychron"
        MatchProduct "Keychron K2"
        MatchIsKeyboard "on"
        Option "XkbLayout" "us"
        Option "XkbVariant" ",intl"
        Option "XkbOptions" "compose:ralt"
EndSection


이 구성 파일 X11을 사용하면 모니터, 키보드, 포인팅 및 터치 장치를 처리하는 장치가 연결될 때마다 키보드 레이아웃을 적절하게 구성할 수 있습니다.

여기서 무슨 일이 일어나고 있습니까?



장치를 Linux 시스템에 연결할 때마다 해당 드라이버가 커널에 의해 로드됩니다. dmesg 명령을 실행하여 로드 처리 상태 및 해당 메시지를 확인할 수 있습니다.

내 컴퓨터에서 실행하면 다음과 같은 결과가 나타납니다.

[...] usb 3-1: new full-speed USB device number 6 using xhci_hcd
[...] usb 3-1: New USB device found, idVendor=05ac, idProduct=024f, bcdDevice= 1.12
[...] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[...] usb 3-1: Product: Keychron K2
[...] usb 3-1: Manufacturer: Keychron
[...] input: Keychron Keychron K2 as /devices/.../usb3/.../input/input33
[...] apple 0003:05AC:024F.000C: input,hidraw0: USB HID v1.11 Keyboard [Keychron Keychron K2] on usb-0000:04:00.3-1/input0
[...] apple 0003:05AC:024F.000D: Fn key not found (Apple Wireless Keyboard clone?), disabling Fn key handling
[...] input: Keychron Keychron K2 as /devices/.../usb3/.../input/input34
[...] apple 0003:05AC:024F.000D: input,hiddev98,hidraw5: USB HID v1.11 Keyboard [Keychron Keychron K2] on usb-0000:04:00.3-1/input1


보시다시피 dmesg에는 장치 및 제조업체에 대한 세부 정보가 표시됩니다. 여기에서 해당 정보를 활용하여 키보드에 대해 원하는 설정을 지정하기만 하면 됩니다.
이를 위해서는 X.org 구성 파일을 만들어야 합니다.

작동 방식을 더 잘 이해하기 위해 X.org conf documentation을 확인할 수 있지만 단순성을 위해 특성 및 기능을 기반으로 장치를 선택하여 해당 장치 세트에 대한 구성 또는 명령을 지정할 수 있는 방법으로 생각하십시오. .

해당 섹션 파일에 대해 가능한 많은 설정이 있지만 키보드 레이아웃의 경우 다음이 충분하다고 생각합니다.

  • 섹션 "입력 클래스"
    InputClass는 입력 장치에 대한 구성을 지정하려고 함을 나타냅니다.

  • 식별자
    이 항목은 필수 항목이며 고유한 이름이어야 합니다. 이 InputClass에 대한 ID와 비슷합니다.

  • MatchVendor
    이 항목은 장치 공급업체 이름을 지정된 이름과 일치시키려고 시도합니다.

  • MatchProduct
    이 항목은 디바이스 제품 이름을 지정된 이름과 일치시키려고 시도합니다.

  • MatchIs키보드
    이는 장치 유형이 키보드인 경우에만 일치하는 항목입니다.

  • 옵션 "<OptionName> ""<OptionValue> "
    이러한 항목은 기본적으로 일치하는 모든 장치에 대해 실행되어야 하는 xkb 명령에 대한 옵션을 정의합니다. xkb 허용하는 모든 옵션 또는 레이아웃을 지정할 수 있습니다.

  • 해당 파일을 생성하면 거의 완료됩니다. 컴퓨터를 로그아웃하거나 재부팅하면 식별한 각 장치에 지정된 레이아웃이 할당됩니다.

    참조



    Xorg Conf
    Input Device Configuration
    Input Class Documentation
    Compose key
    Xkb Configuration

    좋은 웹페이지 즐겨찾기