Quick7のロータリーエンコーダ設定でミスってた部分とその対処法
どうも、QOL向上ブログの筈が最早ガジェットブログと化している「きのつよ」を運営しているきの(@kino_tsuyo)と申します。
非プログラマーの私は、左手キーボードQuick7のロータリーエンコーダ設定をミスりまくって「なんだこれ・・全然動かねえ・・・」と辛酸を嘗めまくりました。
そんな悲しい思いをするのは私一人で十分なので、備忘録も兼ねてここに「ミスってた部分」と「解決策」を記したいと思います。
ロータリーエンコーダの設定で苦戦している方に届け・・!
!前提!
筆者はPGスキルが0に等しいので「こうやったらうまくいったぜ!!」という部分はご紹介できるのですが「なんでなん?」という理由までは詰めきれていません。申し訳ないです。
(もし(1)と(4)の理由をご説明いただける有識者の方いらっしゃいましたら、こっそりご教授ください・・・。)
(1)キーコードの前にtap_codeを付け忘れる
筆者はスタートからつまづいています。
「物は試しだ、ロータリーエンコーダに「Aキー」「Bキー」をアサインしてみよう!」と思い下記コードを書いたらビルド時にerror。
if (index == 0) { // Left encoder
if (clockwise) {
KC_A;
} else {
KC_B;
}
}
その後色々調べてみた結果 、KC_Aの前に tap_codeを付けたらうまくいきました。
if (index == 0) { // Left encoder
if (clockwise) {
tap_code(KC_A);
} else {
tap_code(KC_B);
}
}
多分きっと、ロータリーエンコーダの設定にはtap_code の記載が必要なんだと思います。わからないけど。恐らく・・。
(2)Left encoderとRight encoderの設定を間違える
私のQuick7は右上をロータリーエンコーダにしているのですが、その場合はindex == 1のRight encoder部分をいじる必要があります。else ifの方です。
else if (index == 1) { // Right encoder
if (clockwise) {
tap_code(KC_MS_WH_LEFT);
} else {
tap_code(KC_MS_WH_RIGHT);
}
}
(書いてて悲しくなるくらい)当たり前なのですが、Left encoderの方じゃないです。
if (index == 0) { // Left encoder
if (clockwise) {
tap_code(KC_A);
} else {
tap_code(KC_B);
}
}
私はLeft encoder部分をいじり「えー!(カリカリカリカリ※)全然動かないじゃん!!(カリカリカリカリ)」という動作を数分行いました。
同じ轍を踏まないよう気をつけて下さい。
※エンコーダを回す音
(3)マウスキーを設定したのに、rules.mkのMOUSEKEY_ENABLEがNoのままである
エンコーダにマウスの機能(クリックやスクロール)を持たせたい場合は、rules.mkの設定変更が必要です。
quick7直下にあるrules.mkを開き、MOUSEKEY_ENABLEをyesに変更して下さい(下記画像赤い部分)。
作業としては No を Yesに書き換えて保存すればOK。
(4)修飾キー設定時、tap_codeのあとに「16」を付け忘れる
修飾キー、所謂ControlやShiftとを組み合わせて使うキーを設定する場合は、tap_codeのあとに「16」をつけるとうまいこといきます。
つけないとうまいこといきません。
ちなみにこちらは下記記事を参考にさせていただきました。ありがとうございます。
以上です。
もし私の記事が、貴方の悩みの解決の糸口になったのであればとっても嬉しいです。
そしてそのままの流れでブログも覗いていっていただけると尚嬉しいです。
ではまた。アディオス。
この記事が気に入ったらサポートをしてみませんか?