leopardgeckoのブログ

Macの関連事項など

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

はじめに

前回の記事でPlanckの基本的なカスタマイズ方法の紹介をしましたが、今回は他にいくつか実例を紹介します。これはPlanckというよりはQMK Firmware全般の説明になるのかもしれません。(記事を書くのにまだ慣れないPlanckを使っているのでタイプミスが多くて大変です・・・😅 )

以下、全て「keymap.c」ファイルの書き換えの説明です。特に説明がなければそのファイルの中の「[_QWERTY]」の設定を書き換えます。「keymap.c」については前回記事を参照してください。

右側にもシフトキーを追加する。

シフトキーが左側にしかないのは不便です。この際、右側にも追加してしまいましょう。かといって右側のキーが減ってしまうのは困るので、長押しでシフトキーの役割を兼用するように書き換えます。私はエンターキーと「'」キーの位置を入れ替えていて、「'」キーをシフトキー兼用にしています。その場合は、「KC_QUOT」を「MT(MOD_RSFT,KC_QUOT)」に書き換え、「KC_ENT」と位置を入れ替えます。

長押しと判定されるまでの時間の調節はこちらのサイトが参考になります。

Windowsでも使うときのために「半角/全角」キーを追加する。

Planckはコンパクトなキーボードですから持ち歩いて他の場所で使うのも楽です。メインマシンはMacでもWindows機を使う機会もあるでしょうから、キーボードをどちらでも使えれば便利です。そこでWin機でも日本語入力ができるように「半角/全角」キーを追加してみます。キーの位置ですが、デフォルト設定では一番左下のキーはバックライトキーであり、バックライトを使わないなら何の役にも立ちません。そこでこれを「半角/全角」キーに変更してしまいます。単に「BACKLIT」を「KC_ZKHK」に書き換えても良いのですが、独立したキーにしてしまうと肝心のMacで使う時に何の役にも立たなくなってしまってもったいないので、長押しした時にはコントロールキーとして使えるようにしてみます。その場合は「CTL_T(KC_ZKHK)」と記述します。デフォルトのコントロールキーの位置は押しにくいので一石二鳥と言えるでしょう。

音量調節を細かくする。

キーボードでの音量調節は割合大雑把なので、イヤホンで音楽を聴いている時などはもっと細かく音量調節をしたくなります。Macには細かい音量調節のショートカットがあり、「Shift」と「Option」を押しながら音量調節キーを押すと標準の四分の1の単位で音量調節ができるようになります。これをPlanckの設定に反映するには、「KC_VOLD」を「LALT(LSFT(KC_VOLD))」、「KC_VOLU」を「LALT(LSFT(KC_VOLU))」に書き換えます。

メディアキーの割り当てを修正する。

デフォルトでは曲送りのキーは「KC_MNXT」になっているのですが、これはあくまでWindows用であってMac本来の曲送りのキーではありません。このままでも一応iTunesでは動作するのですが他のソフトでは動作しないことがあります。例えば私の環境ではAmazon Musicで曲送りができませんでした。iTunes以外の音楽再生ソフトを使う可能性があるならばMac本来の曲送りのキーである「KC_MFFD」に変更しておいた方が無難です。ちなみに曲戻しのキーは「KC_MRWD」です。

レイヤーを増やす。

コマンドキーやコントロールキーなどは一番下の段にありますが、これはこれで良いとしても、もっと楽にアプローチできるキーも修飾キーとして使えれば便利です。ただ単に修飾キーも兼ねるだけなら上で挙げた例のように記述すれば良いのですが、ここではデフォルトのレイヤーである「Lower」や「Raise」とは別にオリジナルのレイヤーを作って、「a」キーの左隣という好位置にある「Esc」キーの長押しで呼び出せるようにしてみます。

「keymap.c」の最初の方にある「enum planck_layers」というところがレイヤー名の定義をしているところなので、ここにオリジナルのレイヤー名を追加します。とりあえず「_MYESC」としてみます。下の画像のように「_ADJUST」の後に一行追加するのですが、「_ADJUST」の後ろに「,」を付け加えるのをお忘れなく。

f:id:leopardgecko:20170914075454p:plain

あとは下の方にある「_ADJUST」の設定の下に、新たに「_MYESC」の設定を加えます。他のレイヤー設定をいったんコピペして好きなキーに書き換えると良いでしょう。下の例はカーソルやページの移動を割り当てたレイヤーです。どうしてそんなものをわざわざ作ったかというと、他に使っている60%サイズキーボードの設定を引き継ぎたかったからです。デフォルトのカーソルキーは最下段ですからホームポジションから遠くて押しにくいですし。他のキーボードで慣れている設定があればそのままPlanckでも使えるというわけです。

レイヤーの書き足しの際には「_ADJUST」の最後にある「}」の後に「,」を付け加えてください。これを忘れるとコンパイル時にエラーになります。

f:id:leopardgecko:20170914080059p:plain

 

「ESC」キーの長押しにこのレイヤー呼び出し機能を割り振るには、「[_QWERTY]」のところにある「KC_ESC」を「LT(_MYESC,KC_ESC)」に書き換えます。コンパクトサイズのメカニカルキーボードはFnキーで独自機能を呼び出せるものが多いですが、こういうやり方でそれっぽい機能を再現できます。

テンキーっぽく使える設定

さらなる応用として、下のようにテンキーっぽく使えるレイヤーを作ることもできます。Planckはテンキーと同じ格子状の配列ですから、通常配列のテンキーレスキーボードより数字入力が格段に楽になります。

f:id:leopardgecko:20170914124627p:plain

私は一番左上の「Tab」キーの長押しにこのテンキーっぽいレイヤーの呼び出し機能を割り振っています。数字をどのキーに割り振るかで少々悩みましたが、右手をホームポジションから動かさずにタイプできる位置にしてみました。

 

長押しの併用は基本的にどのキーに割り振ることもできますが、これを設定すると当たり前ですが元のキーの押しっぱなしの入力はできなくなりますのでご注意を。

とりあえず今回はこのくらいで。