ボタンで考えないといけないこと
アコーディオンのボタンはキーボードハック*1すればいいと思うんだけど、気になったのがボタンの同時押し。考えてみれば、そういうことを処理するプログラムを書いたことがない。
ちょっと調べてみるとハードウェアとかUSBのレベルではロールオーバーあるいはNキーロールオーバーというような呼称があるらしい。USBはデフォルトでは6キーの同時押しまでしか対応できないので、ゲーミングキーボードはそれ以上のキー同時押しに対応できるよういろいろ工夫してあるとかなんとか。まあ今回は6キーの同時押しができれば十分だと思うので、特に気にせず進めることにする*2。
次にプログラムのレベルでは以前のエントリで試しに書いたコードは一つのキーしか受け付けないので同時押しができない。できればLinuxでX Windowを使わないでできればいいんだけど、ずいぶん低レイヤの記述は見つけたが、この辺に取り組むのはもっと後かな。
PythonのライブラリだとpyhookはWindows用、pykeyloggerは若干用途が違う上にやっぱりX Window必要、あとはこちらもX Windowが必要なpygameかpygletかというところ。
さらに調べていくと、Minimixというツールがpygameを使って同時押しを実現している。(動画を載せてるブログ) これがとても参考になりそうなのでフォークして流用させてもらおうと思う。
このまま行くと、画面もないのにX Windowが内部で動いてる、とても馬鹿らしい実装のアコーディオンになるが、とりあえず動かしてから改めて考えてみたい。
今日は、「図解つくる電子回路」を傍らに置いて、ハンダ付けの練習もしていた。片面基板はハンダ付けの時間が短い上にランドが外れやすくて初心者には練習が難しい、と書いてあった通りで、確かにあっという間にハンダが溶けて流れて手こずった。あとハンダごてが汚れると、とたんに付きが悪くなったんだが、スポンジでこすっても今ひとつ汚れが落ちず、清掃の仕方もまだまだわかってない。
経験は今ひとつだけど、次はADコンバータのハンダ付けをしてみよう。
図解 つくる電子回路―正しい工具の使い方、うまく作るコツ (ブルーバックス)
- 作者: 加藤ただし
- 出版社/メーカー: 講談社
- 発売日: 2007/05/18
- メディア: 新書
- 購入: 21人 クリック: 67回
- この商品を含むブログ (19件) を見る
Raspberry Piとは関係ないが、Arduinoでミュージカルキーボードを作る簡単な紹介動画もあった。
Raspberry Piについては、Japanese Raspberry PI Users Groupに参加したらいろいろ情報が流れてくる*3。あとはユーザーグループのサイトとか本家のフォーラムなどで情報収集してる。