Ubuntu 22.04 Waylandで複数のタッチスクリーンをマッピングする方法

Ubuntu 22.04 Waylandで複数のタッチスクリーンをマッピングする方法

X-Window (または Ubuntu 20.x) の場合、「xinput map-to-output {device_id} {display_name}」を実行して、複数のタッチスクリーン入力をビデオ出力にマップできます。

現在、Ubuntu 22.04、デフォルトで Wayland を使用しているため、xinput ではタッチスクリーンのデバイス ID が提供されません。マルチタッチスクリーンをビデオにマッピングする方法を教えてください。

どうもありがとう。

答え1

X に戻すことで問題を解決しました。

sudo vim /etc/gdm3/custom.conf

コメントを外しWaylandEnable=trueて変更するWaylandEnable=false

gdmを再起動する

 systemctl restart gdm3

またはシステムを再起動します。

次に、外部モニターからタッチスクリーン入力の ID を取得します。

xinput

外部モニターディスプレイのIDを取得する

xrandr

入力を出力にマップします。

 xinput map-to-output [touchscreen id ext. monitor] [id ext. monitor]

私の場合:

xinput map-to-output 13 DP-1
  • モニターを切断/再接続するたびにマッピングする必要があります
  • タッチスクリーン入力のIDは常に2つの数字の間で切り替わります

アップデート:

以下は、外部モニターをプラグインした後に使用できる bash スクリプトで、切断/接続のたびに ID を検索するのを回避できます。

#!/bin/bash

IDENTIFIER=<Identifier xinput shows, e.g. USBII_CTP_CONTROL>

IDS=$(xinput |  grep -E ".*$IDENTIFIER.*id=[0-9]+" | grep -v 'Keyboard' | grep -oP 'id=\K[0-9]+')

for ID in $IDS; do
    #echo "xinput map-to-output $ID DP-1"
    xinput map-to-output $ID DP-1
done

関連情報