leopardgeckoのブログ

Macの関連事項など

PlanckキーボードをMacでカスタマイズしてみよう。 <導入編>

2018/12/25追記:最新版のQMK Firmware対応のため記事を全面的に改定。

はじめに

今回は「Planck」というキーボードの話です。

一部で有名な(?)Planckといういわゆる40%サイズの格子型キーボードがあります。と言われても興味のない方には何のことやらさっぱりでしょうが、要するにこういう形の非常にコンパクトかつシンプルなキーボードです。

f:id:leopardgecko:20170913224757j:plain

小さいのですがメカニカルキーボードなので打鍵感はしっかりしたもので、外装は肉厚のアルミでガッシリ感や高級感も感じられます。金属外装のためかサイズの割に重量もあるので意外なほど安定感もあります。ただしこれは一般の店舗やネットショップなどでは売っておらず、MassDropなどでのみ入手できる組み立てキットという特殊な部類のキーボードになります。

組み立て式なのでCherry MX互換のどんなスイッチでも選べる(その気になればキーひとつ単位で様々な種類のスイッチを選ぶことも可能)ということの他に、ファームウェアを書き換えることでハード的にキーマップがいくらでも好きなように変更できるという特徴があります。つまりMacやPCでキーリマップソフトを使う必要がなく、どの本体に繋いでも自分がカスタマイズしたキーマップがそのまま使えるということです。(これはPlanckのみの特徴ではなく、このような機能がある組み立て式キーボードはサイズや形状が違うものが他に何種類も出ています)

私はこのPlanckをごく最近入手したのですが、組み立てはすぐに終わったものの、いざMacでキーマップの作成や転送をやろうとすると入門向けの情報が少ない上に内容が古くてそのままでは使えない情報が結構あり、意外と苦労してしまいました。MassDropでは大人気のキーボードなので日本での情報もそれなりにあるだろうと考えていたのですが少々甘かったようです。そこで備忘録も兼ねて、Planckのキーマップ設定をMacでカスタマイズする手順を紹介することにしました。

本体の入手方法や組み立て方などは他のサイトにお任せするとして、説明はすでに組み立てが終わっているところから始めます。

組み立てただけでもUS配列のキーボードとして普通に使えるのですが、日本語入力には専用のキーが欲しいですし、デフォルトのキーマップを変更したい人もいるでしょう。キーマップを書き換える機能を使うにはいくつかの準備が必要になります。

必要ソフトの導入

QMK Firmwareを入れる前にHomebrewの導入が必要です。Homebrewをお使いでない方はこの際入れてしまってください。(そうすれば私が別記事で紹介しているjRogueというゲームをターミナルで遊ぶことも出来ますよ!😉 )

次にQMK Firmwareをインストールします。(英文で問題ない方は公式サイトのガイドに従って導入すれば良いので以下の記事を読む必要はありません)

まずターミナルでQMK Firmwareを入れたいディレクトリに移動して、以下のコマンドを入力すればダウンロードとインストールが完了します。インストールには結構時間がかかりますので気長に待ってください。

git clone https://github.com/qmk/qmk_firmware.git
cd qmk_firmware
util/qmk_install.sh

作成した環境のテスト

キーマップをコンパイルしてPlanckに転送できるかどうかをテストしてみます。

PlanckをMacに繋いだ状態で、以下のコマンドを入力します。この場合の「rev4」というのはPlanckのPCBのバージョンですので、適宜お持ちのPCBのバージョンに書き換えてください。ちなみに2018年12月現在での最新バージョンは「rev6」です。このmakeコマンドはqmk_firmwareディレクトリで実行してください。

make planck/rev4:default:dfu

追記:バージョンがrev6の場合は以下のように「dfu-util」としてください。

make planck/rev6:default:dfu-util

 

デフォルトのキーマップがコンパイルされてファームウェアの転送待ちの状態になるので、Planckの裏にある小さなボタンを尖ったもので押してファームウェアが書き換えられるモードに切り替えます。少し待ってPlanckから電子音が鳴りターミナルに以下のようなメッセージが表示されれれば成功です。

Bootloader Version: 0x00 (0)
 〜中略〜
Validating... Success
0x6980 bytes written into 0x7000 bytes memory (94.20%).

自分用のキーマップフォルダを作成

次に、自分用のキーマップを作るフォルダを作成します。QMK Firmwareのインストールで作成されたフォルダをqmk_firmware→keyboards→planck→keymapsと辿っていき、keymapsフォルダの中に自分用のフォルダを作ります。ここでは仮に「leopardgecko」というフォルダを作ったとします。keymapsフォルダの中にある「default」というフォルダを探し、その中にあるファイル(config.h、keymap.c、rules.mk)を先ほど作った「leopardgecko」フォルダの中にコピーします。そのファイルのうちの「keymap.c」がキーマップを設定するファイルです。

カスタマイズ例(「英数」「かな」キーを追加する)

カスタマイズの一例として、スペースキーの両隣にある「Lower」と「Raise」キーを一回押しすると「英数」「かな」キーとして動作する方法を紹介します。もちろん長押しの時は「Lower」と「Raise」としての本来の動作をします。US配列のキーボードを使っている人にはcommandキーのリマップでおなじみのカスタマイズですが、この設定をキーボード本体に保存できるのが最大の違いです。

先ほどコピーした「keymap.c」をテキスト編集できるソフトで開くと「[_QWERTY] = {」という行があります。その下に「KC_云々」というような記述が並んでいるところが基本レイヤー(要は普段使うところ)のキー設定です。

f:id:leopardgecko:20170913225638p:plain

ここの「LOWER」を「LT(_LOWER,KC_LANG2)」に書き換え、「RAISE」を「LT(_RAISE,KC_LANG1)」に書き換えます。これで「Lower」「Raise」キーが一回押しの時はそれぞれ「英数」「かな」キーとしても動作するようになります。

Planckに設定ファイルを転送

このキーマップをPlanckに転送するには、先ほどのテストと同じ要領で以下のように入力します。ここで「rev4」というのは先ほどのテストの時にも出てきたPlanckのPCBのバーションですので、お持ちのPCBのバージョンに書き換えてください。「leopardgecko」というところは先ほど作成したフォルダの名前にしてください。

make planck/rev4:leopardgecko:dfu

(rev6の場合は上と同じように「dfu」を「dfu-util」に変えてください)

 

これでファームウェアコンパイルされ自動的にPlanckに転送されます。Planckから電子音が鳴ったら成功です。

 

デフォルトのキーマップに戻したい時は、テストの時に行った

make planck/rev4:default:dfu

と入力すればOKです。

(rev6の場合は上と同じように「dfu」を「dfu-util」に変えてください)

 

おまけ

コンパイルするときにいちいちqmk_firmwareディレクトリに移動するのは面倒です。そこで、.bashrcに以下のような記述を加えておくと「planck」と入力しただけでコンパイルから転送までやってくれます。この例は書類フォルダにqmk_firmwareを入れた場合ですので、ディレクトリは適宜変更してください。

alias planck='make -C ~/Documents/qmk_firmware/ planck/rev4:leopardgecko:dfu'