たのしい自作キーボード〜分割キーボードやPRK Firmwareの話〜


My Redmine

黒谷です。先週は日本の広い範囲で寒波に見舞われましたが、皆さんの地域はいかがだったでしょうか。ファーエンドテクノロジー株式会社がある島根県松江市でも大雪になり、積雪が40cm近くになったところもありました。雪かきや、立ち往生した車の救出作業などで大変な週末でした。

最近、自作キーボードを2つ作りました。今回はそれらに関する話です。

分割キーボードを使ってみたい!

私のまわりで分割キーボードを使う人が増えた時期がありました。それを見て、いいなあ、面白そうだなあ、作ってみたいなあ、と思い、いろいろ調べてみました。すると、基盤、マイコン、キースイッチ、キーキャップなどなど、必要な部品を基本的には自分で調べて購入しないといけないようです。ちょっと面倒くさいなあ、と着手できないでいたのですが、必要な部品がある程度まとめて同梱してあるキットも販売されていることがわかり、キットで良さそうなものがないか探すことにしました。

探してみるといろいろありますが、ノートパソコンのキーボードのようにキーの高さが低いものが良いなと思っていたので、そういうキットを探したところ、Helix Picoを見つけました。説明書が公開されていたので見てみたら、手順が詳しく書いてあり、初心者でもなんとかなりそうに思いました。それよりも何よりも、ピコピコ音が鳴る! 子供の頃にイメージしていたコンピュータはこれだよ!ということで、Helix Picoに決めました。

キースイッチは、クリック音がしないものが好みだったので赤軸にしました。キーキャップは、刻印があるものにしました。キットと部品一式が届いてすぐに着手できなかったのですが、いざ作り始めると、説明書がわかりやすくて、失敗することなくすぐに完成することができました。

自作キーボードキット Helix Pico
Helix Pico

できたよーとTwitterで自慢したところ、マイコンを交換すればPRK Firmwareが使えるよと、PRK Firmwareの作者の@hasumikinさんが教えてくれました。これはチャレンジしたい!ということで、マイコンを購入し取り替えてみたのですが、うまくいきませんでした。@hasumikinさんにも調べていただいたのですが、基盤が対応してないようで、断念しました。

PRK Firmwareが使えるキーボードが欲しい!

自作キーボードの良い点として、キー配置を自分好みに合わせて変更できることがあります。Helix PicoではQMK Firmwareというソフトウェアを使います。これがちょっと面倒くさい。キー配置を記述したソースコードをコンパイルして、できたファイルをマイコンに書き込むという手順が必要です。その点PRK Firmwareは、Rubyで記述したソースコードのファイルを、ドラッグアンドドロップでコピーするだけです。これはぜひ使いたいと思い、もう1台キーボードを作ることにしました。

今回は分割ではなく、配列はHelix Picoのような直交型が良いかなあと思って探していたのですが、Willow&Ambi配列キーボード Oyamada Willowを見つけ、試してみることにしました。キースイッチは、赤軸でも良かったのですが、もっとバネが軽いものが良いなと思っていたところ、Kailh Choc Blueというスイッチを見つけたので、試してみることにしました。これもビルドガイドが提供されており、それを見ながら作ることですぐに完成することができました。

自作キーボードキット Willow&Ambi配列キーボード Oyamada Willow
Willow&Ambi配列キーボード Oyamada Willow

キー配置のRubyソースコードの作成は、前例がなかったので少し苦労したのですが、PRK Firmwareのドキュメントや、QMK FirmwareのOyamada Willow用のソースコードを見てなんとか動くものができました。Kailh Choc Blueの軽さは自分にとても合っていて、キー入力が楽になったなあと感じています。

このキーボードはオープンソースカンファレンス 2022のセミナー発表でも活躍しました。PRK Firmwareのおかげで、プレゼンしやすいキー配置のカスタマイズが容易にできました。

セミナー発表でキーボードを使用した様子

ロータリーエンコーダを使いたい!

プレゼンで使ったよーと自慢したところ、ロータリーエンコーダを使ってスライド操作できるよ、とアドバイスをいただいたので、チャレンジすることにしました。ついでに、LEDをつけてピカピカ光らせることにもチャレンジすることにしました。ロータリーエンコーダについては、Oyamada Willowの作者の@daraku__nekoさんに聞いたりしながら、操作するプログラムを作ることができました。

3つあるロータリーエンコーダの真ん中に画面のズームイン、右にスライドの切り替えを割り当てています。

ロータリーエンコーダの操作 画面のズームインの様子
画面のズームイン
ロータリーエンコーダの操作 スライド切り替えの様子
スライドの切り替え

LEDは、はんだ付けのときに付ける向きを間違えることが頻発しました。小さい部品のはんだ付けにはルーペが必須ですね。さらに向きを直そうとしてランドを剥がしてしまいました。空中配線してみましたが、うまく行ってないようで、点灯しないLEDがある状態です。折をみて修繕したいと思います。

自作キーボードの基盤

まとめ

現在のキー配置のソースコードは以下に置いてあります。興味のある方はご覧ください。 https://github.com/kurod1492/prk_yamada_willow

【スタッフ募集中】
弊社ではAWSを活用したソリューションの企画・設計・構築・運用や、Ruby on Rails・JavaScriptフレームワークなどを使用したアプリケーション開発を行うスタッフを募集しています。採用情報の詳細
弊社での勤務に関心をお持ちの方は、知り合いの弊社社員・関係者を通じてご連絡ください。

My Redmine

こちらの記事もオススメです!
TourBoxを使って動画編集処理の時間短縮に成功!
ダイヤルやボタンにキーボードショートカットを自由に定義。Premiere Proでの動画編集作業がとても楽になりました。
Gitのローカルブランチの削除を簡単にした話
ローカルブランチが溜まり気味なのが悩み。削除コマンドをエイリアスに設定し簡単に削除できるようにしました。
RedmineのREST APIを活用してプロジェクトメンバーやロール、公開設定などのレポートを作成しています
Redmineのユーザーや権限など自分たちが必要な情報を扱いやすい形式にまとめたい場合、REST APIを利用するのがお勧めです。
AWS Glue のクローラーを使用して Application Load Balancer(ALB)のログからデータカタログを作成し、Amazon Athena で検索してみた
Application Load Balancer のログが見にくいので、Glue と Athena を利用してクエリーでログを検索できるようにしました。
オープンソースカンファレンス 2022 でセミナー発表しました
OSC 2022オンラインFallで「はじめてのプロジェクト管理ツール〜Redmine超入門〜」を発表。
ファーエンドテクノロジーからのお知らせ(2024/04/24更新)
入門Redmine 第6版 出版記念企画セミナー「Redmineのアクセス制御」【2024/5/30開催】
入門Redmine 第6版(2024年3月23日発売)の書籍から「Redmineのアクセス制御」について解説します。
My Redmine 初回ご契約で「入門Redmine 第6版」プレゼントのお知らせ
Redmineのクラウドサービス「My Redmine」を初めてご契約いただいたお客様にRedmine解説書「入門Redmine 第6版」を進呈いたします。
2024年度ブランドパートナーに島根県在住のモデル ユイさんを継続起用
ユイさん(モデルスタジオミューズ所属)をファーエンドテクノロジーの2024年度ブランドパートナーとして継続して起用します。
My Redmine スタンダードプランおよびAdminサポートデスクプランの料金改定のお知らせ【2024年4月ご利用分より】
2024年4月ご利用分より、My Redmine スタンダードプラン(民間企業・個人向け及び官公庁向け)とAdminサポートデスクプランの料金を改定いたします。
Redmineの最新情報をメールでお知らせする「Redmine News」配信中
新バージョンやセキュリティ修正のリリース情報、そのほか最新情報を迅速にお届け