Twitterの私のアカウントまでDMをしてください @mackee_w
このビルドガイドはRev.2(11キー)版のビルドガイドです。Rev.1(9キー+OLED付き) のビルドガイドはこちら
https://gist.github.com/mackee/b5231e5609be889129ee4aa5c9ab0aaa
メイン基板と、LEDがついたボトムプレートが一体になっています。
本体基板とは別に添付しています。
ネジが入った袋です。袋の中には以下の物が含まれています。
- M2 スペーサー 高さ7.5mm x 8本
- M2 ネジ x 16本
Cherry MX互換のキースイッチに対応しています。
Kailh BOX, Kailh Speed, Gateronスイッチの適合を確認しています
入手されたキースイッチに適合するキーキャップが必要です
親指ロータリーエンコーダ部分に使用するノブです。
軸φ6.1に対応しているつまみが使用できます。また、直径2.3cm以上のつまみはキーキャップと干渉します。
秋月電子で売られているK-59や、千石電商で扱いがあるBR-20が使用できることを確認しています。
- + 精密ドライバー
- ラジオペンチ
Pulsar基板本体をメイン基板とボトムプレートに分割します。
4箇所あるので、できるだけ近い部分を持ちつつ折ってください。写真のようにラジオペンチを使うときれいに折れます。
ネジ袋からスペーサーを8個全部と、黒いネジを8個取り出します。
ボトムプレートの何も部品がない面から、ネジを差し込み、反対側からスペーサーを取り付けます。
このとき、はじめは手で軽く締めていって、最後に精密ドライバーでネジを、ラジオペンチでスペーサーを持って固く締めます。
8箇所ある穴すべてにスペーサーを立てます。
メイン基板を、スペーサーを立てたボトムプレートの上に重ねます。
メイン基板の取り付け穴はスペーサーの直径よりも大きいので、穴の中にスペーサーを通すようにします。
また、ロータリーエンコーダを右下にしたときに、ボトムプレートには 3本のピンヘッダーが、メイン基板にはピンヘッダを通すための穴があります。
電気的に接触するため、メイン基板側の真ん中の穴が少しずれています。重ねたときに、ボトムプレートのピンがメイン基板の穴に刺さるようにします。
止まるまでグググッと押し込みます。
ボトムプレートに、メイン基板を重ねた物の上にさらに、トッププレートを重ねます。
スペーサーの位置とトッププレートの位置を合わせて、トッププレートを残りのネジで固定します。
これで、Pulsarの本体は完成です。
トッププレートの穴から、キースイッチを差し込んでいきます。
このとき、メイン基板の黒い丸の部品と、キースイッチのピンの位置を合わせます。
また、キースイッチのピンが曲がっているときは、差し込んだときに折れてしまうことがあるため、ラジオペンチなどでまっすぐにしておきます。
トッププレートと、キースイッチの縁が当たるまで、強く押し込みます。
キースイッチにキーキャップを取り付けます。
ロータリーエンコーダにつまみ/ノブを取り付けます。
これで完成です! お疲れさまでした。
レバースイッチ押し込みを続けるとLED/RESETレイヤーに入ります。
NOTICE: 本家qmk_firmwareへPull Request予定です。マージされたあとに手順が変わります
qmk configuratorは現在ロータリーエンコーダに対応していないため、ソースコードを変更してキーマップを変える手順を記述します。
事前にqmk_firmware
を扱える環境を構築しておきます。
参考: QMK 環境の構築
$ git clone -b pulsar 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します。
動作確認のためにファームウェアを書き込みます。頒布時点で書き込まれているキーマップはdefault
です。
qmk_firmware
のディレクトリにCLIターミナル内で移動し、以下のコマンドを実行します。
$ make pulsar/rev2:default:dfu-util
$ qmk flash -kb pulsar/rev2 -km default
ERROR: Bootloader not found. Trying again in 5s.
と表示されたら、右下レバースイッチを押し込みながら、一番右上のキーを押します。すると、書き込みが開始されます。
Transitioning to dfuMANIFEST state
と表示されたら成功です。
default
キーマップをもとにキー配置を変えてみます。
まず、keyboard/pulsar/keymaps/rev2/default
ディレクトリをコピーしてkeyboard/pulsar/rev2/keymaps/mykeymap
ディレクトリを作ります。
$ cp -R keyboard/pulsar/rev2/keymaps/default keyboard/pulsar/rev2/keymaps/mykeymap
その後にお好きなテキストエディタでkeyboard/pulsar/rev2/keymaps/mykeymap/keymap.c
を編集します。
例えばS
と入力されるように設定しているキーをD
に変更するには以下のようにkeymap.c
を変更します。
@@ -28,7 +28,7 @@ enum {
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_BASE] = LAYOUT( /* Base */
- KC_LSHIFT, KC_A, KC_S, KC_Y, KC_M, \
+ KC_LSHIFT, KC_A, KC_D, KC_Y, KC_M, \
KC_LCTRL, KC_Z, KC_X, KC_C, KC_V, \
KC_LALT, \
JP_LBRC, XXXXXXX, LT(_LED, KC_ENTER), XXXXXXX, JP_RBRC \
キーコードの参考ドキュメント: キーコードまとめ
キーマップの最下段はレバースイッチのキーマップです。レバースイッチには半押しも検知できる機能があるのですが、使いにくいためdefault
キーマップでは使っていません。
JP
がプレフィックスにあるキーコードは、日本語キーボード向けのキーコードです。Windowsですでに日本語キーボードが別にある環境で利用してください。
保存後にキーボードにキーマップを書き込むには、 2と同様の手順で、以下のコマンドを実行します。
$ qmk flash -kb pulsar/rev2 -km mykeymap
ロータリーエンコーダは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_***
では装飾キーの同時押しの場合の挙動を記述しています。
回路図, パーツリスト, 基板配線図などハードウェア部分
この 作品 は クリエイティブ・コモンズ 表示 - 継承 4.0 国際 ライセンスの下に提供されています。
本製品のファームウェアはqmk firmwareのライセンスに従います。