そのキーボード、本当に満足していますか?
「弘法筆を選ばす」で有名な空海は、遍照発揮性霊集
にてこう述べています
良工は先づ其の刀を利し、能書家は必ず好筆を用う
一流のエンジニアの皆様におかれましては、もちろん一流のキーボードを使っていることでしょう。
でもちょっと待ってください!
それは本当に最高のキーボードですか?
HHKB?
いいですね。間違いなくあなたは凄腕プログラマーでしょう。
しかし量産機である以上専用機にはかないません。1
タイピングの質はコーディング速度に直結します
小指の負担がすごい
よく使う{}や*;が小指にあるのって、不便じゃありません?
TabもbackspaceもEnterも全部小指。
スペースキーとかあんなに長い必要ありません。半分にして代わりのキー置きたくないですか?
速度も精度も中指>小指
なのはエクストリームタイピング競技者2の間でとても良く知られています
タイプライターはもう化石
今のキー配置は今から100年以上前
ジュラ紀に爆発的な進化を遂げたタイプライター
が起源だと言われています。
キーが列ごとに少しずつズレているのもその名残。
タイプライターは原理的にそうせざるを得なかったからです。
有名なデマだそうです。gentaroさんご指摘ありがとうございました。
恐竜の時代はもう終わり。これからは自作キーボードの時代です
自作キーボードのすゝめ
twitterとFGOが同時に出来る。
そう、自作キーボードならね。
キーって入れ替えられる?
簡単に出来ます。
C言語を使ってカスタマイズしていきます。
ちょっとキーを入れ替えるだけなら、なんらかの言語経験者なら問題ないでしょう。
コンパイルや書き込みはコマンドラインで行うので
最低限の知識cdでディレクトリ移動する
とか は必要かもしれません
真っ黒画面アレルギー
の方はごめんなさい。
ターミナルの背景色を変えたりして克服しましょう。
キー数足りなくない?
普通のだってShift
を使い入力します。ああいう感じ。
レイヤー
というのを設定でき、それごとにキーを割り当てています。
RAISEキー
を押してる間はRAISEレイヤー
になりキー配列が変化します
私はデフォルトレイヤー
、RAISEレイヤー
、LOWERレイヤー
、ADJUSTレイヤー
の4つを使っています
まあようするに、3種類くらいShiftキーがあると思えばいいです
ピカピカうるさくない?
アルコール駆動開発には最高です。電気を消してDJ3流せばそこは渋谷のDJクラブ。
近隣住民に怒られたらオフにしましょう。オフにするキーももちろんあります。
完全に不要ならLEDパーツをつけないというのもありです。1000円くらい材料費が浮きます
いくらで作れる?
その気になれば1万以下で作れます。
私は工具を揃えたり、ちょっと高めのキーキャップを買ったりしたので20kくらいです
誰でも作れる?
いろんな方が作り方を載せているので、知識がなくてもググり力さえあれば作れると思います。
工具もハンダゴテや500円のテスターとかなので、5000円あれば揃うと思います
ちょっと興味が出てきた。でもどうすればいいの?
まずはキットを選びましょう。売り切れの場合は再入荷を待ちましょう。
以下のキーボードは初心者にもおすすめだと思います。
今回は日本国内で通販できるキットを抜粋して紹介します。
crkbd
私が作った奴です。キー数が少なくとてもコンパクト
よく売り切れてる。
crkbd公式サイト
helix pico
コンパクトさにこだわったキーボード。持ち運びとか便利そう。
既に何色か売り切れてる。
helix pico公式サイト
mint60
必要なものがすべて揃っているしおしゃれ、コミケで売り切れ。
マイコンも書き込み済のため、C言語わからなくてもイケる
予約受付中との事
mint60 公式サイト
Ergo42 Towel
横が一列多いため、b
は両手にほしい みたいな場合はこれ
機能性重視のため、LEDや液晶はつけれるか不明
前作が売り切れた
フルセットならキーキャップとキースイッチ以外ありマイコンも書き込み済
旧型のErgo42は売り切れた
とてもわかりやすいビルドログ(組み立て記事)
Ergo42 Towel
パーツを揃える。
各キットのページに必要なものが書いてあります。
言われたとおりに購入しましょう。
大抵は遊舎工房 さんで買えますが
秋葉原で工具を揃えるついでに買ってもいいかもしれません。
キースイッチ、キーキャップ以外は千石電商や秋月電子、aitendoで大体揃います。
キースイッチやキーキャップは取り扱っている店が非常に少ないです
amazonやAliExpressなどの通販で買うか、ヨドバシに置いてあることを祈るかです。
AliExpressで注文しましたが届くのに1ヶ月かかると言われたので、アキバを探し回った結果、
ゲーミングキーボードとかマウスがやたら置いてある店に運良く2種類だけあったので買いました
電子工作
はんだ付けのお時間です。
キットの公式ページに大体載っていますが、
ビルドログもたくさん乗ってるので困ったらググりながら作りましょう。
カスタマイズ例
ここから先はcrkbdのカスタマイズ自慢例です
他のキットでも大体同じなので参考になれば幸いです
qmk_firmwareをForkして
keyboards/crkbd/keymaps/default
の中をいろいろいじっていきます
LEDを光らせる
キーが個別に光るLEDは難易度が高かったため、今回は裏側のLEDだけ実装しました。
アクリル板を透過していい感じに光ります。
crkbd
のデフォルトにはありませんでしたが、qmk_firmware
のドキュメントを読むと
スネークモード
やクリスマスモード
などいかにも治安の悪そうなキーワードが。
もちろん使えるようにし、調子に乗ってオリジナルのキラキラパターンを実装したり。
かなりいろいろ遊べるところです。
液晶に絵を書いてみる
ここもかなり遊べるところであります。
デフォルトではレイヤー情報や入力したキー、ロゴが表示されます
ロゴではなく、やはり絵を表示したいものです。
ハードウェア自体が横32縦128、白黒2色だったため非常に苦戦しました。
しかもbmpとかの画像形式ではなく、16進数のデータを描画していく感じ。
画像の実際のコード
意味分からんと思うので、画像化するとこんな感じ
こんなんじゃあ作業が出来ないので友人が作ったコンバーターを改造し
pngから変換できるように。
お絵描きツール
灰色については、白と黒を高速で描画することでそれっぽく表現
□■□■ ←→ ■□■□
■□■□ ←→ □■□■
□■□■ ←→ ■□■□
■□■□ ←→ □■□■
↑こういう感じの絵を用意して切り替える
試行錯誤しながらめっちゃ頑張って書きました。この作業が一番大変だった。
古のゲーム制作者の苦労が良く分かりました。
最終的に
完成しちまったついに pic.twitter.com/CwHynpuCmE
— 銀鮭 (@sirojake) 2018年8月17日
firmwareのコードはgithubにあります
make crkbd:default:avrdude
で書き込むことができます
改善の余地がまだまだある
治安を悪くする余地がまだまだあります
・今回諦めてしまった表面用のchipLEDを実装してピカピカ
・キーキャップを青軸にしてカチャカチャなるようにする
・サウンドモジュール付きのキットにする
でも使っているマイコンの容量が32kb、現時点でもかなりきつい。
「どうやって最適化しようか」と日々悩んでおります
普段はweb系しかやっていないのですごく勉強になりますね。
コンパイル後の容量なんて気にした事ありませんでした。
マイコンを変えるという解決策がありますが、そっちも知見不足のため全然分かりません。
3Dプリンターを用いてキーキャップの自作とかもやってみたいところではあります。
最初は自作キーボードなんて作ってどうするの?なんて思いましたが
すっかり沼にハマってしまいました
2万で滅茶苦茶遊べるので本当におすすめです。
宣伝
技術書典に出展いたします。
お30「riconken」でcrkbd(コルネキーボード)の本を出す予定です。
同じキーボードを複数人で作り、各々のカスタマイズ例や感想。
作り方なんかをまとめていく、というコンセプトです。
興味がある方、立ち寄っていただくとありがたいです。
謝辞
メンターとして指導してくれたりコンバーターを作ってくれた@zk_phiさん
ProMicroを壊して途方に暮れている中、2日で送ってくれた遊舎工房さん
本当にありがとうございました。
追記
「Tokyo Mechanical Keyboard Meetup Vol.5」にて
hachi8free Myonさんに写真を撮ってもらいました。
実物以上に綺麗に撮っていただき、ありがとうございます
参考
弘憲寺 心の講話 http://blog.livedoor.jp/koukenjikokoro/archives/7075884.html
キーボードの文字配列はどうして「QWERTY」なのか? https://gigazine.net/news/20160316-origin-of-qwerty/!