トラックボールを搭載したキーボードを作った話

気が付いたら11月も終わって師走になりそうですね?一年が年々早くなっていきますな。 この二ヶ月くらい格闘していたものができました。なんかこないだもこの書き出しをした気がしますが気にしてはいけない。 まずは写真 最近は一体型にしてましたが、roBaとかroRaとか人気ですんで、分割型に戻ってきました。やっぱ楽ですね。 スペックはこんなんです。 いつもの40%/42キー 30%はあんまり興味ないので 16.6mmピッチ Choc v2専用 PMW3610センサーを利用したトラックボール 完全無線 単三電池駆動 エンコーダー対応 ケース、キーキャップ、エンコーダー、トラボケース、スイッチプレートまで全部3Dプリンター製 今回発注したのは基盤類だけです それなりの薄さ キートップまで2.2cmです 名前は、それなりに薄さを追求してみよう、ということで ThingnusBall です。いつもどおりケースやらなんやらは以下のリポジトリで公開してます。 https://github.com/derui/ThingnusBall 今回の物理配列 今回ですが、前作った Orbit One を分割型に持っていったような感じにしてます。やっぱ自分の手をそれなりに測って作っただけあって、しっくりきていたのは強いですね。 挟ピッチにしているのは、もはや一回慣れてしまうと、MacBook(仕事用)ですら広く感じてしまいます。キーキャップも自炊(なにか違う気がする)できるようになったということもあり、自由度が上がっています。 キーキャップ 前回は初めて印刷しましたが、今回もうちょっと頑張ってコンベックスとスフェリカルのキーを印刷しました。こんな感じ。 物理になると分かりづらいんですが、コンベックスはちゃんとコンベックスしてます。なお、前回印刷したスフェリカルは指を置く面がちと狭かったので、全面に広げています。なお、色々めんどうなので、 印刷時にはサポートがいらないように 印刷してます。側面を立てる感じにして印刷しているので、どうしてもこういう形だと、底面になる面の角がヌルくなりますね。とはいえ、これが嫌だとすると、 光造形 か 焼結方式 、または射出形成が必要になってくるんではないかと。FDMで軸を下にしてサポートを追加するのはだいぶリスキーです。 DMM.makeで販売されているキーキャップは、大半が焼結方式・・・のはずです。私もちょっとだけ持ってますが、手触りとかいいですよね。高いんですが。 もしかしたらMXキーであれば余裕が出るのかもしれないですが :thinking: 今回は厚さをメインテーマにしたので、そもそもMXは選択肢に入っていませんでしたね。とはいえ、実際に指を置く面はかなり滑らかで、手元にあるNuphyのキーと比較してもひけをとりません(当社比)。 厚さ 前回がトータル4cmくらいの大作になってしまって、尊師スタイルをやろうとしたら 分厚すぎてほぼできなかった :cry: という悲しい現実がありました。 https://salicylic-acid3.hatenablog.com/entry/sonshi-introduction 尊師スタイルはこちらなどを参考に。尊師=RMSです。色々批判もある方ですが。 前々回も結構分厚かったので、今回は トラックボールのブレイクアウトボード含めて(できるだけ)薄くしよう! というのを唯一のデザイン目標にしました。 最小の厚さとは? さて、一般的なキーボード(ロープロ)で実現できる最小の厚みとはどれくらいなのでしょう?一旦以下の条件を前提にして計算してみましょう。 ホットスワップする スイッチプレートを使う choc v2 構成物 厚さ(mm) ソケット 2 基盤 1.6 スイッチプレート 1.5 choc v2 6.4 キーキャップ 3 合計 14.5 (choc v2は軸の頂点まで、キーキャップはキーの軸の頂点から天面まで、です) ...

November 24, 2025 · derui

ケースとキーキャップまで自作したキーボードを作りました

残暑が残暑というか「普通に夏だね?」って感じですね。もう暑いのはいいです。 この2ヶ月くらい格闘してたものができましたので、それについて書こうかと思います。 ...

September 6, 2025 · derui

3Dプリンターでchoc v2のキーキャップを作った

今年の夏も明らかに暑いですね。これが撹乱なのか、それとも定常になるのか・・・。 最近いいおもちゃを手に入れたので、それを使ってみたよ、という話です。 ...

August 9, 2025 · derui

新しいキーボードを作った

なんというか色々と騒がしい世間、いかがお過ごしでしょうか。 さて、ここ数ヶ月かけて作っていたものがやっと完成したので、それについて書いていこうと思います。 ...

July 5, 2025 · derui

crkbdを作った

前々から作ってみたかった crkbd が、Corne Cherryとしてキットが発売されたので、速攻で入手して作ってみました。 なお、私が作ったのは マットブラック です。ボトムプレートはアクリルです。 <!–more–> 以前のcrkbdは、以前作ったirisと同じダイオード式でしたが、Corne Cherryは 表面実装ダイオード を利用するようになっています。今回はこいつとPCBソケットが課題となりました。 色々購入 表面実装ダイオードを利用するというのはもうわかっていたので、逆作用ピンセットを購入しました。 それ以外は、 遊佐工房 さんから購入しました。今回のキースイッチは Kailh Speedの銀軸にしました。キーキャップは、irisを作った時に余ったものと、Ergodox EZから引っ剥がして使いました。 今回、Corne Cherryのキットと遊佐工房で注文したものが、どちらもクリックポストで届きました。そのおかげで、どちらも受け取りを心配せずともよく、非常に助かりました。ポストに入れるだけって手軽ですね。 他にはTRRSケーブルを購入しました。工具類は前回買ったものだけで足りました。 事前準備 Pro Microとかのほうが先に届いたので、前回同様にモゲ対策をします。撮ったはずなんですが画像が無かった・・・。大体irisのやつと見た目は一緒です。 組み立て キットの中はこんな感じです。前述の通りアクリルなので、ボトムプレートにはシールが貼ってあります。 そしてこっちが噂の表面実装ダイオードです。ガチで米粒よりも小さいので、これはピンセットが必須とされるのがわかります。 組み立て自体は、公式のビルドログがあるのであまり迷いませんでした。写真は取り忘れましたが、道中色々ギリギリな部分がありました。 ハンダが上手く盛れない やりすぎて隣のパッドにまでいったり、妙に少なくて上手くくっつかず、と・・・ やってみた感じからすると、ダイオードは過大にならなければ、あまり盛る量に神経質になる必要はなさそうでした PCBソケット難しい 付けるタイミング的に、Pro Microとかを付けた後になるんですが、そうなるとPCBが並行にならないので、ピンセットとかで押さえるのが超難易度でした ホルダー的なものがあると楽そうでしたなくてもとりあえず行けましたが。 後、一番ギリギリなのは半田の量でした。残り20cmくらいでなんとかなったのは奇跡的。 途中、Pro Microにファームを書き込んだりなんだりして、とりあえずスイッチまで入れたのがこれです。 実は、ボトムプレートの向きを勘違いしていて、裏を見るとCorneのマークが見えないという(爆笑)。基本的にずっと置きっぱなしなので、まぁとりあえずは置いておきます・・・。 使っていたIrisと比較すると、やはり一行少ないのと、iris比較で0.5cmほど薄いので、非常にコンパクトに見えます。後、ステンレスではないぶん軽いです。ただ、その分強度が落ちてるはずなので、満員電車での持ち運びがちょっと怖いです。 キーマップは? デフォルトから改変していますが、とりあえず日本語入力とかは移植しました。フォントの分最初から増えているので、サイズ的にはかなりギリギリです。 後、更にキーが少なくなったのもあって、日本語入力が恐ろしくギリギリです。親指同時打鍵をやめればおそらく問題ない範囲だとは思いますが・・・。ただ、今更ローマ字入力になるのもなんか癪に障るので、なんとかならないか考えてみようかと思います。 地味に、タイル型WMを利用していて、数字キーを結構な頻度で利用していることに気づきました。環境が変わると気づきが有りますね。 結び iris、crkbdと来たので、恐らくしばらくはキーマップの整備が主な作業になるとおもいます。キーマップについてはまたブログにします。 よく、 弘法筆を選ばず だから何でもいけるはず、という意見があります。一応私も職業上はそういったプロではあるので、別段ノートPCのキーボードでも作業は出来ます。ただ、プロであるのであれば、自分の性能を引き出せる道具を用意するのもまた当然ではないかと思います。プロのスポーツ選手で、そこらへんで売ってるようなものを利用していないのと同じ理屈です。 キーボードは、人によって好みが異なるので、ぜひ市販されてるものも含め、自分にぴったりなものを探してみてください。

December 1, 2018 · derui

Irisキーボード配列の現状

Irisキーボードを作ってから一週間くらい経ちました。その間、色々と試行錯誤して、ある程度決まってきたので、ここで一回紹介しておこうかと思います。 <!–more–> なお、日頃の入力は全てIrisから行うようにしているので、キーマップ以外は慣れました。小さいは正義。 Ergodox EZから無くなったキーたち Irisキーボード は、Ergodox EZよりもおよそ20キー弱少ない、54(または56)キーしかありません。また、改めて自分のErgodox EZのキー配列を見直してみた所、ちょうど無くなったキー部分に次のようなものがありました。 カーソルキー 主に日本語入力中の候補選択とかに、org-modeで多用していました Backspace/Enter 作成の都合上、親指部分のキーに2uのキーを使ったので、単純にbackspace/enterのキーが消えました {}[] の入力 人差し指内側のキーにそれぞれマッピングしていました 少なくともこれらのキーは、今までと別の場所にマッピングしてやる必要があります。 マッピング戦略 さて、マッピングをしないといけないキーは色々ありますが、いくつか個人的に譲れないものとかがあるので、まずはそれをあげていきます。 親指にShiftがある コレだけは譲れない 親指にEnterがある コレも譲れないと言うか、US/JPどっちにしろIrisだとEnterがあるべき場所にキーがそもそもないので・・・ 親指にSpaceがある 元々親指で押してたもんですし。 アルファベット+基本的な記号部分はQwertyから崩さない 別段ずらす必要はないので GUIキーはデフォルトのlayerに必要 タイル型WMを利用している都合上、コレは必須 蜂蜜小梅配列 を利用する Ergodox EZでは一つのレイヤーとして実装していたので 日本語切り替えはワンタッチで 現状維持。手軽に切り替えられることは効率に直結します という感じです。記号類は、Ergodox EZの時点でSYMBOLレイヤーみたいなものを作ってそこで入力するようになっていたので、LOWER/RAISEを利用するとしても変わらないかな、と。 では、これらを考慮して設定していったキーマップを解説していってみます。 レイヤー解説:Default layer https://github.com/derui/qmk_firmware/blob/master/keyboards/iris/keymaps/derui/keymap.c#L31 特筆すべき点というのはそんなに無いですが、親指に当たるキーは基本的に Multi Role になっています。同時押しのときと単独でのクリック時の挙動が違う、ということになります。 SFT_ENT 同時押しでshift、単独でEnterになるようになっています M_EISU M_KANA 単独だとかなと英数の切り替えを行います。切り替えは無変換のキーコードを出すようにしています 同時押しだとLOWER/RAISEに切り替えられます。このキーを2つとも押しっぱなしにすると、ADJUSTになります ここで一番変わっているのは、 m_kana と m_eisu です。本来であれば LT() マクロなどを利用するのですが、 LTマクロなどは標準のキーコードなどとしかセットで利用できません 。無変換とかと組み合わせることはできないということです。 ですので、自前で管理しています。こんな感じで。 bool process_record_derui(uint16_t keycode, keyrecord_t *record) { static bool enable_layer = false; static bool interrupt_in_layer = false; if (record->event.pressed) { switch(keycode) { case M_EISU: layer_on(_RAISE); update_tri_layer(_LOWER, _RAISE, _ADJUST); enable_layer = true; interrupt_in_layer = false; return false; break; case M_KANA: layer_on(_LOWER); update_tri_layer(_LOWER, _RAISE, _ADJUST); enable_layer = true; interrupt_in_layer = false; return false; break; default: if (enable_layer) { interrupt_in_layer = true; } break; } } else { switch(keycode) { case M_EISU: layer_off(_RAISE); update_tri_layer(_LOWER, _RAISE, _ADJUST); if (enable_layer && !interrupt_in_layer) { /* KC_MHEN equals KC_INT5 */ layer_off(_HACHIKOUME); SEND_STRING(SS_TAP(X_INT5)); SEND_STRING(SS_TAP(X_LANG2)); der_init_hk_variables(); } enable_layer = false; return false; break; case M_KANA: layer_off(_LOWER); update_tri_layer(_LOWER, _RAISE, _ADJUST); if (enable_layer && !interrupt_in_layer) { /* KC_HENK equals KC_INT4 */ SEND_STRING(SS_TAP(X_INT4)); SEND_STRING(SS_TAP(X_LANG1)); layer_on(_HACHIKOUME); der_init_hk_variables(); } enable_layer = false; return false; break; default: if (enable_layer) { interrupt_in_layer = true; } break; } } return true; } tapping_termなどの恩恵は受けられませんか、これくらいであれば、自前で実装してもまぁなんとかなります。 ...

October 7, 2018 · derui

自作キーボードを作ってみた:作成編

以前の記事で、キーボードを自作するために色々と注文していましたが、一通り届いたので、実際に作ってみました。 <!–more–> Irisのキットの内容 今回は、IrisのPCBとステンレスのplateを購入しました。広げるとこんな感じになります。 ステンレスが眩しいです。想定外だったのが、このステンレスプレートがめちゃくちゃ重かったことです。どのくらい重かったかと言うと、片手分のプレートだけで Ergodox EZの片手分 くらいあります。 右上に見えているのは TRRS ケーブルです。あえてコイルしているのを購入してみましたが、このコイルが想定しているよりも硬かったため、しばらく伸ばしたりなんだりしています。 Irisのビルド ビルドは、公式のビルドログ と、 ASCII.jpの連載記事 を参考にしました。公式のビルドログは、 ProMicroを取り付けたところで終わっているので、それ以降の(ケースとか)手順については、ASCII.jpの記事が参考になりました。 作成自体は、ひたすらはんだ付けしていくだけなので、ここからは写真を多めに出していきます。 まずはモゲ対策をしました。コレをやったおかげかどうかはわかりませんが、今回結構な頻度でケーブルの抜き差しをしましたが、特に取れそうな感じはしませんでした。接着剤を盛るだけなので、やっとくのがおすすめです。 裏側からダイオードをいれていき、カプトンテープをマスキングテープがわりにして仮どめしました。カプトンテープを使うと、この後にダイオードをはんだ付けしても特に問題なかったので、普通のマスキングテープよりいいかも知れません。 途中の写真がなかったのであれですが、Pro Microとキースイッチまではんだ付けしたところです。コレは左手分ですが、実はこの時右手側で一列分キースイッチをはんだ付けするのを忘れていて、動作確認する時に ??!!! ってなってました。 プレートを付けてキースイッチを付けるとこんな感じになります。 所要時間は、細かく測ってませんがおよそ8時間くらいかかった気がします。最後の3時間位は、後述のトラブルを解決するためにかかった気がしますが・・・。 出くわしたトラブル はんだ付けが不安でしたが、実際やってみると、きちんとやり方を守れば、特に問題なくできました。しかしそれ以外のトラブルが・・・。 Pro Microを認識しない 私のメインPCはGentoo Linuxなんですが、カーネルのオプションを絞りすぎていて、Pro Microをリセットした時に作成される /dev/ttyACM0 が出来ない状態になっていました・・・ 足りなかったオプションとモジュールを追加して解決 USBをつないで動くときと動かないときがある マグネット式のUSBケーブルに若干の問題があったらしく、普通の向きと逆さまにしたらうまく動きました とりあえずは問題ないってことにしてます キーが一列反応しない そもそもキースイッチがはんだ付けされてなかったという悲劇 ハンタ付したら普通に動きました スタビライザーの装着をミスった PCB上に配置するはずが、よくわからなくてキースイッチと同じ側から入れてしまい、なんか不安定に・・・ 動くことは普通に動くので、まぁいいっか・・・っていうことにしてます スタビライザーを付けている人が少なく、どうもよくわからなかったのが・・・。次回があればミスをしないようにしたいところです。 ところでキーマップは? こちら です。 今までのErgodox EZを再現することは当たり前に出来ないので、まだ試行錯誤しています。 特に、蜂蜜小梅配列を実装したキー配列が恐ろしくギリギリなので、ここをなんとかしたいところです。固まったら、改めて書きます。 次に向けて Irisを組んでみて、半田付けのコツであったりはなんとなく習得したので、次は crkbd にチャレンジしてみたいです。 それと、白軸と間違えて赤軸を使った所、びっくりするくらい重く感じているので、慣れるか別の軸で作るかをさっそくけんとうしています・・・ この記事は100% Irisで書かれました。

September 30, 2018 · derui

自作キーボードを作ってみた:注文編

個人的には2年くらい前から Ergodox EZ を使ってきました。セパレート式に目覚めたのはこれが契機で、自宅も仕事場もErgodoxに統一しています。ただ、不満がないかというとそうでもなく、よりよいキーボードを探していました。そんなとき、半年くらい前から自作キーボードが非常に賑わって来ていることに気づきました。これはムーブメントに乗るしか無い!と半年遅れくらいで乗ることにしました。 <!–more–> Ergodoxの不満 自作するにも、まずErgodox自体の不満である点をあぶり出す必要があります。最近の使い方を鑑みると、次のような不満がありました。 でかい。持ち運びはかなりきつい Kinesisもそうだったが、親指に役割が過剰 一番強いと言っても、本来の可動範囲と違うので、やりすぎると親指だけ痛くなったりする(実体験 人差し指内側のキーが基本死んでる 一番下の段のキーは基本使ってない など、使っていくうちにどんどんデッドキーが多くなっていきました。それと、個人的にもqmk_firmwareの挙動に慣れてきたりして、レイヤーを使いこなせるようになってきたことが大きいです。 自作候補 色々ありますが、以下のような選定基準にしました。 キー配列は格子 親指部分が独立している 親指部分に機能が集中しすぎていない でもSandSはやりたいのである程度欲しい 親指にshiftが無いと色々と効率がだだ下がりします 見つけた範囲だと、以下のキーボードがドンピシャのようでした。 crkbd Helixベースのため薄い 3行6列。かなりミニマル 個人的に数字を結構多用するので、ないときついんじゃないかって思う かなり理想的 irisよりも注意事項が少ない印象 iris ほぼ理想形(多分) 親指部分を 1u 2個と2u 1個で選択可能。ただ、実際に打っている感じだと、この場所で上下を打ち分けるのは結構しんどい可能性が高いです ビルドログが豊富 若干分厚いが、Ergodox EZよりもずっと小さい 今回は、丁度在庫が復活したので、Irisを組んでみることにしました。crkbdの方も、在庫が復活したら買う予定です。限度額が余ってれば。 注文内容 Keeb.ioでだいたい注文しました。 PCB Kit プレート 若干高かったですが、ステンレスにしました。初心者なのに大丈夫か?って思わなくもない ProMicro × 2 TRRS Cable コイルしてるのにしてみました キーキャップは、参考サイトにあった ジェイダブル から買いました。変に凝ったら素で 10k円 いってしまった・・・。なお軸は赤軸です。軽い+リニアなのがいいのです。 工具類とUSBケーブルはAmazonで揃えました。 はんだごてとコテ台 白光 ダイヤル式温度制御はんだこて FX600 白光(HAKKO) こて台 633-01 定番っぽいのでこれに。こういうので奇をてらってもなんにもならないので・・・ はんだ goot 両面プリント基板用はんだ SD-61 0.8mmのものがちょうどいいらしいのでこれに ニッパー goot ニッパー YN-10 ドライバーとかはあったんですが、なぜかニッパーがなかったのでこれで。鋼線切断能力が1.3mmということで、Pro Microの足も切れるはず その他 エポキシ系接着剤 モゲ防止に 3M しっかりつくクッションゴム 8x2mm 台形 22粒 CS-04 クッションに ユニバーサル基板 はんだ付けの練習用に マグネット式のUSBケーブル モゲ防止 + 持ち運び用 1Mはないと部屋で使う時足りないので これ以外にも、テスターや絶縁テープなど購入しています 総計で 30k円 くらいいってます。Ergodox EZよりは安いと言えば安いけれども・・・ ...

September 11, 2018 · derui