Ubuntu - ヘッドフォンを接続すると、キーボードレイアウトがデフォルト値にリセットされます。どうやって停止しますか?

Ubuntu - ヘッドフォンを接続すると、キーボードレイアウトがデフォルト値にリセットされます。どうやって停止しますか?

を使用してキーボードレイアウトをカスタムレイアウトに設定しましたsetxkbmap。 「アプリケーションの自動実行」( )で実行され、~/.config/autostart正常に動作します。

ただし、Jabraヘッドセットを接続すると、デフォルトのUS QWERTYヘッドセットにリセットされます。私はこれを止めたいです。

他の記事を見ました。

udevデバイス接続によってトリガされるxinputプロパティを設定するには?

USBキーボードが接続されているときにキーボードレイアウトがリセットされないようにする

しかし、最良の答えは、OPが別の新しいキーボードを接続したと仮定することです。私の考えでは、それは間違った仮定であり、確かに私の場合ではありません。

私はこれがudev問題であり、非常に深刻な間違いであることを知っています。 Ubuntu 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/keyboardman 5 keyboard

答え2

ヘッドセットが接続されているときにGnomeダイアログボックスを使用してキーボードレイアウトを設定することでこの問題を解決しました。なぜか接続すると、Gnomeはレイアウトがまったく設定されていないと思います。

一度設定すると、ヘッドフォンが接続されているかどうかに関係なくレイアウトが維持されます。

関連情報