Keyball44 のキーマップはRemapで書き換えできるので簡単だけど、 keyballの自動マウスレイヤーを追加するなどよりカスタマイズしたい場合はqmkを自前でビルドする必要がある。

M1 MacでQMK Firmwareのビルド環境を構築する

M1 MacにQMK Firmwareのビルド環境を構築してみた - NinthSky Studio

基本的にこちらの通りだが、自分用の手順を残しておく。

  • Rossetaを使用してTerminal.appを開く
  • x86_64用の Homebrew をインストール
  • QMKと、ビルド時に必要なパッケージを追加
brew install qmk/qmk/qmk
brew tap osx-cross/avr
brew install avr-gcc arm-none-eabi-gcc
ln -s <keyballのディレクト>/qmk_firmware/keyboards/keyball <qmk_firmwareのディレクト>/keyboards/
  • 以下のコマンドでビルド
# qmk_firmware/keyboards/<キーボード名>/keymaps/<キーマップ名> というディレクトリ構成で、
# make <キーボード名>:<キーマップ名> でビルドできる
$ make keyball/keyball44:default
QMK Firmware 0.20.8
 keyball/keyball44: No LAYOUTs defined! Need at least one layout defined in info.json.
Making keyball/keyball44 with keymap default
 
 keyball/keyball44: No LAYOUTs defined! Need at least one layout defined in info.json.
avr-gcc (Homebrew AVR GCC 9.4.0) 9.4.0
Copyright (C) 2019 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 
Size before:
   text    data     bss     dec     hex filename
      0   24206       0   24206    5e8e keyball_keyball44_default.hex
 
Compiling: keyboards/keyball/drivers/pmw3360/pmw3360.c                                              [OK]
Compiling: keyboards/keyball/lib/oledkit/oledkit.c                                                  [OK]
...
Checking file size of keyball_keyball44_default.hex                                                 [OK]
 * The firmware size is fine - 24206/28672 (84%, 4466 bytes free)
 

これで書き込みができた。

ファームウェアの設定更新

私の設定はこちら https://github.com/ikorihn/keyball

  • デフォルトのqmkのバージョンが0.18なので、0.20にアップデート
  • Remapで設定したキーマップをkeymap.cに書き起こし
  • Automatic Mouse Layer を有効化
  • LEDは実装していないため、容量を食うLEDオプションを無効化
  • scroll snap (最初のスクロールからスクロール方向を特定して固定する機能) を無効化

参考