この文章は技術書典7などで頒布した左手キーボード Pulsarの組み立て方の説明です。
もし欠品や不具合等がありましたら、@mackee_wまで連絡をお願いします。
ボトムプレート, メイン基板, トッププレート, ProMicroカバーが1枚の基板になっています。
また、ProMicroはメイン基板に実装済みです。OLEDもメイン基板に挿された状態です。
- ネジ M2 12mm x 8
- ナット M2 x 8
- スペーサー(1) M2 2mm x 8
- スペーサー(2) M2 3.5mm x 8
Cherry MX互換かつ表面実装LED用の穴がボトムハウジングに開いているものに対応しています。
確認しているのはKailh BOXです。Kailh Speedも使用できることを確認しています。
Gateronスイッチは、LED用のスペースがないため浮いてしまいます。
上記のキースイッチに対応するキーキャップをご用意ください。
親指部分のロータリーエンコーダに使用します。
軸φ6.1に対応しているつまみが使用できます。また、直径2.3cm以上のつまみはキーキャップと干渉します。
秋月電子で売られているK-59や、千石電商で扱いがあるBR-20の使用できることを確認しています。
- ニッパー
- 基板の切断に用います
- ピンセット もしくは ラジオペンチ
- スペーサーをはめ、ナットを締めるときに使います
- ドライバー 0番手
- 10cm x 10cm以上の平たい板 or セロハンテープ or マスキングテープ
- ネジを立てるときに使います
Pulsar基板をプレートごとに分割します。細くなっている部分の両側を手で持って折ります。細くなっている部分がすぐ近くにある箇所もあるので慎重に折ってください。
手で折った後に、基板の外形から飛び出している部分をニッパーで切断します。
切断した基板は4つになります。
ボトムプレートを裏向きにします。Pulsar
のロゴが左上にあるのが表です。
ボトムプレートを手やニッパー等で浮かせた状態で、下記の矢印の箇所にネジを入れていきます。
すべてのネジを挿したあとに、ボトムプレートをひっくり返します。
このとき、ネジを落とさないように工夫をします
平たい板がある場合、ネジ頭をボトムプレートの裏側からかぶせます。
板と基板を一緒にひっくり返します。
ネジを押さえていた板だけを引き抜きます。
セロハンテープやマスキングテープがある場合は、差し込んだネジの頭をテープでボトムプレートの裏側に固定した状態でひっくり返します。
マスキングテープでネジを押さえてみた例です。
ピンセットもしくはラジオペンチで、短い方のスペーサー(1)を立てたネジに入れていきます。
穴位置を合わせてメイン基板を重ねます。Pulsar
のロゴが左上にある状態が表です。
ピンセットで、長い方のスペーサー(2)をメイン基板から飛び出したネジに入れていきます。
穴位置を合わせてトッププレートを重ねます。Pulsar
のロゴが左上にある状態が表です。
トッププレートから飛び出したネジにナットをはめていきます。このとき、ネジロックなどを塗布すると使用中に緩むことがなくなります。
ある程度ゆるくピンセットやラジオペンチで締めたあとに、ボトムプレートの裏側にドライバーを挿して固定します。
トッププレートの四角い穴にスイッチを挿していきます。スイッチを底から見て2つのピンが上に来るようにします。横からピンの穴が基板側のソケットに収まっていることを確認して、強く押し込みます。このとき、ピンが斜めになっているとピンが折れてしまうことがあるので注意してください。
8 で挿したキースイッチにキーキャップをはめていきます。
ノブをロータリーエンコーダに固定します。
microUSBケーブルをProMicroに挿します。すると、キースイッチの下のLEDが点灯します。
デフォルトファームウェアでは以上のマップになっています。
C
キーは2回素早く押すとV
が入力されます。
また、装飾キー押しっぱなしでロータリーエンコーダの挙動が変わります。
- Ctrl押しっぱなし -> LED点灯パターン切り替え
- Shift押しっぱなし -> HOME/END
さらに、基板横から出ているレバースイッチを一定時間押し込むと、下段のLED切り替えレイヤーになります。
NOTICE: 本家qmk_firmwareへPull Request予定です。マージされたあとに手順が変わります
qmk configuratorは現在ロータリーエンコーダに対応していないため、ソースコードを変更してキーマップを変える手順を記述します。
事前にqmk_firmware
を扱える環境を構築しておきます。
参考: Windowsユーザ向け プログラマーではない人向けのQMK Firmware入門
$ git clone -b pulsar https://github.com/mackee/qmk_firmware
すでにqmk_firmware
のclone済みブランチがある場合は、
$ git remote add mackee https://github.com/mackee/qmk_firmware
$ git fetch mackee pulsar
$ git checkout pulsar
と、リモートリポジトリを追加してcheckoutします。
動作確認のためにファームウェアを書き込みます。頒布時点で書き込まれているキーマップはforgraphic
です。
qmk_firmware
のディレクトリにCLIターミナル内で移動し、以下のコマンドを実行します。
$ make pulsar/rev1:forgraphic:avrdude
Detecting USB port, reset your controller now...
と表示されたら、PulsarのUSBコネクタの脇にあるリセットボタンを押します。すると、書き込みが開始されます。
avrdude done. Thank you.
と表示されたら成功です。
forgrachic
キーマップをもとにキー配置を変えてみます。
まず、keyboard/pulsar/rev1/keymaps/forgraphic
ディレクトリをコピーしてkeyboard/pulsar/rev1/keymaps/mykeymap
ディレクトリを作ります。
$ cp -R keyboard/pulsar/rev1/keymaps/forgraphic keyboard/pulsar/rev1/keymaps/mykeymap
その後にお好きなテキストエディタでkeyboard/pulsar/rev1/keymaps/mykeymap/keymap.c
を編集します。
例えばS
と入力されるように設定しているキーをD
に変更するには以下のようにkeymap.c
を変更します。
@@ -38,7 +38,7 @@ qk_tap_dance_action_t tap_dance_actions[] = {
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_BASE] = LAYOUT( /* Base */
- KC_LSHIFT, KC_A, KC_S, KC_Y, \
+ KC_LSHIFT, KC_A, KC_D, KC_Y, \
KC_LCTRL, KC_Z, KC_X, TD(TD_C_V), \
KC_LALT, \
JP_LBRC, XXXXXXX, LT(_LED, KC_ENTER), XXXXXXX, JP_RBRC \
キーコードの参考ドキュメント: キーコードまとめ
キーマップの最下段はレバースイッチのキーマップです。レバースイッチには半押しも検知できる機能があるのですが、使いにくいためforgraphic
キーマップでは使っていません。
JP
がプレフィックスにあるキーコードは、日本語キーボード向けのキーコードです。Windowsですでに日本語キーボードが別にある環境で利用してください。
保存後にキーボードにキーマップを書き込むには、 2と同様の手順で、以下のコマンドを実行します。
$ make pulsar/rev1:mykeymap:avrdude
ロータリーエンコーダはkeymap.c
内のencoder_update_user
関数で挙動を定義しています。
void encoder_update_user(uint8_t index, bool clockwise) {
if (index == 0) {
if (clockwise) {
if (get_mods() & MOD_LCTL) {
rgblight_step();
} else if (get_mods() & MOD_LSFT) {
tap_code(KC_END);
} else {
tap_code(KC_MS_WH_DOWN);
}
} else {
if (get_mods() & MOD_LCTL) {
rgblight_step_reverse();
} else if (get_mods() & MOD_LSFT) {
tap_code(KC_HOME);
} else {
tap_code(KC_MS_WH_UP);
}
}
}
}
KC_
から始まるキーコードを変更すれば、そのまま挙動を変えることが出来ます。
clockwise
がtrue
の場合は時計回り、false
のときは反時計回りの場合です。また、get_mods() & MOD_***
では装飾キーの同時押しの場合の挙動を記述しています。
ProMicroカバープレートはProMicroの端子部分を隠すためのものですが、使用は必須ではありません。使用するにはM2 x 14mmのネジを別途用意します。
ProMicroのトッププレートで一旦ナットで固定した上で、カバープレートを載せて、別途用意したM2ナットで固定します。
欠品や不具合、質問などは以下のTwitterアカウントにDMなどでお問い合わせください。
技術書典7にて購入させていただきました、ありがとうございました。
こちらのキーマップの指定が間違っていると思います。
forgrachic ではなく forgraphic
ではないでしょうか。
したがって、コマンドも
$ make pulsar:forgraphic:avrdude
で実行できました。
ご確認いただければと思います。