{"id":17882225,"url":"https://github.com/mackee/pulsar","last_synced_at":"2026-01-16T01:41:49.395Z","repository":{"id":145129697,"uuid":"247425227","full_name":"mackee/pulsar","owner":"mackee","description":"The functional keyboard for creators.","archived":false,"fork":false,"pushed_at":"2021-03-06T09:55:49.000Z","size":2485,"stargazers_count":4,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-01T12:52:54.950Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mackee.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-03-15T08:04:13.000Z","updated_at":"2021-04-13T13:46:35.000Z","dependencies_parsed_at":null,"dependency_job_id":"d7547bae-fc05-42ba-9942-a3ce44e27802","html_url":"https://github.com/mackee/pulsar","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mackee%2Fpulsar","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mackee%2Fpulsar/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mackee%2Fpulsar/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mackee%2Fpulsar/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mackee","download_url":"https://codeload.github.com/mackee/pulsar/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246922246,"owners_count":20855345,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-28T12:49:00.509Z","updated_at":"2026-01-16T01:41:49.389Z","avatar_url":"https://github.com/mackee.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Pulsar - The functional keyboard for creators\n\n## 部品の不足や不具合, その他のお問い合わせ\n\nTwitterの私のアカウントまでDMをしてください [@mackee\\_w](https://github.com/mackee_w)\n\n## ビルドガイド\n\nこのビルドガイドはRev.2(11キー)版のビルドガイドです。Rev.1(9キー+OLED付き) のビルドガイドはこちら\n\nhttps://gist.github.com/mackee/b5231e5609be889129ee4aa5c9ab0aaa\n\n\n### 同梱しているもの\n\n![img](https://github.com/mackee/pulsar/blob/master/docs/img/pulsar_package.jpg)\n\n#### Pulsar本体基板\n\n![img](https://github.com/mackee/pulsar/blob/master/docs/img/pulsar_main_board.jpg)\n\nメイン基板と、LEDがついたボトムプレートが一体になっています。\n\n#### トッププレート\n\n![img](https://github.com/mackee/pulsar/blob/master/docs/img/pulsar_top_plate.jpg)\n\n本体基板とは別に添付しています。\n\n#### ネジ袋\n\n![img](https://github.com/mackee/pulsar/blob/master/docs/img/screw_bag.jpg)\n\nネジが入った袋です。袋の中には以下の物が含まれています。\n\n* M2 スペーサー 高さ7.5mm x 8本\n* M2 ネジ x 16本\n\n### 別途使用に必要なもの\n\n#### キースイッチ x 11個\n\nCherry MX互換のキースイッチに対応しています。\n\n[Kailh BOX](https://yushakobo.jp/shop/kailh-box/), [Kailh Speed](https://yushakobo.jp/shop/kailh-speed/), [Gateronスイッチ](https://yushakobo.jp/shop/a0200ga/)の適合を確認しています\n\n#### キーキャップ x 11個\n\n入手されたキースイッチに適合するキーキャップが必要です\n\n#### ノブ/つまみ\n\n親指ロータリーエンコーダ部分に使用するノブです。\n\n軸φ6.1に対応しているつまみが使用できます。また、直径2.3cm以上のつまみはキーキャップと干渉します。\n\n秋月電子で売られている[K-59](http://akizukidenshi.com/catalog/g/gP-12529/)や、千石電商で扱いがある[BR-20](https://www.sengoku.co.jp/mod/sgk_cart/detail.php?code=6A8D-DNEV)が使用できることを確認しています。\n\n### 別途組み立てに必要な道具\n\n* \\+ 精密ドライバー\n* ラジオペンチ\n\n### 組み立て方\n\n#### 1. 基板を分割する\n\nPulsar基板本体をメイン基板とボトムプレートに分割します。\n\n![](https://github.com/mackee/pulsar/blob/master/docs/img/cut_board1.jpg)\n\n4箇所あるので、できるだけ近い部分を持ちつつ折ってください。写真のようにラジオペンチを使うときれいに折れます。\n\n![](https://github.com/mackee/pulsar/blob/master/docs/img/cut_board2.jpg)\n\n#### 2. ボトムプレートにスペーサーを立てる\n\nネジ袋からスペーサーを8個全部と、黒いネジを8個取り出します。\n\nボトムプレートの何も部品がない面から、ネジを差し込み、反対側からスペーサーを取り付けます。\n\n![](https://github.com/mackee/pulsar/blob/master/docs/img/bottom_plate_screw.jpg)\n\nこのとき、はじめは手で軽く締めていって、最後に精密ドライバーでネジを、ラジオペンチでスペーサーを持って固く締めます。\n\n![](https://github.com/mackee/pulsar/blob/master/docs/img/bottom_plate_screw2.jpg)\n\n8箇所ある穴すべてにスペーサーを立てます。\n\n#### 3. メイン基板をボトムプレートに重ねる\n\nメイン基板を、スペーサーを立てたボトムプレートの上に重ねます。\n\n![](https://github.com/mackee/pulsar/blob/master/docs/img/layered_bottom_main.jpg)\n\nメイン基板の取り付け穴はスペーサーの直径よりも大きいので、穴の中にスペーサーを通すようにします。\n\nまた、ロータリーエンコーダを右下にしたときに、ボトムプレートには 3本のピンヘッダーが、メイン基板にはピンヘッダを通すための穴があります。\n\n![](https://github.com/mackee/pulsar/blob/master/docs/img/zigzag_pin_header.jpg)\n\n電気的に接触するため、メイン基板側の真ん中の穴が少しずれています。重ねたときに、ボトムプレートのピンがメイン基板の穴に刺さるようにします。\n\n![](https://github.com/mackee/pulsar/blob/master/docs/img/zigzag_pin_header_pushed.jpg)\n\n止まるまでグググッと押し込みます。\n\n#### 4. トッププレートを取り付ける\n\nボトムプレートに、メイン基板を重ねた物の上にさらに、トッププレートを重ねます。\n\nスペーサーの位置とトッププレートの位置を合わせて、トッププレートを残りのネジで固定します。\n\n![](https://github.com/mackee/pulsar/blob/master/docs/img/topplate1.jpg)\n\nこれで、Pulsarの本体は完成です。\n\n#### 5. キースイッチを取り付ける\n\nトッププレートの穴から、キースイッチを差し込んでいきます。\n\n![](https://github.com/mackee/pulsar/blob/master/docs/img/keyswitch1.jpg)\n\nこのとき、メイン基板の黒い丸の部品と、キースイッチのピンの位置を合わせます。\n\n![](https://github.com/mackee/pulsar/blob/master/docs/img/keyswitch2.jpg)\n\nまた、キースイッチのピンが曲がっているときは、差し込んだときに折れてしまうことがあるため、ラジオペンチなどでまっすぐにしておきます。\n\nトッププレートと、キースイッチの縁が当たるまで、強く押し込みます。\n\n![](https://github.com/mackee/pulsar/blob/master/docs/img/keyswitch3.jpg)\n\n#### 6. キーキャップを取り付ける\n\nキースイッチにキーキャップを取り付けます。\n\n![](https://github.com/mackee/pulsar/blob/master/docs/img/keycap.jpg)\n\n#### 7. つまみ/ノブを取り付ける\n\nロータリーエンコーダにつまみ/ノブを取り付けます。\n\n![](https://github.com/mackee/pulsar/blob/master/docs/img/knob.jpg)\n\nこれで完成です！ お疲れさまでした。\n\n## デフォルトキーマップ\n\n![](https://github.com/mackee/pulsar/blob/master/docs/img/keymap1.jpg)\n\nレバースイッチ押し込みを続けるとLED/RESETレイヤーに入ります。\n\n![](https://github.com/mackee/pulsar/blob/master/docs/img/keymap2.jpg)\n\n## キーマップ変更方法\n\n**NOTICE: 本家qmk_firmwareへPull Request予定です。マージされたあとに手順が変わります**\n\nqmk configuratorは現在ロータリーエンコーダに対応していないため、ソースコードを変更してキーマップを変える手順を記述します。\n\n事前に`qmk_firmware`を扱える環境を構築しておきます。\n\n[はじめに - QMK Firmware](https://docs.qmk.fm/#/ja/newbs_getting_started)\n\n参考: [QMK 環境の構築](https://github.com/qmk/qmk_firmware/blob/master/docs/ja/newbs_getting_started.md)\n\n### 1. `pulsar` ブランチを指定して `github.com/mackee/qmk_firmware`をcloneします。\n\n```console\n$ git clone -b pulsar github.com/mackee/qmk_firmware\n```\n\nすでに`qmk_firmware`のclone済みブランチがある場合は、\n\n```console\n$ git remote add mackee https://github.com/mackee/qmk_firmware\n$ git fetch mackee pulsar\n$ git checkout pulsar\n```\n\nと、リモートリポジトリを追加してcheckoutします。\n\n### 2. ファームウェアを書き込む\n\n動作確認のためにファームウェアを書き込みます。頒布時点で書き込まれているキーマップは`default`です。\n\n`qmk_firmware`のディレクトリにCLIターミナル内で移動し、以下のコマンドを実行します。\n\n```console\n$ make pulsar/rev2:default:dfu-util\n$ qmk flash -kb pulsar/rev2 -km default\n```\n\n`ERROR: Bootloader not found. Trying again in 5s.` と表示されたら、右下レバースイッチを押し込みながら、一番右上のキーを押します。すると、書き込みが開始されます。\n\n![](https://github.com/mackee/pulsar/blob/master/docs/img/flash.jpg)\n\n`Transitioning to dfuMANIFEST state` と表示されたら成功です。\n\n### 3. キー配置を変更する\n\n`default`キーマップをもとにキー配置を変えてみます。\n\nまず、`keyboard/pulsar/keymaps/rev2/default`ディレクトリをコピーして`keyboard/pulsar/rev2/keymaps/mykeymap`ディレクトリを作ります。\n\n```console\n$ cp -R keyboard/pulsar/rev2/keymaps/default keyboard/pulsar/rev2/keymaps/mykeymap\n```\n\nその後にお好きなテキストエディタで`keyboard/pulsar/rev2/keymaps/mykeymap/keymap.c`を編集します。\n\n例えば`S`と入力されるように設定しているキーを`D`に変更するには以下のように`keymap.c`を変更します。\n\n```diff\n@@ -28,7 +28,7 @@ enum {\n\n const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {\n   [_BASE] = LAYOUT( /* Base */\n-    KC_LSHIFT, KC_A,    KC_S,     KC_Y,    KC_M,             \\\n+    KC_LSHIFT, KC_A,    KC_D,     KC_Y,    KC_M,             \\\n     KC_LCTRL,  KC_Z,    KC_X,     KC_C,    KC_V,             \\\n                                   KC_LALT,                   \\\n     JP_LBRC,   XXXXXXX, LT(_LED, KC_ENTER), XXXXXXX, JP_RBRC \\\n```\n\nキーコードの参考ドキュメント: [キーコードまとめ](https://syon.github.io/refills/rid/1471100/)\n\nキーマップの最下段はレバースイッチのキーマップです。レバースイッチには半押しも検知できる機能があるのですが、使いにくいため`default`キーマップでは使っていません。\n\n`JP`がプレフィックスにあるキーコードは、日本語キーボード向けのキーコードです。Windowsですでに日本語キーボードが別にある環境で利用してください。\n\n保存後にキーボードにキーマップを書き込むには、 2と同様の手順で、以下のコマンドを実行します。\n\n```console\n$ qmk flash -kb pulsar/rev2 -km mykeymap\n```\n\n### 4. ロータリーエンコーダの挙動を変更する\n\nロータリーエンコーダは`keymap.c`内の`encoder_update_user`関数で挙動を定義しています。\n\n```c\nvoid encoder_update_user(uint8_t index, bool clockwise) {\n  if (index == 0) {\n    if (clockwise) {\n      if (get_mods() \u0026 MOD_LCTL) {\n        rgblight_step();\n      } else if (get_mods() \u0026 MOD_LSFT) {\n        tap_code(KC_END);\n      } else {\n        tap_code(KC_MS_WH_DOWN);\n      }\n    } else {\n      if (get_mods() \u0026 MOD_LCTL) {\n        rgblight_step_reverse();\n      } else if (get_mods() \u0026 MOD_LSFT) {\n        tap_code(KC_HOME);\n      } else {\n        tap_code(KC_MS_WH_UP);\n      }\n    }\n  }\n}\n```\n\n`KC_`から始まるキーコードを変更すれば、そのまま挙動を変えることが出来ます。\n\n`clockwise`が`true`の場合は時計回り、`false`のときは反時計回りの場合です。また、`get_mods() \u0026 MOD_***`では装飾キーの同時押しの場合の挙動を記述しています。\n\n### LICENSE\n\n#### ハードウェア\n\n回路図, パーツリスト, 基板配線図などハードウェア部分\n\n\u003ca rel=\"license\" href=\"http://creativecommons.org/licenses/by-sa/4.0/\"\u003e\u003cimg alt=\"クリエイティブ・コモンズ・ライセンス\" style=\"border-width:0\" src=\"https://i.creativecommons.org/l/by-sa/4.0/88x31.png\" /\u003e\u003c/a\u003e\u003cbr /\u003eこの 作品 は \u003ca rel=\"license\" href=\"http://creativecommons.org/licenses/by-sa/4.0/\"\u003eクリエイティブ・コモンズ 表示 - 継承 4.0 国際 ライセンス\u003c/a\u003eの下に提供されています。\n\n#### ソフトウェア\n\n本製品のファームウェアは[qmk firmwareのライセンス](https://qmk.fm/license/)に従います。\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmackee%2Fpulsar","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmackee%2Fpulsar","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmackee%2Fpulsar/lists"}