X.orgで自分のラップトップの内蔵キーボードを自動的に無効にするにはどうすればよいですか?

X.orgで自分のラップトップの内蔵キーボードを自動的に無効にするにはどうすればよいですか?

デプロイとX.orgのバージョン情報

私はUbuntu 12.10とxserver-xorg/qualal 1:7.7 + 1ubuntu4を使用しています。

X11に内蔵されたキーボードを無効にする

特定の文字を認識しなくなるキーボードを内蔵したノートパソコンがあります。現在の端末を開き、次のシェル機能を実行して内蔵キーボードを無効にします。

disable_keyboard () {
  xinput --set-int-prop $(
    xinput --list |
    ruby -ane 'if /AT.*keyboard/ then puts $_.match(/(?<==)\d+/) end'
  ) "Device Enabled" 8 0
}

これは組み込み機能を無効にすることによって行われます。AT Translator Suite 2キーボード私の外部も許可します。Quunguang USBキーボード引き続き働いてください。しかし、私は本当にX11セッション中に自動的に発生したいと思います。

次のようにX.org設定を修正してみました。

# /etc/X11/xorg.conf.d/disable_keyboard
Section "InputClass"
    Identifier      "disable built-in keyboard"
    MatchIsKeyboard "on"
    MatchProduct    "AT Translated Set 2 keyboard"
    Option          "Ignore"    "on"
EndSection

ただし、これはX11が起動したときに選択されていないか、正しい注文ではありません。 X11を使用するように正しく設定する方法ただUSBキーボード?

ベストアンサー1

InputClassを使用して内蔵キーボードとトラックパッドを無効にする

人々は設定を介して内蔵デバイスを無効にすることができます。無視する入力クラスのオプション本物または存在する。デバイスと一致するために必要な情報は通常、から収集できます/var/log/Xorg.0.log

私のシステムでは、両方のデバイスがevdevドライバを使用しているため、既存のevdev設定ファイルに無効化セクションを配置することにしました。これらのセクションは簡単に他の場所に移動できますが、一致ルールの優先順位についてはわかりませんでしたDriver "evdev"

# /etc/X11/xorg.conf.d/10-evdev.conf

Section "InputClass"
        Identifier      "Built-In Touchpad"
        MatchIsTouchpad "on"
        MatchProduct    "SynPS/2 Synaptics TouchPad"
        Option          "Ignore" "true"
EndSection

Section "InputClass"
    Identifier          "Built-In Keyboard"
    MatchIsKeyboard     "on"
    MatchProduct        "AT Translated Set 2 keyboard"
    Option              "Ignore" "true"
EndSection

おすすめ記事