LoginSignup
1
1

More than 5 years have passed since last update.

Android (x86-jb) でのタッチスクリーンキャリブレーション

Last updated at Posted at 2013-05-31

http://www.monaka.org/blog/2013/06/01/calibrate-touchscreen-android-jb/ からの転載です.

Android でのタッチスクリーンのキャリブレーション法について.情報が溢れていそうで,案外無い,
あっても,古くて使えない.
ので,記録しておきます.

(少なくとも Android-x86 での)タッチスクリーンサポートは,tslib を用いています.
tslib には,ts_calibrate というコマンドがついています.
ts_calibrate は,LinuxのフレームバッファとタッチパネルデバイスをLinuxのinputデバイスとを直接アクセスします.
Android は,当然ながら,画面を押さえていますので,衝突します.
そこで,下記のような手順で実行を行います.

以下,Android-x86.org が提供している x86-jb での手順です.

たぶん ICS 以降の Android の多くで使えるはずですが,中には,tslib を使っていないディストロもあります.(例えば AndroVM)
あと,rootが必要です.
スマホやパネルコンピュータなど,きちんと製品に作りこまれた状態でも,この方法は使えないかもしれません.
(その場合,キャリブレーションツールが必要なら,きちんとしたのがついてくるだろうと思います.)

  1. 普通にAndroidを起動します.
  2. adb shell など用いて,コマンドラインアクセス可能にします.
  3. stop zygote stop bootanim stop surfaceflinger として,zygote サービスを停止します.
  4. 多くの場合,キャリブレーションデータを保存するディレクトリが存在しません.mkdir /data/system/tslibを実行して作ります.
  5. ts_calibrate を実行します.
  6. 言われるままにタッチします.
  7. 念のため,ls /data/system/tslib/pointercal などしてキャリブレーションデータが作成されていることを確認します.
  8. 止めた順番と逆順で,start surfaceflinger start bootanim start zygote として,zygote サービスを再開します.

補足

仮想コンソールがサポートされている場合,上記2の手順で,Alt+F1 などで移動し,作業することもできます.
その場合,ts_calibrate を実行する際に必要なのは zygote サービスの停止だけです.

1
1
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1