■
Androidでタッチパネルを使用するためのメモです。
http://www.aitendo.co.jp/:titleaitendo's電子工房さんのタッチスクリーンを使用しました。
使用するためにはカーネルコンフィグを変更するだけでOKです。
以下のカーネルコンフィグを有効にしてください。
Location:
- > Device Drivers
-> Input device support
-> Generic input layer (needed for keyboard, mouse, ...)
-> Touchscreens
-> USB Touchscreen Driver
-> eGalax, eTurboTouch
これで起動時にUSBタッチパネルを認識して使用できるようになります。
私の環境では、X軸とY軸が入れ替わっていました。
なので、U-Bootのカーネル起動パラメータに以下を追加しました。
optargs=init=/init nohz=off androidboot.console=ttyS2 swap_xy=1
saveenv
キャリブレーションは動的に設定できないようです。
ioctlでX軸・Y軸の最大値・最小値を取得しています。
なので、実際の値を取得してドライバを変更する必要があります。
drivers/input/touchscreen/usbtouchscreen.c
#ifdef CONFIG_TOUCHSCREEN_USB_EGALAX [DEVTYPE_EGALAX] = { .min_xc = 0, .max_xc = 1900, .min_yc = 0, .max_yc = 1900, .rept_size = 16, .process_pkt = usbtouch_process_multi, .get_pkt_len = egalax_get_pkt_len, .read_data = egalax_read_data, }, #endif
結構調整が必要ですね(>_<)