Gemini PDA用User-installable keymapsのまとめ
話せば長いんですが、先日来何度も言ってますように、物理キーボードが便利でなんとなくボタンが多い機械が好きな性癖のある諸兄に人気のある Android 端末であるところの Gemini PDA は、グレートブリテン及び北アイルランド連合王国にある Planet Computers という会社の製品なので、キートップの印字が日本語キーボードだろうが、US キーボードだろうが、出荷時には UK キーボードとして設定されており、セットアップ後にユーザーが物理キーボードの設定で然るべきものを選択しなければ実際の入力とキートップが一致しない困ったちゃんなのであります。
さらに、然るべき設定をしても物理的にキーが一般的な109キーボードの半分以下の53個しかないため、Shift Ctrl Alt Fn と組み合わせないと入力できない記号などが存在し、「長音記号が単独で存在しない」「、と。は並んどけよ」「ShiftとCtrlは逆だろ(宗教)」等々ユーザーには不満が色々あったようです。
その筋の方々は rooted な boot.img で Generic.kl を書き換えて自分の好きなキー配置に変更したりしてたようなんですが、なんせ今どきわざわざ rooted とか面倒臭いし、FOTA できなくなるしなんかねえかなぁってところで 2018/6/2 に rooted 不要な手法を公開された方がおりました。
当時まだ出荷待ちだったので、「なるほど、その昔にそんなことがあったなぁ」ぐらいな感じでしたが、実際に届いてから使ってみると、キーボードだけで通知を出せないとか細かい不満が出てきたので自分でも色々調べてみました。
ここまで前振り。
内閣府「国民の祝日について」について
毎年2月のお楽しみ。来年の「国民の祝日について」が内閣府からリリースされました。
2019年はタイミング的に「天皇誕生日」が無いというレア年になりました。
なお、土曜日で潰れる祝日は、5月4日と11月23日の2日となります。2018年が3日で2017年が4日だったので、ガッカリ感は少ないんですが9月の連休が土日月の3連休が2回で大型感は無いですね。
みんなだいすき CSV の話題
自動生成したPDFで入稿したカードが来たよ
前回の記事はこちら
きたよ。
当然だけど普通に CMYK で印刷されています。
印刷物をスキャンしたものと入稿に使った PDF を並べた感じ。
元々がつぶつぶ感のある加工してあるからわかりにくいね!
黒い部分はちゃんと指定した通りのリッチブラック(C60 M60 Y60 K100)で出てる感じで。
サイズ指定も小数点入れた分が反映してるようです。
お手軽に作った PDF でもちゃんと印刷されてくると楽しいものです。
現場からは以上です。
最近のscreencapが遅い原因を調べたよ
結論から言うとこれ
f8820f3f5308cc45ec6da204c3b54352da2349a8 – platform-frameworks-base – Git at Google
screencap するたびに Intent 飛ばしてメディアスキャンを促してるから連続で screencap すると毎回メディアスキャンするから遅い。
Android は新規で画像追加した時にはメディアスキャンしないとギャラリーに画像を表示できない仕様が昔からあって、確かに screencap で保存した画像が端末の再起動とか手動でメディアスキャンしないと表示されなかったような気がしたんだけど、基本的に adb shell で使う screencap で画像保存を端末で見る需要ってそんなあるか?あぁん?って印象が強い。
消しちまえ!
notifyMediaScanner(fn)
ってことで昨日 Android ビルドしてました。
repo sync して上記該当箇所を書き換えて arm64-eng で普通に make した結果です。
54.3GB
でかい。
現場からは以上です。
Androidのgeteventとsendeventを簡単に使おう
adb shell で繋いで input tap とか糞遅いんで、もっと速い手段を使おう!
Nexus 5 の場合は /dev/input/event1 がタッチパネルなので
adb shell で繋いで
getevent /dev/input/event1 > /sdcard/event.txt
ってやって、タッチパネルぐりぐりして気が済んだら Ctrl+C で終了させる
そんでまた adb shell 繋いでたったの1行
cat /sdcard/event.txt|while read a;do set $a;sendevent /dev/input/event1 $((0x$1)) $((0x$2)) $((0x$3));done
ってやるとさっきやったぐりぐりが再現されます。
ね。簡単でしょ?
数値が getevent では16進数だけど sendevent は10進数なんですが、0x でどうにかしてるのが見どころですね。
これをうまく使えば繰り返しのテストとかきっと捗ると思いますよ!
でも実際の動作より遅いのでなんとかできんもんじゃろかと悩んでる今日このごろです。