弱点はなくなった。AnnePro2をQMKでカスタマイズ
AnnePro2
、良いんだけどもうちょっとなんとかしたい。
ObinsKitによるカスタマイズではどうしても限界が・・・
どうせファームウェアはQMK互換じゃないの?と思って調べてみたら、いましたよQMKで上書きしている人が。
しかも本当は互換じゃないらしい。すげぇな。
Open Anne Pro
というプロジェクトです。
https://openannepro.github.io/
そして、非公式です。
みんな大好き自己責任。
AnnePro2-Tools のダウンロード
ファームウェアを書き込むためのツールです。
Mac, Linuxな人はリポジトリをクローンしてくると良いみたいです。
https://github.com/OpenAnnePro/AnnePro2-Tools
Windowsはビルド環境が面倒なので、exeファイルをサクッとダウンロードしちゃいましょう。
https://ci.codetector.org/job/OpenAnnePro/job/AnnePro2-Tools/job/master/
QMKファームウェアのダウンロード
いじったファームウェア自分でビルドする必要があるので、WSL
でソース編集・ビルドしました。
git clone https://github.com/OpenAnnePro/qmk_firmware.git annepro-qmk --recursive --depth 1
搭載しているコントローラの種類によって、C15
系とC18
系があるようです。
キーボードをひっくり返すと中央に円形のロゴがあり、C15バージョンは「obinslab」が円に刻まれているようですが、C18には「AnnePro」となっているそうです。
うちのは「AnnePro」ロゴだったのでC18
だと思います。
コンパイラのインストール
sudo apt update
sudo apt install gcc-arm-none-eabi -y
試しにビルド
編集に入る前に、まずはビルドが通るか試してみましょう。
# For C15 Revision
make annepro2/c15:default
# For C18 Revision
make annepro2/c18:default
先程インストールしたコンパイラだけでは足りないかもしれないので、適宜エラーメッセージを見ながら追加していきます。
default
はプロファイル名です。プロファイルを指定しない場合、このキーボードのすべてのプロファイルがビルドされるので多少時間がかかります。
ビルドが成功すると.build
ディレクトリに成果物が保存されているので確認しましょう。
ls -l .build
total 4320
-rwxr-xr-x 1 nekoha nekoha 25376 Jun 25 08:25 annepro2_c18_default.bin
-rwxr-xr-x 1 nekoha nekoha 872004 Jun 25 08:25 annepro2_c18_default.elf
-rw-r--r-- 1 nekoha nekoha 71443 Jun 25 08:25 annepro2_c18_default.hex
-rw-r--r-- 1 nekoha nekoha 517192 Jun 25 08:25 annepro2_c18_default.map
drwxr-xr-x 5 nekoha nekoha 4096 Jun 25 08:25 obj_annepro2_c18
drwxr-xr-x 7 nekoha nekoha 4096 Jun 25 08:25 obj_annepro2_c18_default
上記のように出力されていれば成功です!
マクロの編集
ビルドがオールグリーンで成功したら、いよいよカスタムファームウェアの作成です。
プロファイルをコピーしてから編集
annepro-qmk/keyboards/annepro2/keymaps/default
ディレクトリを、同じ階層にコピーします。
そして好きなプロファイル名に変更しましょう。
今回はnekoha
にしました。
編集の小ネタ
マクロはQMKのいつものいじり方ですが、マクロに割り当てる番号のSAFE_RANGE
の使い方が違いました。
// 通常のコード
enum macro_id {
MACRO1 = SAFE_RANGE,
};
// AP2対応させるためのコード
enum macro_id {
MACRO1 = AP2_SAFE_RANGE,
};
専用のAP2_SAFE_RANGE
を利用します。
コレがわからず往生していたのですが、他人のプロファイルをじっくり眺めていたら発見できました!
ビルド
今回は自分のプロファイルをターゲットにビルドします。
make annepro2/c18:nekoha
無事ビルドできたらファームウェア書き換えツールの置いてあるディレクトリにコピーしておきます。
cp ./.build/annepro2_c18_nekoha.bin ~/downloads/ap2/
ファームウェア書き換え
さて、書き換えられるかな・・・?!
AnnePro2をつなぐ
AnnePro2はPCから外します。再度USB接続するときに、ESC
キーを押しながら接続してください。
こうするとAnnePro2はキー操作を受け付けない書き換えモードになります。もう一台キーボードを用意しておきましょう。
使えなくなるのはAnnePro2のみなので、ノートPCなら本体のキーボードはそのまま使えます。
AnnePro2ツールで書き込む
先程ビルドした.bin
ファイルをツールを使って書き込みます。
.\annepro2_tools_x64.exe .\annepro2_c18_nekoha.bin
LEDを光らせるためには
適用の流れだけ説明します。編集は面倒なのでしていない。
リポジトリのコピー
ソースをcloneしておきます。
git clone https://github.com/OpenAnnePro/annepro2-shine.git --recursive
LED プロファイルのビルド
デフォルトのビルドを使っています。
make C18
ここでビルドしたannepro2-shine-C18.bin
を、annepro2_toolsを使ってLEDを有効にしたキーマップ一緒に書き込みます。
キーマップのLEDを有効にする
QMK側ソースのデフォルト設定では、LED点灯がオフになっています。
光らせる場合はソース下部でコメントアウトされている2箇所を有効にします。
// Code to run after initializing the keyboard
void keyboard_post_init_user(void) {
// Here are two common functions that you can use. For more LED functions, refer to the file "qmk_ap2_led.h"
// annepro2-shine disables LEDs by default. Uncomment this function to enable them at startup.
annepro2LedEnable(); // ← ここ
// Additionally, it also chooses the first LED profile by default. Refer to the "profiles" array in main.c in
// annepro2-shine to see the order. Replace "i" with the index of your preferred profile. (i.e the RED profile is index 0)
annepro2LedSetProfile(7); // ← ここ
}
LED モジュールプログラムの書き込み
.\annepro2_tools_x64.exe .\annepro2_c18_nekoha.bin
.\annepro2_tools_x64.exe --boot -t led .\annepro2-shine-C18.bin
ここまでうまくいけば、LEDが点灯して、そのままキーボードが使えるようになります!
成功
マクロ動かすのに難儀しましたが、無事にカスタムキーマップを書き込むことができました。
レイヤー数を増やしたり、レイヤータップマクロを実現できたりと、大満足です。
良かった点
- Layer5枚もOK! これでWindowsでもMacでも使える(ALT-GUIスワップ)
- SPACEキーに割り当てるレイヤータップ動作が安定
- レイヤータップ動作にマクロを割り当てられた
悪かった点
- Bluetoothがうまく認識できない
- ホントは使えるはずなので何か間違えてる
総じて、良かった
苦労して対応したかいがありました。
正直なところ、HHKBの方がカスタマイズもしやすく親指でより多くのキーを押せるので便利なのですが。
最近、HHKBのゴムが劣化したせいか?以前よりタッチが重くなってきていたので、赤軸の軽さがとても快適です!!
さて、Bluetooth対応がんばるかー