kbigwheelのプログラミング・ソフトウェア技術系ブログ

プログラミング・ソフトウェア技術系のことを書きます

自作キーボードの追加パーツのデメリットの話

tl;dr

  • より多くの機能があったほうが良いと思って追加パーツをたくさん使っていたよ
  • 結果、キーボードがハードウェア的/ソフトウェア的にとても不安定になってしまったよ
  • 機能を盛ったほうが良いというものではないという学びがあったよ
  • 今は安定したキーボードを求めて使うパーツを限定し始めたよ

追加パーツの代償

自作キーボードを初めて半年、基本的にメンタリティが男の子なのもあって使用可能なオプションはすべて使用してきました。主に以下などです。

  • Bluetooth化 (BLE Micro Pro)
  • Pro Micro用コンスル
  • キースイッチのソケット化
    • PCBソケット
    • Mill-Max ソケット
  • LED

最初パーツを追加する限りは特にデメリットはないと思っていたんですが、数ヶ月続けていくうちにどれもデメリットが見えてきました。

機能 デメリット
Bluetooth 接続が不安定
BIOSブートローダで使用できない
linuxでbluetoothdが死ぬ
Pro Micro用コンスル USBケーブル抜き差しのタイミングで浮く
浮きすぎて特定ピンの接続が切れると挙動がバグる
(原因特定がとても大変だった)
キースイッチのソケット化 キーがぐらつく
斜めの力がかかるとキーキャップごと抜ける
キーキャップの交換が大変
LED 光らせたくないときの切り替えが必要
LED制御のための追加のキー配置が必要

どれもメリットとのトレードオフであったというだけの話なのですが、使い始めた時点ではデメリットに気づいていませんでした。またこのあたりのデメリットに対する言及もウェブ上ではあまりされていないと思います。

特に問題だったのが安定性が損なわれてしまったことです。

キーボードと安定性

四六時中PCを利用しているエンジニアにとってキーボードの安定性はとても重要です。 HHKBやRealForceのようなキーボードをエンジニアが評価する一因はその高い安定性にあります。

先述の追加パーツのデメリットで最も痛かったのはその重要な安定性が損なわれたことでした。

Bluetoothの問題

最初に問題が発生し始めたのはBluetooth接続です。職場では多くのPCが使われておりBluetooth接続も沢山の人が使っているためか接続がまったく安定しませんでした。一方自宅では電波の問題はないものの今度はlinux OSとの相性が悪く定期的にbluetoothdが死ぬという現象に遭遇します。一般に市販されているlogicoolのキーボードならlinuxとつないでも一切問題が出なかったのでおそらくBMPのソフトウェア側の問題だと思われます*1

コンスルーの問題

そこでやむなくUSBケーブルに接続方法を切り替えたのですが次に出てきたのがコンスルーの浮き問題でした。USBのソケットがテーブルから5 ~ 10mm程度浮いていることもありケーブルの自重で斜めの力が働いた結果、Pro Microの奥の方が持ち上がる力が働いてしまいます。キーボードの移動などを繰り返すとこの力が繰り返し働き、ついにはソケットからコンスルーが浮いてしまいキー入力が正常に処理されなくなってしまいました*2

キースイッチのソケット化の問題

それらと平行して問題となったのがキースイッチの抜け問題です。左上のEscapeキーなど斜めに力が入りやすく隣が埋まっていないキーへ過度に斜めの力が入ると簡単に抜けてしまいました。また打鍵感自体も悪く少しぐらつくような感触があります。 これはスイッチをはめているアクリルなどの精度にもよるところではあるかもしれませんが、剛性の意味ではソケットではなく直接はんだ付けされている方がよいように感じました。

まとめ

実は僕にとってはどの追加パーツもある意味安定性を求めての導入でした。

  • Bluetooth化: ケーブルという物理デバイスを使わないことによる故障箇所の削減
  • ソケット化: 故障時速やかに交換可能とすることで可用性を高める
  • LED: 活用したいと思ったときにあとから追加するのは大変なので先にやっておく

それが逆に安定性を損なう側面があったというのが今回の学びでした。 その学びを持って自作キーボード界隈を見ると高度な技術を持った人が以外とソケット・Bluetoothなどを使っていないことに気づきます。こういった方たちは同様の経験をしたことがあるか、直感的に安定性へ悪影響があることを気づいていて使用していないのかもしれません。

今、一旦原点に立ち返って多少の不便を受け入れつつ最小パーツで自作キーボードを作っています。

*1:もっとも世界へ広く市販されている枯れた製品とDIYで実験的に使用されるBMPでは期待される品質は大きく違うためBMPを攻めるのは間違っている気はします

*2:ちなみにコンスルー周りが原因だと特定するまではとても苦労しました。ピンによって接続されていたりされていなかったりするのでとても変な挙動をしており、最初はソフトウェアの問題かと疑いました。最終的に原因を特定するまで2週間ぐらいかかったと思います