まとめ関連記事この記事は長くなりそうなので、シリーズ化になります。(当記事)はじめにHelixの製作記事もここからが本題です。HelixにMIDI機能を追加してMidiコントローラー化させます。未完成)なので利用は自己責任でお願いします。やることまとめ」を読めばOKです。Midiに関して色々とアドバイスしていただきましたhsgw様(twitter)に感謝いたします。未完成)で処理内容はquantum/process_keycode/process_midi.cを確認してとのこと。ついでに実装はMakefileから。MIDI機能の有効化ということで、まずrule.mkからMIDI機能を有効にします。Helixの場合rules.mkは色々なフォルダ階層にありますが、基本的にHelixは階層が深い所の記述が優位なので、「qmk_firmware-master/keyboard/helix/rev2/keymaps/default2/rules.mk」を編集します。yesにすると自動的にMIDI機能に必要な追加ファイルをコンパイルするようになります。次にquantum/process_keycode/process_midi.cの内部を確認します。実際にこのファイルを編集することはありませんが、このファイルからわかることは「MIDI専用のKeycodeがある」ということと、「Keycodeを適切に処理させるための定義を追記する必要がある」ということの2点です。//250行目MIDI_ADVANCEDという名前で定義がされている場合は42行目から250行目のコードが有効になるので、MIDI_ADVANCEDを定義してやる必要があるというわけですね。{...81行目からのprocess_midi()という関数がmidiの処理になりますが、ここで「keycode」という引数をとっており、midi専用のKeycodeがあることが示唆されています。定義の追加というわけでまずconfig.hにMIDI機能を定義します。例によって深い階層にあるconfig.hに入れてやればいいので、とりあえず「qmk_firmware-master/keyboard/helix/rev2/keymaps/default2/config.h」を開きます。config.hならどこでもいいんですが...わかりやすいようにということで。config.hの最下段に以下のコードを追加します。defineのことで「もし定義されてなかったら間の処理をする」です。MIDI_ADVANCEDはMIDI_ADVANCEDを定義するということです。HelixはもともとMIDI_ADVANCEDを定義していないので、#ifndefは書かなくてもいいのですが、一応二重定義を避けるために#ifndefで囲んでおきます。これでquantum/process_keycode/process_midi.cのMIDI_ADVANCEDの項目が有効になりました。Keycodeの確認MIDI_ADVANCEDに関するkeycodeはQMKのDocumentには記載されていません。代わりにqmk-firmware-master/quantum/quantum-keycodes.hの167行目以降に書いてあります。MIDI機能を使うためのkeycodeは「MI_」をプレフィクスにもつキーコードを使えば良いというわけですね。MIDIのノートON/OFFをしたい場合は「MI_C」や「MI_Gb_3」などのkeycode。オクターブシフトは「MI_OCTD」「MI_OCTU」などです。これらのkeycodeをキーボードカスタマイズの手順をふって書いていけばいいということですね。Keymapの編集とAVR書き込みというわけでこんな感じでMIDIのキーボードを作りました。Microに送れば完成です。Beta」という名前でMIDIデバイスとして認識されているはずですので、MIDIデバイスとして使いたいソフト上で認識させます。キーボードを押してMIDI入力が適切に行われていれば完成です。controlsに書き換える。MIDI_ADVANCED#endifを最下段に追加する。keymap.cにて、MI_CのようなMI_からはじまるキーコードでキーボードをカスタマイズする。いう操作をすれば、MIDIキーボード化できるというわけですね。進んで...MIDI_ADVANCEDの機能はQMKのMIDI機能の処理を簡潔にするためにまとめたもので、コーディングによってさらに細かいMIDI機能が使えるようになります。Velocityと連携)させたりといったことができるというわけですね。今回はMIDI_ADVANCEDによるMIDIの送信にとどめておきますが、QMKのことをもう少し調べてできるようになったらまた記事にしてまとめたいと思います。まとめというわけで5回の記事に渡ってHelix自作キーボードを作ってきました。はんだづけが久しぶりだったりして大変でしたが(失敗してゴミになるようなことはなくて)楽しかったです。QMK自体はもう少しいろんなことができそうなので調べながらカスタマイズして遊んでみようと思います。コメントをキャンセルメールアドレスが公開されることはありません。*サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。WordPress.。