Raspberry Pi 3につけたLCDを回転させるのに苦労した話

Raspberry Pi 3には、LCDを付けてもGPIOが使えると評判の
「Quimat 3.5インチタッチスクリーン HDMIモニタ」使用しています。

画面を回転させる(/boot/config.txtにdisplay_rotate=1とか記載して)と、
タッチパネルのX/Yが上手く回転してくれずに、画面操作が急に
難易度が上がる問題がありました。

Webで調べると色々対処策が出てくるのですが、自分の機種にマッチせず。

調べに調べまくった結果、99-callibration.conf に TransformationMatrix の
オプションを設定する事で、ちゃんとタッチパネルごと回転出来るように
なりました。

この設定はコマンドでも確認が出来るので、同じ問題に苦しんでいる人は、
以下コマンドで直るか試して見て下さい。

$ export DISPLAY=:0.0

#90度回転している場合
$ xinput set-prop 'ADS7846 Touchscreen' 'Coordinate Transformation Matrix' 0 1 0 -1 0 1 0 0 1

#180度回転している場合
$ xinput set-prop 'ADS7846 Touchscreen' 'Coordinate Transformation Matrix' -1 0 1 0 -1 1 0 0 1

#270度回転している場合
$ xinput set-prop 'ADS7846 Touchscreen' 'Coordinate Transformation Matrix' 0 -1 1 1 0 0 0 0 1 

これで直る人は、「/etc/X11/xorg.conf.d/99-calibration.conf」に、
以下オプションとして追記すれば再起動しても、最初から動くようになります。

Option "TransformationMatrix" "0 -1 1 1 0 0 0 0 1"

ついでにLCD-showも改造してみましたので、良かったらご利用ください。
https://github.com/caplio/LCD-show

$ git clone https://github.com/caplio/LCD-show.git
$ cd LCD-show
$ chmod +x MPI3508_480_320-show
$ ./MPI3508_480_320-show
#自動的に再起動されます。ドライバーとかも勝手に入ります。

#90度回転させたい場合
$ ./MPI3508_480_320-show 90

不明点とか何かあればコメント下さい。

Raspberry piのOSイメージをLoopマウントするメモ

本当にただのメモです。

◯OFFSETを調べる
# printf 'unit B\nprint\nquit\n' | parted 2013-05-25-wheezy-raspbian.img
GNU Parted 2.3
/work2/disk2/pi/2013-05-25-wheezy-raspbian.img を使用
GNU Parted へようこそ! コマンド一覧を見るには 'help' と入力してください。
(parted) unit B
(parted) print
モデル: (file)
ディスク /work2/disk2/pi/2013-05-25-wheezy-raspbian.img: 1939865600B
セクタサイズ (論理/物理): 512B/512B
パーティションテーブル: msdos


番号 開始 終了 サイズ タイプ ファイルシステム フラグ
1 4194304B 62914559B 58720256B primary fat16 lba
2 62914560B 1939865599B 1876951040B primary ext4
(parted) quit

◯マウント
# mkdir part2
# mount -t ext4 -o loop,offset=62914560 2013-05-25-wheezy-raspbian.img ./part2

元ネタ:http://ramin-honary.blogspot.jp/2012/12/how-to-mount-partitions-in-img-file.html