自作キーボード活動2年目の振り返り

前置き

この記事は キーボード #2 Advent Calendar 2020 の4日目の記事です。何気に Advent Calendar 初参加です。 さて、この記事で何を書くかですが、「キーボードのお店を始めるに至った話」とか「小説家に営業した話」といったディープな話題は書けません。 なので、自作キーボード活動2年目を振り返る記事を書きたいと思いますが、2年目を簡単に振り返ると、オリジナルキーボードの製作が一番比重が大きく、QMK のドキュメント翻訳レビューがそれに続き、Discord の #mon-shin チャンネル用のダイアログページを作ったという1年間でした。なので、これらの活動について書いていきます。

オリジナルキーボードの設計

オリジナルキーボードの設計については、1年目に色々なキーボードを使う中で自分なりに「こういうキーボードが良さそう」という像が見えてきたことから、それを形にするべく挑戦しました。 最初の1台目は、ProMicro を使う方法で3〜4月に作成したのですが、コネクタ類の位置を間違えて、USB ケーブルと TRRS ケーブルが PCB と干渉してしまいました。そのため、TRRS ケーブルのコネクタをナイフで削り、ProMicro と基板の間のスペースを確保するためピンヘッダを基板に取り付ける羽目になりました。とはいえ、キー入力は問題なくできることと、自分が理想と考えていたキー配列の打ちやすさを実地に試すことができたので、失敗も含めて収穫は大きかったと思います。

そのキーボードを現在まで使っているのですが、ケーブルが PCB と干渉するキーボードを End Game にするのは無理があるのと、キー配列の問題点 (Zの入力が失敗しやすい) が判明したことから、9月頃から2台目の作成に着手しました。 2台目のキーボードの設計コンセプトは

  1. 配列はColumn Staggerd
  2. 形状は左右分離型
  3. キー数は48
  4. 親指で『Space/BackSpace、Lower/Raise、Win/CMD、Alt』キーが押せる
  5. プレートとケースは3Dプリントで作る
  6. ProMicro を使わずに ATMega32U4 直付け

このうち、1〜4番目は単なる好みに基づくものですが、5番目はへそ曲がりな性格が顔を出したが故のコンセプトです。

自作キーボードでは、打ち心地の向上などを図るため、ケースをアルミ削り出しで、プレートを真鍮やステンレスの穴あけ加工で作成することがありますが、1年前よりもそういったケースなどを作る人が増えているという印象です。ただ、それらを見ていると「そこまでお金を出すのは躊躇うな〜」と感じていました。そこで、その対極という訳ではないのですが、ケースやプレートの3Dモデルをダウンロードすれば誰でも 3Dプリンタで安価に出力できて、その気になれば自分でカスタマイズできるキーボードがあっても良いのではないかと考えて、このコンセプトを盛り込みました。

6番目のコンセプトは、ProMicro による出っ張りを上手に活かせる設計がどうにもこうにもできなかったので、レイアウトの自由を求めて ATMega32U4 直付けに切り替えたものです。これにより、USB コネクタを Micro-B から TypeーC にできるという収穫もありました。

これらのコンセプトを満たすべく設計に着手したのですが、小学1年生の時から科学図鑑を読むのが大好きだったとはいえ、文系高卒で文系職場に就職した身では電子回路の知識が乏しく、ATMega32U4 の使い方をどうやって勉強するかを勉強するところからのスタートでした。

そして勉強を始めて痛感したのは、ATMega32U4 を使う人は使い方や前提知識をわざわざ書かない、ということでした。具体的には、ATMega32U4 を使うためのコンデンサやクリスタルや抵抗について、なぜそれらの部品が必要なのか、どういう基準で選べば良いのか、どのように配置していくのか、といった点を説明しているサイトがほとんど見つけられませんでした。そのため、ATMega のデータシートを読み込み、個別の項目に絞って検索して調べ、それを自分なりにまとめていくという方法で理解に努めました。その成果はこちらですが、実際に設計に着手すると色々と改善点が見えてきたので、今後修正する予定です。 ATMega32u4を使う場合の設計メモ.md

とまあ、こんな具合に2台目のキーボードを設計しているのですが、基板設計まで進んだところで Discord でレビューをお願いしたら、見事なダメ出しを受けて自分の知識の無さと皆さんの協力のありがたさを痛感している、というのが現時点の状況です。(そのまま PCBA 発注していたら間違いなく動かないキーボードになっていたので、本当に感謝しています。

QMK の翻訳レビュー

こちらは 2019年11月4日に umi-umi (umi) さんが add japanese translation by umi-umi · Pull Request #7248 · qmk/qmk_firmware で47ファイルの日本語への翻訳のプルリクを出したところから始まったもので、私も docs/ja/feature_tap_dance.md (Merge 済)docs/ja/keycodes.md (レビュー中)docs/ja/keycodes_basic.md (レビュー待ち) を翻訳したり、他の方々の翻訳をレビュー(こちらがメイン) したりしています。

自分の翻訳については、ケアレスミスから翻訳漏れまで多数の指摘をいただくことになり、レビュワーの方々に多大なご迷惑をおかけしています。その穴埋めという訳ではないですが、他の方々の翻訳のレビューにあたっては、指摘の根拠を明示し、レビューされる側の負担を少しでも減らすように努めています。

進歩の早い分野では、英語に怯まず公式ドキュメントに当たるのが正しい姿勢なので、その公式ドキュメントに日本語訳があることは日本のコミュニティにとってプラスにこそなれマイナスになることはないと思います。そう思って、少しでも日本の自作キーボードコミュニティに貢献すべく、翻訳とレビューに取り組んでいます。

ちなみに、Windows と Mac の両方を使っているのですが、翻訳はレビューを含めて Mac で行なっています。理由は、ランチャーアプリの Alfred を設定すれば、d hogehoge と打ち込むだけで内蔵辞書を開けるためです。文法を調べる頻度はそんなに多くないので、文法書を手でめくっていても作業効率にたいした影響は無いのですが、単語はしょっちゅう調べるので、手作業では作業効率がガクッと落ちてしまいます。そのため、翻訳は Mac で行なっています。 note: 翻訳の進捗状況は、ファイル数ベースで未翻訳が19%という状況です。

ダイアログページの作成

キーボード制作でトラブルに遭遇した時に Discord で質問する際のチャンネルとして #mon-shin というチャンネルがあり、質問用テンプレートが用意されています。

ただ、テンプレートの穴埋め状況にばらつきがあると感じていましたので、誰でも必要項目を選んでいけば質問文が容易に作れるようにするため、専用のページを作成しました。

問診票テンプレート

幸い、作成したページが採用され、これまでにこのページを利用した質問がいくつも出されていますが、実際に運用すると足りない機能も出てくるので、これから修正していく予定です。

まとめ

「自作キーボードについて考えていることなどをつらつら書きます」と Advent Calendar には書いておきながら活動報告になってしまいましたが、自作キーボードを始める前は、自分が同好の士の中に混じってこんな形で活動することになるなんて全く予想していませんでした。 毎日使う道具でありながら、凝ったことをしなければ制作は思うほど難しくないという絶妙な存在なのが自作キーボードだと思っていますが、こういうとっても面白い世界に巡り合えたことには感謝しています。

また、あれこれ迷惑をかけているのに、いつも親切に対応していただいているコミュニティの皆様にも感謝しています。少しでもコミュニティに貢献できるべく努力したいと思っていますので、引き続きよろしくお願いします。 明日は、Takeshi Nishio さんの『自キ活1年目で出来たものと、総当たりマトリクスのご紹介。』という記事です。

最後まで読んでいただきありがとうございます。この記事は、自作のオリジナルキーボードで書きました。