Ubuntu - 헤드폰을 연결하면 키보드 레이아웃이 기본값으로 재설정됩니다. 어떻게 중지합니까?

Ubuntu - 헤드폰을 연결하면 키보드 레이아웃이 기본값으로 재설정됩니다. 어떻게 중지합니까?

를 사용하여 키보드 레이아웃을 사용자 정의 레이아웃으로 설정했습니다 setxkbmap. "응용 프로그램 자동 실행"( )으로 실행되고 ~/.config/autostart제대로 작동합니다.

하지만 Jabra 헤드셋을 연결하면 기본 US QWERTY 헤드셋으로 재설정됩니다. 나는 이것을 멈추고 싶다.

다른 글을 봤는데

udev 장치 연결에 의해 트리거되는 xinput 속성을 설정하는 방법은 무엇입니까?

USB 키보드가 연결되어 있을 때 키보드 레이아웃이 재설정되지 않도록 방지

그러나 가장 좋은 대답은 OP가 다른 새 키보드를 연결했다고 가정하는 것입니다. 제 생각에는 그것은 잘못된 가정이고 확실히 제 경우는 아닙니다.

나는 이것이 udev문제이고 매우 심각한 실수라는 것을 알고 있습니다. 우분투 18.04.

이를 사용할 때 udevadm monitorJabra 헤드셋을 연결할 때 다음 줄이 표시됩니다.

monitor will print the received events for:
UDEV - the event which udev sends out after rule processing
KERNEL - the kernel uevent

KERNEL[514.356707] add      /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.2 (usb)
KERNEL[514.360571] add      /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.2/3-3.2:1.0 (usb)
KERNEL[514.384326] add      /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.2/3-3.2:1.0/sound/card1 (sound)
KERNEL[514.384427] add      /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.2/3-3.2:1.0/sound/card1/pcmC1D0p (sound)
KERNEL[514.384485] add      /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.2/3-3.2:1.0/sound/card1/pcmC1D0c (sound)
KERNEL[514.384542] add      /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.2/3-3.2:1.0/sound/card1/controlC1 (sound)
KERNEL[514.384584] bind     /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.2/3-3.2:1.0 (usb)
KERNEL[514.384616] add      /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.2/3-3.2:1.1 (usb)
KERNEL[514.384645] bind     /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.2/3-3.2:1.1 (usb)
KERNEL[514.384675] add      /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.2/3-3.2:1.2 (usb)
KERNEL[514.384701] bind     /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.2/3-3.2:1.2 (usb)
KERNEL[514.384730] add      /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.2/3-3.2:1.3 (usb)
KERNEL[514.387245] add      /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.2/3-3.2:1.3/0003:0B0E:0305.000B (hid)
KERNEL[514.387575] add      /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.2/3-3.2:1.3/0003:0B0E:0305.000B/input/input18 (input)
KERNEL[514.444127] add      /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.2/3-3.2:1.3/0003:0B0E:0305.000B/input/input18/event6 (input)
KERNEL[514.444169] add      /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.2/3-3.2:1.3/0003:0B0E:0305.000B/input/input18/input18::mute (leds)
KERNEL[514.444318] add      /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.2/3-3.2:1.3/usbmisc/hiddev0 (usbmisc)
KERNEL[514.444375] add      /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.2/3-3.2:1.3/0003:0B0E:0305.000B/hidraw/hidraw1 (hidraw)
KERNEL[514.444438] bind     /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.2/3-3.2:1.3/0003:0B0E:0305.000B (hid)
KERNEL[514.444473] bind     /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.2/3-3.2:1.3 (usb)
KERNEL[514.444510] bind     /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.2 (usb)
UDEV  [514.967946] add      /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.2 (usb)
UDEV  [514.970785] add      /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.2/3-3.2:1.0 (usb)
UDEV  [514.971920] add      /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.2/3-3.2:1.1 (usb)
UDEV  [514.972737] add      /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.2/3-3.2:1.2 (usb)
UDEV  [514.973022] add      /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.2/3-3.2:1.3 (usb)
UDEV  [514.973854] add      /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.2/3-3.2:1.0/sound/card1 (sound)
UDEV  [514.974449] bind     /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.2/3-3.2:1.1 (usb)
UDEV  [514.975643] bind     /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.2/3-3.2:1.2 (usb)
UDEV  [514.976113] add      /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.2/3-3.2:1.3/0003:0B0E:0305.000B (hid)
UDEV  [514.976909] add      /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.2/3-3.2:1.3/usbmisc/hiddev0 (usbmisc)
UDEV  [514.979273] add      /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.2/3-3.2:1.3/0003:0B0E:0305.000B/hidraw/hidraw1 (hidraw)
UDEV  [514.980161] add      /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.2/3-3.2:1.0/sound/card1/pcmC1D0c (sound)
UDEV  [514.980666] add      /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.2/3-3.2:1.3/0003:0B0E:0305.000B/input/input18 (input)
UDEV  [514.980736] add      /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.2/3-3.2:1.0/sound/card1/pcmC1D0p (sound)
KERNEL[514.980866] change   /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.2/3-3.2:1.0/sound/card1 (sound)
UDEV  [514.983803] add      /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.2/3-3.2:1.3/0003:0B0E:0305.000B/input/input18/input18::mute (leds)
UDEV  [515.017334] add      /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.2/3-3.2:1.3/0003:0B0E:0305.000B/input/input18/event6 (input)
UDEV  [515.019498] bind     /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.2/3-3.2:1.3/0003:0B0E:0305.000B (hid)
UDEV  [515.020828] bind     /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.2/3-3.2:1.3 (usb)
UDEV  [515.790142] add      /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.2/3-3.2:1.0/sound/card1/controlC1 (sound)
UDEV  [515.792199] bind     /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.2/3-3.2:1.0 (usb)
UDEV  [515.794039] bind     /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.2 (usb)
UDEV  [515.796084] change   /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.2/3-3.2:1.0/sound/card1 (sound)

그 후에 xinput list나는 다음을 본다:

⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ HP HP USB 1000dpi Laser Mouse             id=8    [slave  pointer  (2)]
⎜   ↳ Chicony HP Business Slim Keyboard Consumer Control    id=13   [slave  pointer  (2)]
⎜   ↳ PS/2 Generic Mouse                        id=18   [slave  pointer  (2)]
⎣ Virtual core keyboard                     id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ Power Button                              id=6    [slave  keyboard (3)]
    ↳ Sleep Button                              id=7    [slave  keyboard (3)]
    ↳ Chicony HP Business Slim Keyboard         id=10   [slave  keyboard (3)]
    ↳ Chicony HP Business Slim Keyboard System Control  id=11   [slave  keyboard (3)]
    ↳ Chicony HP Business Slim Keyboard         id=12   [slave  keyboard (3)]
    ↳ Integrated_Webcam_FHD: Integrat           id=14   [slave  keyboard (3)]
    ↳ Integrated_Webcam_FHD: Integrat           id=15   [slave  keyboard (3)]
    ↳ Dell WMI hotkeys                          id=16   [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard              id=17   [slave  keyboard (3)]
    ↳ Chicony HP Business Slim Keyboard Consumer Control    id=19   [slave  keyboard (3)]
    ↳ GN Netcom A/S Jabra EVOLVE LINK MS        id=9    [slave  keyboard (3)]

Chicony HP Business Slim Keyboard레이아웃을 설정하려는 것은 USB 키보드이고, GN Netcom A/S Jabra EVOLVE LINK MS헤드폰입니다.

답변1

Jabra 헤드셋에는 운영 체제에 "키보드와 유사한" 입력 장치로 표시되는 일부 버튼이 포함되어 있는 것으로 보이며, 새 키보드 장치가 연결될 때마다 데스크탑 환경은 알고 있는 설정에 따라 X11 키보드 레이아웃을 재설정합니다. 에 대한.

setxkbmap데스크탑 환경은 사용자의 설정을 알지 못하므로 결국 데스크탑 환경과 데스크탑 환경이 setxkbmap서로 싸우게 됩니다.

setxkbmap를 사용하는 대신 먼저 데스크탑 환경의 구성 도구를 사용하여 키보드를 올바르게 설정해야 합니다. 안타깝게도 Gnome 데스크탑은 단순화된 키보드 레이아웃 선택기 GUI만 제공하는 것으로 보입니다. 그러나 자세한 내용은 에서 직접 설정을 삭제할 수 있어야 합니다 /etc/default/keyboard.man 5 keyboard

답변2

헤드셋이 연결될 때 Gnome 대화 상자를 사용하여 키보드 레이아웃을 설정하여 이 문제를 해결했습니다. 왠지 연결되면 Gnome은 레이아웃이 전혀 설정되지 않은 것으로 생각합니다.

일단 설정하면 헤드폰이 연결되어 있는지 여부에 관계없이 레이아웃이 유지됩니다.

관련 정보