【自作キーボード】minidox や crkbd でオーディオをコントロールできない時の対処法

自作キーボードの楽しみは、ある意味で未完成のまま使いながら直せるところ、と言っていいでしょうか。

「ここはもうちょっと便利にならないかな・・・」といった点を自分好みに修正して行けるところ、なかなか正解が見つからないもどかしさも含めて醍醐味ですね。今回は、表題のようにオーディオ・コントロールについて書いてみたいと思います。

私の場合、今こうしてブログを書く時はまず iPad 上でアプリを立ち上げ、Spotify でプレイリストを選び音楽をかけたら後は流しっぱなしにします。作業の途中で時々音の上げ下げや曲送りをしたいと思う時、キーボードの手を離さず出来たら便利ですよね。

Preonic にはもともとこうしたオーディオ・コントロールがキーに割り付けてあって、これがとても便利でした。調べてみると Pro Micro をコントロールする qmk に以下のようなオーディオ関連のコマンドがあり、これを使うと自分で作ったキーボードで簡単に実現できることを知ったわけです(キーコード一覧)。

・KC_MPLY(再生)
・KC_MNXT(曲送り)
・KC_MPRV(曲戻し)
・KC__MUTE(ミュート)
・KC__VOLUP(音量大)
・KC__VOLDOWN(音量小)

最初に作った gherkin に早速このコマンド(”KC_VOLU”など)を割り付け便利に使っていましたが、minidox や crkbd になった途端にうんともすんとも言わなくなって・・・原因を探していたら構成ファイルの中の rules.mk の設定方法にありました。

具体的には、記述の最後の部分の「ビルドオプション」の項目の設定。

# Build Options
# comment out to disable the options.
#
BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000)
MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
CONSOLE_ENABLE = no # Console for debug(+400)
COMMAND_ENABLE = no # Commands for debug and configuration
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
NKRO_ENABLE = yes # USB Nkey Rollover – if this doesn’t work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
AUDIO_ENABLE = no
RGBLIGHT_ENABLE = no

LAYOUTS = ortho_3x10

gherkin の rules.mk を開くと EXTRAKEY_ENABLE が “yes(有効)” になっています。この行の但し書きには「オーディオとシステムコントロール」とあり、ここが有効になっていないと機能しない仕組みなのですね。

minidox/crkbd のファイルを見ると、 “no” になっていましたから、早速上のように “yes” に書き換えます。

見事に解決!