Linux のタッチスクリーン設定 | Gechic
メインコンテンツへスキップ
< All Topics

Linux のタッチスクリーン設定

1. Linuxシステム – 表示設定

Linuxシステムの表示設定方法はデスクトップ環境によって若干異なります。グラフィカルなデスクトップ環境ほど、表示設定のオプションはWindowsシステムに似てきます。
現在主流のLinuxディストリビューション(Debian、Ubuntu、Manjaroなど)は、USBタッチスクリーンのプラグアンドプレイをサポートしています。主要な3つのLinuxデスクトップ環境における表示設定方法を以下に簡略に示します:

Gnomeデスクトップ

左上隅をクリックしてタスクバーを表示 >> すべてのアプリケーションを一覧表示 >> 設定をクリック

🔵サイドバーの[Display]をクリック>>[Orientation]メニューをクリック>>表示方向を選択>>[Apply]をクリック>>[Keep changes]をクリック

🔵Full HD画質で文字が小さすぎる場合>>「Scale」メニューを選択>>125%または150%を選択すると文字を拡大できます。

Plasmaデスクトップ

左下の[System Settings]アイコンをクリック >> サイドバーの[Displays & Monitor]をクリックすると、接続されたモニターに関する情報が表示されます。

🔵[Orientation]のアイコンをクリックして、希望の表示方向を選択 >> [Apply]をクリック >> [Keep]をクリック

🔵Full HD画質で文字が小さすぎる場合>>「Scale」メニューを選択>>135%または150%を選択すると文字を拡大できます。

Ubuntuデスクトップ

左下隅をクリックしてすべてのアプリを一覧表示します >> [設定]をクリックします

🔵サイドバーの[Display]をクリック>>[Orientation]メニューをクリック>>表示方向を選択>>[Apply]をクリック>>[Keep changes]をクリック

🔵Full HD画質で文字が小さすぎる場合>>「Scale」メニューを選択>>125%または150%を選択すると文字を拡大できます。

注記:2025年(Debian 13)以降、上記デスクトップ環境で表示方向を縦向きに設定すると、タッチ位置が自動的に縦向きモードに回転されます。カスタムのタッチ回転行列は不要です!

2. Linuxシステム -縦向表示時のタッチ設定

Linux デスクトップ環境の古いバージョンを使用しており、表示方向を設定してもタッチ位置が回転しない場合は、手動でタッチ変換マトリックスを 40-libinput の設定ファイルに追加してください。

① 40-libinput設定ファイルを探す

Terminalで cd /usr/share/X11/xorg.conf.d と入力し、xorg.conf.dフォルダに入る。
ls コマンドを入力して、このフォルダの中にあるすべてのファイルを表示し、40-libinput.conf という名前のファイルがあることを確認します。

‘Transformation Matrix’ を追加する

以下のコマンドを入力し、40-libinput.confファイルを開いて編集する。

sudo nano 40-libinput.conf

touchscreen のセクションを見つけ、新しい行を追加します。
Option “TransformationMatrix” “0 -1 1 1 0 0 0 0 1”
Ctrl+X”➜”y “を押してファイルを保存する。

再起動と完了!タッチスクリーンに指を置いてテストし、応答位置が正しいことを確認します。

sudo rebootを入力してコンピューターを再起動すると、起動後にセットアップが完了します。

Gechic T1タッチモニターのTransformationMatrix値:
0° = Option “TransformationMatrix” “1 0 0 0 1 0 0 0 1”
90° = Option “TransformationMatrix” “0 -1 1 1 0 0 0 0 1”
180° = Option “TransformationMatrix” “-1 0 1 0 -1 1 0 0 1”
270° = Option “TransformationMatrix” “0 1 0 -1 0 1 0 0 1”
タッチスクリーンの開始位置はブランドによって異なる場合があり、90°と270°のマトリックス値が逆になっている場合があります。ご確認ください。

例えば、Ubuntuのデスクトップでディスプレイの向きを【Portrait Right】に設定した場合、270°回転の値が適用されます。

3.Linux – 拡張表示用タッチ設定

接続されたタッチモニターを拡張デュアルスクリーンディスプレイとして設定した場合(メインスクリーンは通常のモニター、タッチモニターは拡張デスクトップとして設定された外部セカンドスクリーン)、ユーザーはデュアルディスプレイの表示は正常であるものの、タッチスクリーンのタッチ反応位置が正しくないことに気付くかもしれません。その場合は、タッチ入力のマッピング位置を再設定する必要があります。

Plasma デスクトップやRaspberry Pi OSデスクトップなど、一部のデスクトップ環境では、システム設定にタッチ設定が用意されています。ユーザーはグラフィカルインターフェースを使用して素早くタッチ設定を行うことができます:

Plasma デスクトップ

① 左下隅の [System Settings] アイコンをクリック ➝ [Touchscreen] をクリックします。システムがタッチ入力デバイス [ILITEK ILITEK-TP ] を認識していることを確認し ➝ [Enabled] にチェックを入れる ➝ [Target display] メニューで、タッチモニター モデル (この例では T111B タッチモニター) を選択します。

② [Apply]をクリックします。
適用が完了したら、タッチスクリーンを指でタップし、正しい位置で反応することを確認してください。

Raspberry Pi OS デスクトップ

①左上のRaspberry Piアイコンをクリック➝「Preferences」をクリック➝「Control Centre」をクリック

② 「Screens」を選択➝タッチスクリーン(本例ではHDMI-A-2)を選択➝「Touchscreen」を選択➝「ILITEK ILITEK-TP」を選択(Gechicのすべてのタッチモニターは「ILITEK ILITEK-TP 」と表示されます)➝「Apply」を選択
設定を適用した後、指でタッチスクリーンをタップし、タッチの反応位置が正しいことを確認します。

③ 注意:タッチパネル非対応の HDMI-A-1 の設定メニューにも「Touchscreen」および「ILITEK ILITEK-TP」が表示されますが、これらはチェックしないでください。チェックすると、タッチ入力がHDMI-A-2からHDMI-A-1に変更され、実際のタッチスクリーンが反応しなくなります。

GnomeやUbuntuなど、タッチ入力設定インターフェースが用意されていないデスクトップ環境では、Waylandを無効にしてX11環境に切り替え、「xinput map-to-output」 コマンドを使用してタッチ入力デバイスのマッピング位置を手動で設定する必要があります。詳細な設定手順は以下のとおりです。

Gnome デスクトップ

① waylandを無効にする

Terminalで以下のコマンドを入力し、daemon.conf ファイルを開く。【注意: これはDebian12の設定ファイルです。Debian11の設定ファイルはcustom.confです。】

sudo nano /etc/gdm3/daemon.conf

#waylandenable=falseの行を探す。マーク#を削除し、ファイルを保存して再起動する。

② xinput listを実行する

xinput list コマンドを入力し、接続されているすべてのデバイスをリストアップし、タッチモニターのデバイスIDを検索する。(Gechic タッチモニタのデバイス名は ILITEK-TP と表示されます)。この例では外部接続されているタッチモニターは 22 です。

③ xrandrを実行する

xrandrコマンドを入力すると、接続されているすべてのディスプレイが一覧表示してタッチモニターの名前を探します。( この例では、接続されている拡張タッチモニターは “HDMI-1 “と名付けられ、解像度は 1920×1080+1366+0 と認識される )

④ xinput map-to-outputを実行する

以下のコマンドを入力し、ディスプレイ HDMI-1 にマッピングする xinput デバイス ID 22 を指定します。

xinput map-to-output 22 “HDMI-1”

完了! 指でタッチ スクリーンをテストします。

Ubuntu デスクトップ

① waylandを無効にする

Terminalで以下のコマンドを入力し、custom.confファイルを開きます。waylandenable=enableの行を探し、先頭に#を追加する。ファイルを保存して再起動する。

sudo nano /etc/gdm3/custom.conf

xinput listを実行する

Terminalでxinput list コマンドを入力し、接続されているすべてのデバイスをリストアップし、タッチモニターのデバイスIDを検索する。(Gechic タッチモニタのデバイス名は ILITEK-TP と表示されます)。この例では外部接続されているタッチモニターは 11 です。

③ xrandrを実行する

xrandrコマンドを入力すると、接続されているすべてのディスプレイが一覧表示されるので、タッチモニターの名前を探します。( この例では、接続されている拡張タッチモニターは “HDMI-1″と名付けられ、解像度は 1920*1080+0+0 と認識される )

④ xinput map-to-outputを実行する

以下のコマンドを入力し、ディスプレイ HDMI-1 にマッピングする xinput デバイス ID 11 を指定します。

xinput map-to-output 11 “HDMI-1”

完了! 指でタッチ スクリーンをテストします。

map-to-output コマンドの自動実行設定

再起動または外部モニターのUSBケーブルを再接続すると、このマッピングは無効になるため、再度 map-to-output コマンドを入力する必要があります。利便性のために、デスクトップ起動時に自動的に map-to-output コマンドが実行されるよう設定することをお勧めします。

① 外部タッチモニターの名前を確認する

タッチモニターのシステムIDが11であることは知られていますが、再起動やUSBポートの交換によってこのIDが変更される可能性があります。したがって、自動実行ファイルを設定する際は、デバイスIDではなくデバイス名を使用することをお勧めします。
Terminal で以下のコマンドを入力し、外部タッチモニターのすべての属性を表示し、デバイスの名前が “ILITEK       ILITEK-TP   “であることを確認する(スペースを含む、シングルクォーテーションの間のすべてのデータ)。

指令ファイルを新規作成する

Terminalに以下のコマンドを入力し、.configディレクトリにtouchscreen.shというファイル名で新しいファイルを作成します。

sudo nano ~/.config/touchscreen.sh

ファイル内に以下のコマンドを入力し、完了後にCtrl+Xを押して保存して終了します。
#! /bin/bash
xinput map-to-output “ILITEK ILITEK-TP “ HDMI-1

以下のコマンドを入力し、touchscreen.shの実行権限を付与します。
sudo chmod+x ~/.config/touchscreen.sh

自動実行ファイルを新規作成する

以下のコマンドを入力し、ホームディレクトリ内の .config/autostart の下にtouch.desktopという新しいファイルを作成します(autostartフォルダが存在しない場合は、自分で作成してください)。
sudo nano ~/.config/autostart/touch.desktop
ファイルに以下のスクリプトを入力し、保存して終了します。(注:自動実行ファイルの場所は、実際のファイルの場所にしてください。)
[Desktop Entry]
Type=Application
Name=touch
Exec=/home/gechic/.config/touchscreen.sh

再起動

再起動後、外部タッチモニターをテストし、正しい位置でタッチ反応が表示されるはずです。

4. Linux – 2台のタッチモニターの設定

「3. Linux-拡張表示用タッチ設定」の続きとして、Linuxシステムで2台のタッチモニターを接続し、拡張表示として設定する場合のタッチ設定手順については、こちらの記事をご参照ください。

Linuxにおける2台のタッチモニターの設定