工作の記録を残していきます。Makeはじめに電気CADの多くは機能が盛りだくさんで、主要な機能こそボタンとして並んでいるものの、ちょっとでも込み入った操作になると途端にメニュー階層の奥深くを彷徨う事になります。これでは仕事になりません。いままでは外付けテンキー+キーカスタマイズソフトを使っていましたが、ソフトがOSの更新に追従しなくなり、使えなくなってしまいました。そこで、この際自分好みのカスタムキーを作ろうと思いUSB-HIDキーボードを作り始めたのでその記録です。部品調達aitendo店頭で購入しました。amazonでも扱いがあるようです。石はSTM32F103C8です。72MHzで回るCortex-M3がボードになってUSD2前後から手に入ります。配置とペリフェラル、クロックなどの設定をすると各種開発環境用のプロジェクトファイルを吐き出してくれる便利なツールです。”TrueSTUDIO”を選びました。すれば、指定した環境用のプロジェクトが出来上がります。デバッガとの連携も出来ます。使う時に更新をチェックして常に最新に保った方が良さそうです。今回もCubeMXから出てきたprojectがHALライブラリのリンクに失敗する問題でビルド出来ませんでしたが、最新版に更新することで回避出来ました。設定CubeMXでプロジェクトを作ります。デバイスはSTM32F103C8を指定します。外付けクリスタル用にRCCのHSE/LSEを設定します。(HID)”を選びます。Prescalerを/1.5にするだけでした。今はひとまずこのくらいです。前フリが長くなりましたがやっとコード書きです。ググって記事を探します。ここのこれとかをパク参考に、いい感じに書きます。文字を出したかったのでベタ書きですが、ShiftやAltなど付加キーと、押下するキーコード、ディレイタイムを考慮出来るようにしてみています。みたいなの考慮出来てなかったな、何か方法考えなくちゃ。いうことで、1秒おきにエディタに”Hoge”と書かれました。PCに接続されるキーボードが1つならこれで問題ないんですが、予めCapsLockがされていたり、Shiftを別のキーボードで押されていたりすると、小文字が出ません。対応面倒くさそうなので後回し。あと、キーバインド固定の1打鍵1キャラしか出てこないキーボードを作るなら買ってきますよね。指定のキーにキー、待ち時間、同時押し、諸々を考慮したシーケンスの登録が必要になります。それってキーボード相手にどうデータを送るんじゃ。NumLockやCapsLock、ScrollLockのLED用情報を使ってデータ転送する方法があるようです。