Waylandでノートパソコンのタッチパッドを無効にする

Waylandでノートパソコンのタッチパッドを無効にする

ノートブックのタッチパッドを無効にする必要があります。私はGNOMEを使用していますウェイランドで

  • libinputこの機能は提供する必要がありますが、そうでないようです。
  • xinputWaylandにあるので動作しません。
  • 私はGnomeがこのために入力設定にいくつかのスイッチを提供したと思いましたが、もはや存在しません(Gnomeシェル3.34 - おそらくこれはXorg専用の機能ですか?)。

入力デバイスを無効にしたい場合、これは実際にはあまりにも多くを必要としますか?


編集:xinput解決策ではありません!

マニュアルページにはWaylandの完全なセクションがあります(強調表示):

アクスウェランド

Xwayland は Wayland Compositor をバックエンドとして使用する X サーバーです。 XwaylandはXプロトコルとWaylandプロトコル間の変換層として機能しますが、ハードウェアに直接アクセスすることはできません。 Xwaylandによって生成されたX入力拡張デバイス(「xwayland-pointer」、「xwayland-keyboard」など)は、物理デバイスではなくWaylandプロトコルデバイスにマッピングされます。このようなX入力拡張装置は、他のXクライアントにのみ表示同じXwaylandプロセスに接続します。 Xwaylandデバイスのプロパティの変更その顧客の行動にのみ影響を与える。例えば、xinput を使用して Xwayland デバイスを無効にしても、Wayland 基本アプリケーションではデバイスは無効になりません。。他の変更はまったく影響を与えない可能性があります。ほとんどの場合、Xwaylandデバイスでxinputを使用することはシェルスクリプトのエラーを示します。xinput は警告を出力します。代わりに、Wayland Compositor の基本的なデバイス構成方法を使用してください。

長い話を短く:タッチパッドを無効にすると、xinput以前と同じように機能しますが、XWaylandアプリではカーソルの動きを表示できなくなります。

答え1

まず、このdconf設定を試して役立つことを確認してください。

gsettings set org.gnome.desktop.peripherals.touchpad disable-while-typing 'false'

falsewhile 名前が意味するように表現されますtrue

この設定はXserver構成に適用されます。

gsettings set org.gnome.desktop.peripherals.touchpad send-events 'disabled'

Fnノートブックは+を使用してタッチパッドを無効にすることもできますF5

これがうまくいかない場合は、その出力をlibinput-list-devices質問に追加します。また、見たいと思うかもしれませんタッチパッドインジケータGNOMEシェル拡張。

答え2

xinputWaylandを使用していても機能します。

xinput必要に応じてパッケージをインストールします。次に、次のように入力してデバイスを見つけます。

xinput list | grep -i touch

「SynPS / 2 Synaptics TouchPad」などの文字列を見つけることができます。grepリストが空の場合は、そのセクションを無視してタッチパッドのように聞こえる他のものが見つかるかどうかを確認してください。

この文字列を使用し(次のコマンドで必要に応じて変更)、次のように入力します。

xinput set-prop "SynPS/2 Synaptics TouchPad" "Device Enabled" 0

最後に「0」の代わりに「1」と入力すると、タッチパッドを再度有効にできます。

答え3

KDE Plasmaでは他の方法が機能しなかったため、次の簡単な方法でタッチパッドを無効にしてみました。

ydotool key 530:1 530:0

このコマンドは、デフォルトでタッチパッドをオンまたはオフにするためにKEY_TOUCHPAD_TOGGLE要求を送信します。

この設定が機能するには、ydotooldデーモンがバックグラウンドで(たとえばsystemdサービスとして)実行されている必要があります。

cat ~/.config/systemd/user/ydotoold.service
[Unit]
Description=Starts ydotoold service
StartLimitIntervalSec=0

[Service]
Type=simple
Restart=always
RestartSec=3
ExecStart=/opt/ydotool/ydotoold
ExecReload=/usr/bin/kill -HUP $MAINPID
KillMode=process
TimeoutSec=180

[Install]
WantedBy=default.target

これで、スクリプトまたはKDE Con​​nectを介してプログラムでタッチパッドを有効/無効にすることができます。

GitHubのydotoolバージョン1.0.4でテストされました。

関連情報