作業日記@HatenaBlog

各種の作業メモ

タッチパネル付きPCにxubuntuをインストール

マシン

富士通フロンテック製「infotouch 850」
FKW-852A 22R
Web DISPLAY Terminal 850 Series
PDFカタログ
キオスク端末などとも呼ばれる。
中古 PC ショップで入手した。HDD 中身なし。取説なし。

インストール

xubuntu を CD 起動でインストール。特に問題なし。

タッチパネル認識

  1. 本体を開けるとタッチパネルには MICROTOUCH R2 との記載あり。
  2. BIOS 設定を見ると COM1,COM2,COM3 の3種類。このうち COM3 がタッチパネルに該当。
  3. COM3 のデバイスは /dev/ttyS2 なので、これをターゲットに色々設定する。
  4. Synapticパッケージマネージャ起動
    1. microtouch で検索
    2. xserver-xorg-input-microtouch, xserver-xorg-input-mutouch の2つをインストール
  5. ここを参考に xorg.conf を設定する。

/etc/X11/xorg.conf に以下の行を追加。

Section "InputDevice"
    Identifier "TouchScreen"
    Driver "mutouch"
    Option "Type" "finger"
    Option "Device" "/dev/ttyS0"
    Option "ScreenNo" "0"
    Option "MinX" "0"
    Option "MaxX" "16383"
    Option "MinY" "0"
    Option "MaxY" "16383"
    Option "SendCoreEvents" "yes"
EndSection

さらに ServerLayout セクションの最後尾に InputDevice "TouchScreen" を追加。

Section "ServerLayout"
    Identifier "Default Layout"
    Screen "Default Screen"
    InputDevice "Generic Keyboard"
    ...
    InputDevice "TouchScreen"
EndSection
  1. 再起動する。
  2. タッチスクリーンが認識するはず。ただしキャリブレーションしていないので座標は合っていない。
  3. キャリブレーション
    1. ここからキャリブレーションツール touchcal をダウンロードする。
    2. 圧縮ファイルを解凍
    3. root で ./configure と make を実行する。
    4. バイナリ touchcal が生成される。
    5. Ctrl + Alt + F1 で X ウィンドウを強制終了する。
    6. 一般ユーザでログインし sudo killall gdm で X 関係のプロセスを完全に終わらせる。
    7. make で生成されたバイナリ touchcal のあるディレクトリへ移動。
    8. 次のコマンドを実行
# touchcal m /dev/ttyS2
    1. 画面上に + マークが表れるので、左上、左下、右上の順に3箇所をタッチパネルでタッチする。
    2. 最後に MinX,MaxX,MinY,MaxY の4つの数値が表示されるので先ほどの xorg.conf に記述する。
    3. 再起動する。
    4. タッチパネルの座標がキャリブレーションされる。(はず)
    5. 位置がうまく修正されないときは、sudo killall gdm からやり直す。

ちなみに自分の設定値。PC の個体差があると思われるので下記の数値がどの機体でも当てはまるとは限らない。

        Option          "MinX"  "15714"
        Option          "MaxX"  "1954"
        Option          "MinY"  "15273"
        Option          "MaxY"  "2121"

参考URL

Xの設定詳細