動機
WFH(Work From Home、在宅勤務)。e-signしてね、が頻繁に起こる。e-sign?最初は秘密鍵と公開鍵とを使った電子署名だと思い込み、公開鍵送って、と言おうとしたら、なんだ、単にpdf書類の上に書き込んで送り返してくれ、というものである。なんちゃってe-sign。それはともかく、マウスでは書きにくすぎる。もっと簡単な、ぐるぐるてんてんみたいなサインにしとけばよかった。何度も書き直しているうちに、打ち出して書いてスキャンしたほうがはやくないか、とも思ったがそれも全くの無駄だ。第一、打ち出してサインした書類はどうすればいいんだ。本物でもないし、かといって偽物でもない。捨て方にも気を遣う。そうだ、Surface Goがあるんだった。あれなら画面上でペンを使って書き込みできる。引っ張り出して久々に起動。妙に時間がかかる。起動完了と思いきや、アップデート。リスタート。え?またリスタート?いやになりますね、すぐに使えない道具。ペンを使って気分よくサインして送り返したが、毎回surface Goでやるのも面倒だ。そこで、ちょい署名用デジタイザを作ることにした。USBでつないですぐにつかえるような簡単なもの。(20年ぐらい前に買ったワコムのデジタイザを最近まで持ってたんだけど、ついこの間捨ててしまった)
材料
Adafruitから以下のものを購入。
- Resistive Touch Screen 3.7 inch, USD 5.95
- Resistive Touch Screen to USB Mouse Controller, USD 9.95
あとは、手持ちのUSB(miniBだったかな、この形)ケーブルとそのあたりにあった空き箱、controllerを固定するための両面テープなど。
Calibrationのためのソフトウエアは、AR1100 Resistive Touch Screen Controller Guideにあるリンクから、ARConfigurationUtilityをダウンロードする。これは、主にどっちが上でどっちが左といったtouch screenのorientationを設定するために必要。設定なしにも動くかもしれないが、左右や上下が反転していたりすると使い物にならない。設定はcontrollerに書き込まれるので一度行うだけでよく、設定後は別のコンピューターにつないで使うこともできる。Windows用のみが用意されている。(下にRaspberry pi(Linux)で設定する方法も紹介しています。それができればMacでも使えます)
Touch screenとcontrollerとの接続
折れないように気を付けながら、すっ、と差し込むだけです、え?どっちを上にすればいいの?となります。
screen上の対応方向はcalibrationで設定されるので、どっちでもいいです。まずは、どちらか(例えば銀色のラインが見える方)を上、あるいは下にして試してみて、カーソルの動きがどう対応するか調べてみてください。そのままでうまく使えそうならcalibrationもいらないかもしれません。
Calibration
参考ページ:Calibrating the AR1100
ARConfigurationUtilityを起動して、Manual Setupのところで
- Communication: AR1100 USB Mouse
- Sensor Type:4 Wire (touch screenから4本ラインがでてますので)
- Calibration: 4-point(で十分と思いましたので)
のように設定し、Use These Settingsをクリック。画面の左上、右上、左下、右下の順にクロスマークがでますので、touch screen上の対応する場所(それぞれのコーナーの近く)をペンなどでタッチしていきます。今回はちょいサイン用ですし、LCDモニターに重ねて使うわけでもないので(それが本来の使い方なんですけど)、位置合わせの正確性はあまり重要ではありません。重要なのは、touch screenの左上、右上、左下、右下がどこなのかを伝えることです。これでtouch screen上の上下左右がコンピューター画面のものと一致します。
しかし、なんとなくやってみた一回目にはうまくいったのですが、あれこれやっているうちにこのソフトがエラーを出すようになってしまい、どうにもならなくなってしまいました。
Properly attachdっていわれてもねえ。Touch screenからの入力はカーソルの動きに反映されますし、どうしましょう。最終的にscreenの配置を上下ひっくり返すことにしたので、どうしても設定しなおしたいのにできない。少し調べてみると、同じように困っている人がいて、Raspberry pi上で設定したらうまくいったよ、とのことだったので、そうすることにしました。
Raspberry pi上でのcalibration
tom-2015さんのrpi-AR1100を使います。Raspberry piはデスクトップ表示できる状態のものを使います。ReadMe.mdに説明はありますが、準備コマンドは以下の通り。
# install requirements
sudo apt update
sudo apt install git make g++ libusb-1.0-0-dev libgtk2.0-dev
# clone the repo
git clone https://github.com/tom-2015/rpi-AR1100.git
cd ./rpi-AR1100
# compile
make
# make AR1100 executable
sudo chmod +x AR1100
これでAR1100コマンドが使えるようになりました。(頻繁に使うものではないのでパスは通さなくてもいいと思います)
# calibrationは-cのあとに4, 9, 25のいずれかを書いてpoint数を指定します
./AR1100 -c 4
# modeは -mがmouse、-dがdigitizer、-hがHIDです。-mでも-dでも挙動の違いがわかりませんでした。ワコムなどでマウスモードというと、同じ位置で左から右に何度かスワイプした場合、カーソルがずーっと右へ動いていくのですが、ここではそうなりませんでした。
# マウスモード、4点calibrationするなら
./AR1100 -c 4 -m
# helpを見るには、
./AR1100 -?
コマンドを実行すると、全画面表示に切り替わって左上から順にクロスが表示されます。touch screen上の対応する場所を順にタップしていきます。コマンドライン上にはタップされた場所のcoordinateが表示されていきます。
使ってみる
まずは、OneNoteの上で、どんな感じで書けるのか試す。
書きたい部分を画面の真ん中に持ってきて書く、パソコン画面とtouch screenとの縦横比が違うので、少し縦長、細身の字を書く、などの工夫をすると、まあまあの字になる。正方形を書いてみたが、横長長方形になってますね。
コツはいりますが、ひとまず目的は達成できそう。サインしてみる。
書けた!これなら普段のちょいe-signには十分。
自分だけ用なので、手元にあった適当な大きさの箱の上にscreenを張り付け、controllerは箱の中に両面テープで固定した。