バーチャロンのスティックで文字入力する。2008/8/28StickKeyとは2本のスティックでPCに文字を入力する装置です。キーボードの代わりとして使用できます。外観図を下記に示します。バーチャロンのツインスティックの改造品です。いうか、見た目はオリジナルそのままです。動作説明まずは下の動画をご覧下さい。左側のスティックと右側スティックの倒した方向の組み合わせで文字を決定し、右トリガーボタンを押す事により文字を入力します。動画より、Shiftで小文字が入力され、Ctrl+↓↑でCtrl+Aが入力されている事が分かると思います。スティックの組み合わせは下記表のとおりです。ハードウェアトリガがかかったときのスティックの状態をマイコンで取得してパソコンに送ります。変換モジュールが載っているのみです。マイコン側プログラムマイコンはキーの入力から文字を送るまでを担当します。状態を取得して送るべき文字を選んでいます。下記にソースを示します。CCS-Cコンパイラ用です。2008年8月28日バーチャロンのスティックの状態に応じて文字を出力する。//分りづらいから全部プルダウンで。//上から時計回りに「1,4,3,5,2,8,6,7」となります。putc(X);//文字の出力。}}まず、スティックの倒れている状態を確認します。上下/左右は同時に倒れる事がないので、スティックの重み付けは時計回りには1,3,2,6ととします。いう配列を使って上から順番に1〜8と並び替えます。読み込んだ値からアスキーコード表により文字が決定されます。「Shift」はスティックの状態を0x20だけ(コード表で言うと右に2つ)シフトしています。左に4つシフトしています。(0xC0は右に12だけど一周回って左に4つ)制御文字になっていますが、キーイベント変換時にWindows側でCtrl+に変換してくれました。Ctrl+Shiftは左に4つ+右に2つで左に2つシフトですが、面白くないので0x80(右に8つ)シフトしてカタカナを入力させるようにしました。言うわけで、「!」のShiftは「A」になってしまいますが(゚ε゚)キニシナイ!!Windows側プログラムシリアルポートに入力された文字をキーイベントに変換するプログラムです。キーイベントを発生させているだけです。SubVB2008で作りました。スクリーンショットを下記に示します。Visibleボタンはタスクトレイ収納です。その他トラップさんのser_code_ksimを使えばZaurusでも使えたような。出展した際にはなかなか好評でした。