ツイートを減らすかわりに日記を付けることにする

2018/2/1~5

  • ツイートを減らすかわりに日記を付けることにする

    • 結果的にアウトプット量が増えてるがそのうちネタも尽きるでしょう
    • 日付を日記タイトルにするのは寂しいので、なんかサブタイトルあるとかっこいいんですけね
    • オサレ短歌でも練習しますか
    • しないです
  • メモしてたらその箇条書きメモが日記本体になってしまったのでTwitterでつぶやくのと変わりないです

    • 文脈の構造を明示できるのはいいんじゃないかな
    • 一つのテーマをまとめて記事にするのってすごいむずかしくないですかね
    • 日記なのでそんな必要ないのだけど、思考が注意散漫なのでまとまりがつかない
    • 多分岐的な散文も書いている身としては小気味よい
    • 日記に書く必要のないことも沢山有る
    • でもそれを言語化できると、概念として扱いやすくなるのでできるといいのかもなあ
    • 一々、行頭にマイナスいれるのがめんどくさいので他の構造化できる散文表記法あるだろうから次からそれ使おうな
    • てかもっとまともな書き方しろよ
    • でもこれはこれで良いのです
    • プレビューしてみたらすごく読み取りづらい。やっぱやめよこの記法

  • 読書
    • パタヘネ本とりあえず読んだ
      • 上巻後半と下巻さっぱりです
      • つまりほとんどさっぱりです
      • また読もうね
      • まさかのダウンロードコンテンツがあるのでそっちも読まないといけない
    • 英語本進まず
      • 5ページ位読んだよ!!
    • レヴィ=ストロース 悲しき熱帯を買った
      • 松岡正剛が千夜千冊で最良の一冊として上げていた
        • 千夜千冊は全部読んだ気がする
        • 編集工学っていう語感が昔の自分の思想をとても表現していると自分で勝手に意味づけ、ファンになった
        • 心や価値観や感性を道具のように、使ったり、閉まったり、別の物と入れ替えたりできればどんなに良いかと思っていた
        • 言葉で、概念や事実や心を組み替えたり、見え方を変えたりできる技術が欲しかった
        • それはとても自由なことに思えたし、理想とした
        • いつの間にかそんなこと忘れてしまった
        • 真理への情熱という異邦人の一説がどれほど心打ったことか
        • これを読んでも昔の思考が戻ってくるわけでもないだろうが、なんとなく買ってみた
        • とりあえず楽しみです
    • 禅と日本人文化を買った
      • これはわりと最近千夜千冊を読んでほしいものリストに突っ込んでおいた本
    • TAPL本買った
      • 数式がちらちらしててアレルギーが出てる
      • 純粋関数型データ構造もさっぱりだったから、これも読めない感
      • でも読みたくなってしまう不思議

  • 音楽を聞く、読む
    • 英語歌詞
      • なんとか理解できるレベルの英語
      • うそです
        • five new old
          • Ghost In My Place
            • It's all for nothingが全体のテーマっぽい
            • 自分が幽霊なのか、幽霊が彼女に取り付いているのか、彼女も自分も幽霊なのか、愛と言う幽霊なのか、わからん
            • 歌詞をちゃんと発音してるの?って思う箇所が何箇所もある
        • 宇多田ヒカル
          • Simple And Clean
            • 光の英語版
            • でもだいぶ歌詞がちがう
            • めっちゃリスニングしやすい
            • simple and clean is the wayってなんて訳せばいいの
        • Apple Music はじめてのcoldplay
          • Yellow
          • Viva La Vida
            • 中世の戦火?
            • 大好きなBIGMAMAの金井さんがパワープッシュする曲
            • AppleのCMにも使われていたよね
        • エリック・クラプトン
          • Change the World
            • これもよく色んな所で流れてる歌

  • HOGY is 何?
    • 知らぬ間にキーボードクラスタに謎概念登場してた
    • 仮想通貨らしい?
    • GB企画したらもらえるらしいので、もらっとくか
    • 楽しそうで何よりです

  • ビットコインに対してまったくの勉強不足なんどけど
    • 現行のお金が抱える問題を、コンピューターの力で暗号と分散でアップグレートしようって認識
    • 国という共同体がお金の価値を担保しているのを、もっと広い共同体の技術で価値を担保するようにしようってことなのかな
    • 最初に少ないコストで参加していた人達がボロ儲けしてるのは商売的に考えれば当然ではあるのだけど、もやもや
    • 将来的に普及するかもしれないことを考えれば、まだまだ「最初に少ないコストで参加した人達」になれるって言うことだろうか?
    • 新しい価値と既存の確立された価値を交換できるっていうのはどういう仕組なんだろう?
    • だれがそれを現行のお金に換金してるのか
    • 仮想価値ビジネス、ただのマネーゲームになってるのかな
    • ブロックチェーン技術自体に価値があるのは確かなんだけど、現状でどうマネタイズするかっていうとそうなってしまうんかな
    • 将来社会がブロックチェーン的な技術を採用するとしても、結局国家単位で別々のアルトコインになる気もするけど
    • いろいろ知識不足でわからん

  • Twitterを見る頻度を減らす
    • PCのサブ画面にTweetDeckひらっきぱなしにしたり、休み時間のたびにスマホTwitterアプリ開いちゃうのはよくないよねって思ったので
    • 今まではキーボードリストの80人ほどのツイートを全部追っていたがそれをやめた
      • 文脈やイベントは追えないが、今まではそれを見逃すまいと必死だったので、もっと楽にしようと
      • とは言え、見ちゃうよね
    • Twitterは僕の人生をちゃんと豊かにしている
      • 孤独に効く薬であり孤独を際立たせる悪夢
      • クソみたいな愚痴や小言を吐き出すせることはすごい精神安定につながる
      • 完全に辞める必要はまったくなくて、メリットとデメリットのバランスを他の状態も考慮しながら、摂取していくのがいいのかな
      • 実在的に口頭でおしゃべりすることにコストを感じている人間としてはTwitterはすごく良い場所
        • 他人とのおしゃべりは楽しい
        • 他人同士のおしゃべりを聞くのも楽しい
      • いいねしてもらうことはうれしい
        • とても恥ずかしくて認めにくいのだけど、これはありありとした感情でそれを表現することも良いことだと思う
        • だから自分もいいねをする
        • でもいいねしてもらっているから、義務感で返している節がある
        • と言うと言い方が悪いけど、好感を与えてくれる相手に自分にも好感を持ってもらいたいと思う
        • となると、いいねが偏る。
        • いいねしてくれる人と自分がいいねをする人が毎回同じ人になる
        • それはそれでなにも問題ないんだけど、ふと俯瞰してしまう
        • だからって他にいいねする宛も無い
        • 自分が積極的にいいねするのは、いいねしてもらってるから
        • それを逆にしてみると新しいコミュニティーに好感を持って参加できたりする手段たりえるのか
        • でも、何も面白くもない人からもらう、いいねはとくになんとも思わなかったりする
        • うーん
        • いいねってちゃんとしたコミュニケーションメソッドなんだなって思う
        • それの効能は受けての解釈しだいでこちらは知る由もない
        • とりあえず、僕が受け手となった時、それは良いものとして解釈されるよ
      • 日記つけるのも、読んでくれる人がどこかに居るんじゃないかと言う期待があったりもするのだよなあ
      • あー恥ずかし
    • いいねで存在感を発揮できない
      • 揮発する存在感
      • 積もる危機感
      • もう終わりです
    • 空いた時間を埋めたのは音楽と読書と動画と日記と無
      • モンハンワールド実況動画視聴で休日と視力が溶けていった
      • ゲーム実況を永遠と見ると後々、無を視聴した気分になる  - 自分でプレイすればどれほどに有意義なことか  - せっかくのコンテンツを台無しにしている感ある
      • でも時間が無限に消費されるのもなー

  • 東京グール:Re最新話をチラ見
    • 精神世界っぽいところでリゼと対話
    • カネキは自分が理性を失っている間に人を大量に殺めたを知る
    • 感想
      • それをカネキ一人では受け入れるすべはなさそう
      • でも、それのおかげで助かった仲間がいることも確か
      • 有馬もエトも理想のために敵を殺め続けたし、あくまでカネキの理想が、絵空事が崩れたに過ぎない
      • 結局、トーカとヒデが受け皿になるし、カネキが共通の敵となったことでグールと人が一時的にでも停戦状態になった
      • カネキは自死か出頭で処刑か地下に閉じこもるかで、罪を償うこと選びそうだけど周りにその意志すらも変えられそう
      • 人も龍は自らの罪と言い、過ちを認め歩み寄るのかな
      • そこのピエロなりVなりがもう一騒ぎしそう

  • キングダムハーツ キー バックカバー見た
    • キーブレード戦争へ至るお話
    • マスターオブマスターとか言う杉田とその6人の弟子の話
    • キーブレードって選ばれし物だけがさずかる特別な物だったはずだけど、数がインフレしすぎて萎えそうでならない
    • おとぎ話と呼ばれるほど昔の世界で世界の仕組みもまた別の物だと説明されているので、まあキーブレードも別物ってことで
    • となると、いつの時点でまるでキーブレードに意思があるかのような設定になるのか
    • KH2のシークレットムービーのワクワク感はすごかった。今思えば、キーブレードの墓場って設定がいろいろちゃぶ台返しだけど
    • ゼアノートの設定がややこしすぎてめんどくさい
    • KH3でたらPS4買うぞ!!
    • 買わないです

  • MOD-M GB
    • 集金しました
    • 発送しました
    • 何度も確認しました
    • これでミスがあったらそれはバグなので許して
    • 梱包作業が大変たいへん
      • 注文数と住所と注文した方がちゃんと一致しているかの確認作業がつらい
      • 不安になる
      • もうやりたくないお...
      • Google Formからcsv出力
      • Paypalcsvインポート
      • これで無駄な確認作業は減らせるはずなんだけど
      • 途中手作業で発送用ラベル生成したから確認工程数が増えた
      • といってもRubyスクリプトなので基本的には問題ないはずだけど
      • 不安になる
    • Paypal手数料が結構効いてくる
      • 今回は400円前後
    • 送料の見積もりが甘かった
      • 200円ほどずれてしまった
      • まあ合格点でしょ
    • あとは報告待ち
    • ミスった時のリカバリープランが無いので死です

  • TRON Keyboard
    • Elecrowさんからプレート来ました
    • 結構幅がでかくなってしまった
    • ダイオードが足りなかったので発注
    • MOD-Mで作ろうかと思ったけど、スイッチが2個足りないので端っこの方でごまかす
    • ふつうのProMicroではピン足りないのでピン数が多いProMicroを発注
      • しかし、aliexpressから届かず
      • 別のショップから再チャレンジ
      • まただめだったら、おとなしくIO拡張使おうね

  • Helix届き始めているみたいですね
    • アルファテスターとして参加していていた
      • 複数行をサポートするPRを送ったりしていた
      • 初めてのPRだったので、結構拙い感じだったがなんとかマージしてもらった思い出
      • OLED芸を何個かやったりしていた
      • 直接ドットを打ち込んでいただけで、画像をOLED用のデータに変換するような芸当まではできなかったので広がりがないまま放置してしまった
    • テトリスでもつくるか
      • でも、キー送信を全部乗っ取ってテトリスモードにしないと遊べないんだよな。そのやり方がいまいちわからん
      • AIでも作って自動でテトリスが積み上がっていく感じになれば面白そうだけど難易度高いね

  • Kinesis結構いい感じになってきました
    • ある意味エンドゲームだと思う
    • タイポめっちゃ多いけど
    • キーボード勢はこれを経験すると一つ道が開けるんじゃないかな

  • 眼精疲労きついです
    • ここ5年位ずっとひどい
    • オタクのみなさんは眼精疲労でおなくなりにならないんですかね
    • 「オタクじゃないです」
      • これすき
      • 明白な自己矛盾系フォーマット好き


Craven (Keyboard) の感想 - 15 min/d

  • @bouzuyaさんからcravenの感想頂いた
    • なんかしっくりこないとのことです
    • 僕もそう思いました
    • スイッチはロープロの白軸でクリックなんだけど、クリック機能を取っ払った特殊スイッチ
    • クリック音に嫌気が差したので外しました
    • 内角の傾きについては、TRONキーボードの論文で内角25度、HとGの間が6センチが良いと書かれていたので試してみた次第です
    • ロープロのキャプはちょい小さめなのでキーピッチを少し狭くできています
    • アイコン気に入っていただけたそうです。よかった
    • 順調にキーボード沼に沈み込んでいて何よりです
    • そういう意味ではcravenは一つ経験値になったのではないでしょうか
    • おまけとしては十分でしょう
    • ゴミ増やしてごめんね感も無きにしも有らず

  • お薬
    • まさかのジプレキサ追加
    • 0.05mgとかなり少量
    • セロクエルは睡眠や鬱には効くが不安にはあまり効かないらしい
    • ジプレキサは不安に効くとのこと
    • 副作用で過食、太るよと強めに言われた
    • 体重欲しいのでむしろありがたい

2018年1月まとめ

2018年も早くも一月が過ぎた。この調子で行けば明後日当たり、正月が来そうなスピード感ある。

この1月何をやっていたか。

  • Twitterで年越し
  • ガキの使いとおもしろ荘で初笑い
  • ラミクタールを増量した
  • エビリファイを減薬した
  • コートとジャケット買った
  • パタヘネ本読み始めた
  • ロイヤル英語文法読み始めた
  • 電子工作入門以前を読み終わった
  • Biacco42さんとPekasoさんの薄い本読んだ
  • 東京グール14巻を読んだ
  • TAPL本買った
  • TRONキーボード作れなかった
  • 無線レツプリ諦めた
  • Kinesis Advantage買った
  • MinidoxとCraven作って買い取ってもらった
  • TRONキーボードリベンジするべく、アクリルプレートを発注した
  • Re-CapでCanvasルーン文字と格子型修飾キー買った
  • Helix GB参加した
  • Mod-MスイッチのGB企画した
  • ゼノブレイド2面白くなかった
  • ゼルダのDLC2できなかった
  • イカ2が嫌になってきた
  • Switchを手放した
  • 歯医者通ってる
  • LOST見終わって号泣した
  • パタヘネ本面白くなってきた
  • five new old聞き始めた
  • 久しぶりにHaskellへの好奇心を思い出したが難しさも同時に思い出し心折れそう
  • Twitter依存度を下げようと心がけている
  • Twitterの代わりにFeedlyを見るようにした

こう書き出してみると以外と多い。無を生産している自覚しか無かった


冬休み

やはり無をしている以外の記憶がないので、もう少しこまめに日記をつけると無が可視化されるかもしれない。 暇をすぎて無だった。その無を読書に使うなりすればよかったのに、やはり無は無。

オックスリー

ラミクタールを増やしたので様子見をしていた気がする。量が増えたが3錠が1錠にまとまったので飲みやすくなった。 エビリファイは副作用で睡眠に悪さをしている気がしていたので、無くしてみたが睡眠は改善されず。 無くしたデメリットの方がめだつ。鬱っぽさがかるくぶり返してきてる。 眠剤代わりにリフレックスメイラックスを飲んでいるが、これを他の眠剤で置き換えたいが、その2つの薬は不安やうつにも効果があるので、 一筋縄ではいかないだろう。セクロエルを試してみたい。セクロエルも睡眠と不安を改善させる効果がある薬なので、私のような器質性には効きそう。

オックスリーを貰いに行った帰りに服を買った。一年ぶりくらいに服屋入った。前回は発作が起きて死にかけた。 コートを買ったが完全に冬用ではなくて、秋春用だったので失敗した。ジャケットはカジュアル用途で買ったが思ったより高かったので、おっ?ってなった。

テレビ

ガキの使いを見た。はまちゃんのエディ・マーフィーのパロディはツボった。 人種差別だと言うことで炎上したらしいが、お門違いも良いところだろう。 あれを差別という人達自身の差別が露呈しているだけのことで、制作側はそのような意図はないだろう。 他にも色々正月特番をもっと見たかった気もする

読書

ひさしくまとまった読書などしていなかったが、いくつか本を買った。

パタヘネ本

まずはパタヘネ本。とても有名な本でで某大学では教科書として使われているらしい。 MIPSというシンプルに設計されたアーキテクチャを元にコンピュータの低レイヤーを説明している。 これを買ったのは、ラムダ計算がどのようにアセンブラに変換されるのか知りたかったからだ。 これについては、2章で手続き呼び出しを説明しているのでそれでだいたいわかった。 スタックフレームにリターンアドレス、呼び出し元の状態、引数、ローカル変数、などを積んで、手続きが終わったら、 それを元に呼び出し元の状態を復元してあげるだけのことだった。 まあ、知っていたと言えば知っていたのだけど、アセンブラレベルでの理解を少し深めた。 結局コンパイラが頑張ってあげる必要がある。 興味はここから、低レイヤーのセキュリティや、型推論、System F、定理証明などに移っていくと思う。 なので、TAPLで知られる、型について詳しく説明されている有名な本を買った。値段が高い。分厚い。読めんのかこれ。

英語本

次にロイヤル英語文法。私にはまだ早かった。 しかし少し読んだだけだが英語文法に対する感覚がすこし変わってきた。 もっとやさしい本から始める必要があるが、少しずつ何度も読んでみたい。 これの動機は英語力が無だから。比喩じゃなくてほんとに、学歴が無。したがって英語力も無。その他の素養も無。 プログラミングの趣味をもっと楽しみたいからで英語が必須になるので勉強しなければと、ここ10年位思っていて、ようやく最近手を付け始めたが続く気がしない。

電子工作入門以前

電子工作入門以前、これはマイコンの表面実装などができるようになりたくて、基本的な部品の仕組みや使い方を知りたく買った。 数学の素養も無なので、電子工作には数学の知識も必須なのだと思い知った。ツライ。 コンデンサ、コイル、抵抗、電子、などについて優しく説明されているので超初心者にはいい本だと思う。

漫画

東京グール:Re14巻も読んだ。前巻が読むのが辛かった。 前巻は主人公の仲間たちが追い詰められていき、そこに救世主的に登場した最強主人公も負けてしまい、読者を絶望の淵に立たせ、 さらに崖から突き落とすような展開は心えぐられる。 それと打って変わって、今回は凄惨は状況をうらはらに、死んでいたと思われていた主人公の親友がなぞの復活。 快活なキャラで、けして交わることのない敵と味方を一つにまとめあげ、新たに出現した災悪を倒すべくすべてのキャラが己のすべてを露呈させ集結する。

薄い本

薄い本も読んだ。Ergo42の作者@Biacco42さんが出したKbD本と、自作キーボード界隈の重鎮PekasoさんのBYOK本。 KdD本はフルカラーで大まかな自作キーボードの紹介と基板作りに関して記載されている。レイアウトが完全に雑誌でビアッコさんプロの方ですかって感じがした。 BYOK本は圧巻。けして薄くない。作者の豊富な自作キーボード作りのビルドログやキースイッチの仕組みやQMKファームウェアについて、などなど網羅されている。 これ一冊で自作キーボード沼に肩まで浸かれる。

キーボード

f:id:kumatoki:20180201130931j:plain

今年もまだ抜け出せないでいる。 今後製作予定の物だけで、Helix、TRON、Preonic、Plack Lightと色々あかんことになっている。助けて

TRON

TRONキーボードはキーピッチを16mmとしているのでそれを模範すべく小さいキースイッチを探したが無かったので、仕方がなく12mmのタクトスイッチを採用した。 それをマウントする基板も設計したがタクトスイッチではキーボードのスイッチとしては無理があったので完成させることなく放置してしまった。 基板作る前にタクトスイッチがどのような感触なのか確認すべきだったが12mmならだいぶましだろうと、 安易な考えで見切り発車してしまったので、さすがに馬鹿なことをした。 ちゃんとしたCherry MX系スイッチでリベンジするべくデザインし直して、アクリルプレートを発注した。今回は空中配線で作る。 PCBマウントにして、キースイッチの間隔を最大まで小さくすれば16mmピッチで作れるはずなんだけど、それに合うキーキャプが無い。 普通のキーキャプは19mm角だが、16mm角のキーキャプを見つけたのでキーピッチを17mmでデザインすることができた。 今回はPCBマウントではなく、プレートマウントなので、いつもは3mm厚のアクリルを使っているが、強度不足を補うため5mm厚の物にした。 まあ、結局は実験的な物になると思うので実用性は二の次だ。

f:id:kumatoki:20180201131105p:plain

無線レツプリ

無線レツプリ諦めた。ESP32のライブラリがいい感じに整備されてきているので行ける感じがしていたが、消費電力の問題や、 nRF52を使って実装しようとしてる方がいたのであきらめです。nRF52に対してESP32の有利な点は値段です。しかし消費電力では負けます。 正確に計測しているわけではないのでなんとも言えないけど、かなり不利な気がする。

Minidox

Minidoxも作った。作り方はレツプリとほぼいっしょなので、10個位レツプリを作った私が失敗などするはずがなかったがやらかした。シット。 Pro Micro裏のスイッチが効かなかったのだ。これはPro Microを外してから治す必要があるのだけど、これはかなり頑張らないと外れない。 かなり時間と根拠を費やし、Pro Microを外す技術を習得したのが救いだったが、結局ダイオードがハンダ不良だっただけのことで、Pro Microは外す必要がなかったのだ。

(´・_・`)

Minidoxはやっぱり私では使いこなせないと判断し、売りに出した。レツプリを2台も買っていただいているお得意さんが今回も買ってくれることになった。 お世話になっているので、おまけを付けることにした。

Craven

ブログ記事にはしていなかったがCravenというキーボードをオリジナルで作っていたのでそれをおまけとした。 CravenはKailhのロープロスイッチ専用でAdafruitのFeatherというBluetoothに対応したマイコンとProMicroの2つに対応している、薄型、一体分離型、40%キーボードだ。 一応、無線化に成功したがマイコン側のピンアサインを理解してなくて、ジャンパが必要になってしまったり、自分でファームウェアを書く羽目になったりで面倒だった。 ProMicroは問題なく動いた動作しQMKにも対応した。 基板が薄いのでボディがよじれていて、がたつきがあるので実用に耐えなかったが、基板を二枚の間にスペーサーを大量に噛ませ、サンドイッチプレートとした。 なんとかそれで収まった気がするが、はやりよじれが残っているので、力任せにボディを捻って歪みを調整する必要がある。

Kinesis

Kinesis Advantageを買った。安く売りに出していた方がいたので譲っていただいた。 正直破格値ではないかと思う。ありがたい。 これを買った動機としては、40%が辛くなってきたことだ。キー数の少なさをレイヤーで補うやり方は脳に負担がかかる。 人によっては苦にならない方も居るようだが、自分には違和感が残り続け60%に手を出したくなった。 しかし、40%を使っていた理由としては、それ以上のキーに手首を固定した状態では指がとどかないからだ。 Kinesisではそれをお椀型にキー配列を湾曲させることで解決している。 その意味においては素晴らしいが、少しこの湾曲と自分の手が合っていないような気も最初はしていたが次第の慣れてきた。 とここまで文章を書いてきて腕が痛くなってきたので、うーん。。。

展望

TRONキーボードを作ろうと思ったのも同じ動機で、60%かつ指が届く。このことをキーピッチと放射状に広がる配列で実現しようとしているからだ。

「エルゴノミクスキーボードはKinesisの様なお椀型と、TRONの様な傾きを上と内側に10度、左右で分割されたキーの内角が25度になるようにしている一体型分離式、 のふたつに分類できる」と言う趣旨のツイートをNISSEのShiki先生がされていた。

Ergodox以降流行りの完全分離式は一体型分離式より劣ると言う研究結果があるそうだ。その点において次は一体型分離型が流行るかもしれないが、 完全分離式のErogdox -> Let's split -> Helixで大盛り上がりの自作キーボード界隈にそのことを周知する必要があるし、 Helixのようにかっこよく、値段も抑えめで、お祭りのようなイベントが行われる必要もある。 そこを私は開拓できる可能性があると考えるが、モチベーションが無い。無いこと無いんだけど、技術力、企画力、プレゼン力などなど足りない物が多すぎる。 とは思いつつ、ぐだぐだいってないで、魅力あふれる商品を作り上げ、コミュニティーに提示することができればある程度ニーズを掘り起こせるかも知れない。

Mod-M GB

Mod-M GBを勢いでやることになった。スイッチは届いたので後は、請求と発送。 結局、2500円位安く上がっただけなので、GBの手間を考えれば、仕事をする当事者としてはあまりいいGBでは無かった。 まあ、参加してくれた方にメリットは有ったことは確かなのでそれはそれで。

ゲーム

ゼルダ

Nintendo Switchを半年くらい前に買った。ゼルダがやりたくて我慢できなかった。 オープンワールドアクションをゼルダの世界観でプレイできるのはもう最高に最高。 150時間近くプレイした気がする。とても良い時間だった。 DLC1は覇者の試練だけやった。今まで手に入れてきた装備全部剥ぎ取られて、裸で敵の前に放り出され続ける。 頭をフルに使い、限りある資源や武器を使い攻略していく。最高に最高。 DLC2はもう飽きてしまった頃に降ってきたので、まあいいやとなってしまった。

イカとゼノブレイド

ゼルダ以外では、マリオカート、なんか腕が伸びるやつ、ストリートファイターII、マリオオデッセイ、スプラトゥーン2ゼノブレイド2などを買った。 イカ2以外個人的には外れだった。しかしイカにかなりハマった。これも150時間位プレイしてそう。 結局SとA+を行ったり来たりしている程度の実力しか身につかなかったが、最高に最高。 オンラインゲームなのでやはり不快な思いもする。コミュニケーション手段が最低限に絞られているが、イカ状態と人状態を繰り返す、煽り行為が最高に不快。 あと病気のせいもあり、プレイしていると心臓が張り裂けそうになるし、震えが止まらない。ノルアドレナリン過多によるある種の発作状態だと思う。 それがなければもっと楽しくプレイできていたし、それがあっても死にそうになりながらプレイしてたので完全に最高に最高。 ゼノブレイド2については、ゲスの極みなおやさんが人生で最高のゲームの一つだとRebuildで言っていたし、たなこふ先生も絶賛だったのでかなり期待をしていた。 だが期待はずれだった。テンポが遅い。アニメーションがつまらない。バトルが作業感。 プレイを進めていけばある程度面白くもなっていくのだろうけど、そこまでもたなかった。

Switchドナドナ

まだやりたいゲームが有ったが、それ以外に時間も使いたいためSwitchを手放すことにした。 その趣旨のことをつぶやいたら、それにリアクションしてくれた方がいたので売りに出してみると速攻で売買成立となった。 その間わずか一時間である。そのへんのゲーム屋に持っていけばもっと高く買い取りしてくれたかもしれないが、 Twitterでお世話になっていた先生に買っていただけることになったので良いところに嫁に出したと思う。

その他

歯医者に通っている。体を壊していこう行けなかったので3年ぶり位の歯医者だ。 神経取る必要があったり、銀歯被せる必要があったりで散々だったし、発作が起きかける。これが一番つらい。

LOSTを全シーズンようやく見終わった。10年ぶり位の視聴になる。 もうね。最高に最高。 現在と過去。現在と未来。一話の中で交互にフラッシュバックして描いている。 「島」に選ばれた人たちがひとつの飛行機に導かれ、その飛行機は「島」へと墜落する。 その島から生還すべく、主人公達は奔走するが、あるものは島を特別な聖地であること体験し、あるものはそんなものは幻想で無意味であると言う。 島に巣食う謎の黒い煙、世界を救い続ける番号を入力しなければならないハッチ、先住民たち。 そして「島」。過去、未来、現在、運命が交錯し巧みに物語は盛り上がりを続ける。 もうね。最高に最高。細かい所はまあいろいろ回収されてないけど十分です。

なかなかパタヘネ本読む続けられなかったが、読み進め面白くなってきた。 しかし浮動小数点の実装についてはわかりみがわからん。

five new old。最高に最高です。 エモ、ロック、パンク、シュゲイザー、ジャズ、ダンス。融合しまくってる。 最高に最高。

Haskell難しいです。ただ使うだけならなんとかなる。革新的なライブラリとかちょこちょこでてくるのでそれらを理解しようと思うとつらい。 無駄に抽象化されていて実装が追いづらい。type familyとかGADTsとか多用されると頭が追いつけないので終わりです。 ただそれだけ勉強しがいがある所でもあるので、気が向いたらやっていきたい。

Twitter依存を下げようとしている。Twitterしてる時間を読書にあてたい。無理みたいです。

2017年まとめ

年末。病気とキーボードの一年だった。 病気の話は前回したから置いておいて、キーボードを振り返る。


1月、Ergodox EZを買った。その理由は首への負担軽減。 結局病気と関連してる話になるんだけど、病気になってPCもろくに触れないような時期が続いていた。 しかし1月ごろから症状が好転。またプログラミングに向かことができた。 それと同時に肩こり、首の疼痛、頭痛、眼精疲労などの症状がPCを触っていると出た。 それを少しでも緩和しようとPC環境の改善にラップトップスタンドとErgodoxを買ったのでした。

Ergodoxになれるまで数ヶ月を要しその間毎日のようにタイピング練習していた。 ある程度使えるようになり、Ergodoxに愛着が湧いてきた。 一方で打鍵音が気になるようになり、O-ringやZealencio Slient Clipなど買ったりした。 そんなこんな調べているうちに深遠なるキーボード沼の岸辺に立っていた。

岸辺でじゃぶじゃぶと遊んでいる程度だったが、Twitterをキッカケに沼の奥へと足を進めていった。 Twitterにはごろごろとすごい人達がいる。毎日のようにキーボードに関する情報が飛び交っていて、それを肴にワイワイしてる方々が目に入ってきた。 キーボードその物の魅力もそうだし、それを取り囲む方々の魅力も相まって、そこに近づいて行きたくなった。 そうしてるうちに自分もキーボードに関する知識を蓄え、技術を養い、キーボードを自作するようにまでなった。 さらにそれを売り出し、普通では関われないような方ともコミュニケーションをとれたり、縁が出来たりした。 それらの活動から得たなかで大きな自慢があるとすれば、完全オリジナルのキーボードを作れるようになったことと、RubyのMatzにフォローしてもらったことだろうか。 「MatzにTwitterでフォローされてます」の一言で転職できそうなトロフィーかもしれない。

f:id:kumatoki:20171229230449j:plain


そういえばQiitaにしょうもない記事書いてたっけな。ただ2つほどリアクションが貰えたのがあった。 RustでテトリスとSECDマシンを実装した記事。 テトリスは皆さんご存知テトリス。フロントエンドのエモい人がブクマしてくれたお陰で幾つかブクマが付いた。

qiita.com

SECDマシンは古い関数言語向けのVM。これをつかってLISPインタープリターを作った。 HaskellとRustで実装したのだが、とくに性能はでなくて、一度書いたっきりで終わりかとおもいきや、 Rustのマッチョな人がコメントとコードをくれたり、Rustの紳士な方がプルリクくれたりと、拙いコードに手を入れてくれて嬉し恥ずかしだった。

qiita.com


仕事のことについては語ることもない。 抽象的に言えば、身体が壊れたので量をこなすために質を落とした。 しかしそれではだめだと、病状が回復するに連れ思うようになった。 質と量を両立できれば一人前というか一流だろうと思う。 どちらかを取れば、どちらかが落ちる。自分はまだこのようなレベルを行ったり来たりしている。 今の仕事は自分の身体を考えれば続けられるかとても不安があるが、どのような仕事も病気の前ではそんなもんだろうとも思うが、 その考えこそ病気に支配されているといえるのかもしれない。


さて、来年はどうするか。 目の前の目標があるとすれば、完全無線レツプリの開発。 これに関しては12月後半からファームウェアの開発の下調べをしているが順調に難航している。 esp32を使えばBLE開発基板が700円くらいで買えるのでそれを採用できるようコードを読んでいるが、 初心者むけの高レベルな抽象化レイヤーが無いのでBluetoothの基礎のから学ばねばならないし、APIも実際のコードレベルになるとレイヤーが入り乱れ、かなり難しい。 ただ、もう一つ良いBLEモジュールがあって、nRF52という物でモジュール自体は1000円ほど。これに関してはAdafruitという会社が作っているArduino向けのAPIがあり、 それを使えば容易にBLEキーボードを実装できる。しかしモジュール自体はそう高くはないが、 これを実際に使いやすいように色々実装したAdafruitの開発基板となると5000円近くする。 レツプリだと2つ必要なのでそれだけ一万円とかなり値が張る。 金で開発難易度を下げるか、努力で原価を下げるか、現状では後者を実現するべく取り組んでいる。 ファームウェアさえできてしまえば、基板もケースも設計できるので見通しが立つ。 これが完成した暁にはGroupBayなどもやってみたいところだがクリティカルなディスパッチは苦手なのでたぶんやらない。 ハードの知識があれば自分でnRF52の開発基盤を作ることができ、開発費も下げれそうな物なので、esp32での開発が完了したらそちらの知識を勉強したりもしたい。 年末のコミケでは自作キーボードの手引となる薄くない本がたくさん売れたらしいので来年の界隈はもっともりあがるのだろうね


はたして、来年はキーボード沼から這い上がることができるのだろうか。 とは言え、沼から抜けた所で何すんのってなる。 何しようか。うーん。勉強したい。病気に子供の時から支配されていたので教養がなく、色々困ったりする。 何を勉強しようか。うーん。英語かな。英語はハードとソフトの開発に必須なのでこれができるかできないかで、やれることがまるで違ってくる。 どのように学べば良いかもよくわからんけど、少しずつやっていければ良いんじゃないかな。 あとは、そうだなー。うーん。セキュリティかな。CTFにすこし興味が出てきた。ジェイルブレイクとかっこいいじゃん。子供っぽいけど、実際はとても地味で芸術的。 そしてそして、うーん。筋トレか。体と心のメンテナンスを怠らないようにしなければ、また病状が悪化しかねない。病気の本質的にまた悪化するのは確定的なんだけど それでもできることはあるはず。


最後に今年はSpecial Favorite Musicというバンドを知った。 もうね、最高。目覚ましにもしてるし、寝る前にも聞いてるし、ほんと最高。 語彙がないので最高しか言えないが、今年はこの音楽が私の人生を大きく色づけた。 www.youtube.com

まぁ、今年も生き抜いただけで御の字でしょう。良いお年を。

双極性障害と言う病気を患っています。

いわゆる、躁うつ病です。うつ病と名が入っていますがその2つは症状こそ共通点があれど、全く違う病気です。 メカニズムが根本的に違います。うつ病は後天的な病気ですが躁うつ病は先天的な病気です。 つまり、うつ病は治ります。躁うつ病は治らないのです。

そんなわけでなかなか大変な持病を抱えて生まれてきてしまったのです。 子供の頃から病気に悩まされてきました。病気が僕の人生に対してとても支配的です。 蝕まれていたのは精神だけだったのでなんとか理性で心を守ることができたのですが、2016年頃から体が壊れはじめました。

最初は頭痛。頭痛が何日も治らず病院に通い始めました。アセトアミノフェンが処方されましたがまるで効かず。 次にロキソニン。ある程度効きましたが、頭痛はそれなりにストレスを感じるレベルに残余していました。 頭痛は続き、こんどは首の疼痛。痛いではなく重い。そんな感覚でした。 次第に眼精疲労がひどくなり、テレビを見ていることさえ辛くなり、しまいには不眠になりました。 とくに不眠の症状がひどいもので、寝付けない、眠りに落ちてもすぐ目覚める、現実と区別の付かない悪夢、金縛り、呼吸困難、などです。

症状はさらに悪化し、パニック障害と言う病気も引き起こしました。 所構わず、わずかなストレスを感じるだけで発作が起き、全力疾走した後のような動悸、目眩、過呼吸、震えなどの症状がでます。

これらの症状が二月ほど続き、地獄のような日々でした。

やがてある薬が処方されます。リフレックスと言う薬です。 リフレックスはNaSSAと呼ばれるタイプの抗うつ剤です。 この薬が私には劇的にフィットしました。不眠、頭痛、首の疼痛が緩和され、一気に地獄から地上へ這い上がることができたかのようでした。 しかし、症状はまだまだ残余していました。動悸、極度の疲労感、パニック、それらは午前中はかなりマシなのですが午後をすぎると顔を出し始め、 常に疲労困憊といった状態になります。そこで助けになったのがワイパックスという薬です。これはベンゾジアゼピン系の抗不安薬です。 このワイパックスも劇的に症状を改善させますが一時的なものでどうしても耐えられないときだけ使用していました。

このリフレックスワイパックス、この薬が効いたことでようやく自分は精神病なのではないかとおもいはじめました。 それまで精神疾患だと思っていなかったのです。だってストレスにさらされているわけではなかったのですから。

それまで通っていた内科のクリニックから精神科のクリニックへ移りました。 精神科の先生との最初の面談ではじっくり話を聞かれましたが薬の変更もなく診断名もなく、あまりパットした感じではありませんでした。 そのまま半年ほど時間が薬だと思い、症状を我慢しながら、薬を飲むだけの日々を過ごしていたのでした。

そして2016年の終わりごろ、あらたにエビリファイと言う薬が処方されました。1mgだけの処方で、これは抗うつ剤の補強と言う形だとおもいます。 これまた劇的にうつ状態を改善し、いままで趣味のプログラミングができなかったのができるようにまでになりました。 これでもう快方に向かうものかと思いきや、パニック発作にまた襲われ、動けなくなってしまう自体になりました。 これを先生に伝えるとこんどはSSRIと呼ばれる抗鬱剤を処方されました。 はじめはレクサプロ、これは副作用が強く出てひどい風邪を引いたようでした。 次にジェイゾロフト、これも同じような副作用がでましたがだいぶ軽めだったの二月ほど続けましたが、あまり効果が出ず。 次にパキシル、これは副作用がほとんどなく悪くないように思えましたがやはりパニックは改善せず。

SSRIの総当りの結果もむなしくパニックは残余したままでした。 そこで次の薬は炭酸リチウム、リーマスと呼ばれる古くからある薬です。 これがそこそこ効いたのです。そこで先生は家族を診察へ連れてくるよう私に言いました。 家族との話を終えた先生は私に双極2型という診断を下しました。 病気を発症してから一年ほどたったあとのことでした。

そして新たの薬が処方されます。ラミクタールです。これは双極性障害てんかんの治療に使われる非定型抗精神病薬です。 ラミクタールは中毒疹などの重篤な副作用のリスクがあるのでゆっくりと量を増やしていきます。 この薬によって病状はさらに好転していきました。パニックの頻度や重症度も軽くなり、理由のないうつ状態にも効いてきました。

現状の薬の処方はこうです。

ラミクタール 150mg、エビリファイ 2mg、メイラックス0.5mg、リフレックス7.5mg、です。

たぶんリフレックスエビリファイメイラックスはわりとすぐ減薬してやめれそうです。 しかし、まだ症状は残っていますのでラミクタールを増やすことになるか、新たな薬が増えることになるでしょう。 薬の処方がシンプルになることは病状をコントロールできているということになるのではないでしょうか。 いずれにせよ、発症初期とくらべると天国と地獄の差ほどに改善しています。これには薬に力に驚くばかりです。

しかし一年半たった今でもパニック障害はなおっておらず、電車やバスはおろか、ショッピングや車の運転もまともにできない状態です。

ひどいうつ状態の時もありました。死も視野に考えていました。しかし考えるほどに自分はもっと生きていたい。という心を感じるばかりでした。 私のような病気を持って生きていくことは並大抵のことではありませんし、私には他人にとっては普通のことがまるで、できはしないのです。 今後どのように病気と向き合っていくか、抱えていくか、ともに歩んでいくか。どのようなことになっても良いことだと思っています。 すくなくとも今はやりたいことが沢山あるのでしばらくは私をこの世にとどまらせてほしいかなと思いながら筆を一旦下ろすしましょうかね。

NISSE mini 作ったよ!

自作キーボード Advent Calendar 2017の二日目の記事です。

NISSEを小型化したキーボードを自作したので今日はそのお話。 おこがましいですが便宜上NISSE miniと名付けました。 NISSEについてはサイトを見てください。

NISSEを作られているshikiさんのblogにこのような記事があります。

エルゴノミック キーボードの簡単な歴史

この記事で説明されている通りNISSEは長いキーボード研究を参考に作られているのがわかります。 最近自作キーボードをチョットダケデキルようになったので作ってみようと思い立ったわけです。

コンセプト

そのまんまNISSEでは私の好みに合わないところがあります。 まずは大きさ。ファンクションキーなどはほぼ使わないので削除。 さらに数字行、これは私の手の大きさでは届かない行なのでこれも削除。 両サイドの記号列も手がとどかないので削除。

さて、減らした数字や記号、時々たまに使うかもしれないFNキーなどはどうするの? そう思われる方もいるかもしれませんが、ちゃんと入力できるので後述。

キー数も減らしたら、ボディのサイズも小さくできるので余分な所は削除。

さてさて、つまりはNISSEを小さくしたNISSE miniが私の作りたい物のようです。 コンセプトが決まった所で形をつくっていきましょう。

デザイン

私が使えるのはfusion360という3dcadソフトなのでそれでスケッチを書いていきます。

まずはキースイッチ。 スイッチ自体の大きさは14x14mmくらいです。 そこに乗るキーキャプのサイズが18x18mmです。 さらにキーキャプどうしが干渉しないようにスペースが必要ですね。それを1mm。 キースイッチの上蓋をあとから外せるようにするためのスキマもあけて。 それらをひとまとめにしたのがこちら。

f:id:kumatoki:20171027203600p:plain

これをパターンとコピペを駆使してならべていくわけです。 キー配置はNISSEをざっくりモデリングしました。 具体的にはNISSEの画像を先程のスケッチに寸法を合わせるように拡大して、手でポチポチならべます。 必要分並べたら外枠もトレース。 できあがりがこれ。

f:id:kumatoki:20171027203610p:plain

外枠が大きいままです。 NISSEでは上方向と内側方向に傾斜がついています。 この傾斜はとても重要で、エルゴノミクスの一部です。 斜め下の辺を基準に傾斜をつけているのではないかと思います。 なのでできるだけ斜め下の辺をイジらないように最小化できないかと考えましたが、今回アクリル加工をしてもらったサービスの都合上、寸法に制限があったのでなかなか都合良くはいかず。 ネジ穴など開けて、最終的なスケッチがこれ。

f:id:kumatoki:20171027203622p:plain

これの5枚制作。5枚っていうのもサービスの都合上。 できあがったアクリルプレートがこれ。

f:id:kumatoki:20171027204017j:plain

形が見えてきました。

キースイッチはんだ付け

今回はGateron BlueにJSpacersというスイッチ内部に仕込むO-Ring的な物を付けました。 これの取り付け作業がとてもたいへん。

f:id:kumatoki:20171027204315j:plain

プレートにスイッチをはめ込んでいきましょう。ポチポチと。 はめ込んだらはんだ付けです。 キーマトリックスダイオードなどについて説明しません。

横と縦と配線を張り巡らせていきます。

f:id:kumatoki:20171028172712j:plain

Pro Micro

キーボードの脳となるのがPro Microとよばれるマイコン。 ほかのマイコンを使ってもよいのでしょうが、値段的にも、後述するファームウェア的にもこれが手軽です。ピン数が少ないので対応できるキー数が少ないのが傷。IO Expanderなどでカバーしましょう。

f:id:kumatoki:20171028172729j:plain

今回はこれをプレート裏にエポキシ樹脂接着剤で固定して、これに配線をしていきます。

f:id:kumatoki:20171028172753j:plain

QMK Firmware

からっぽの脳に知性を宿しましょう。QMK Firmwareです。 簡単なファームウェアなら自作もそう難しくはないのですが、すでに私はErgodoxやLet's splitなどでqmk firmwareの便利さを知っていたので、今回もこれを採用。

QMK対応のやり方は別記事

さて、上記の削除されていったキー達。ちゃんと入力する方法があるんです。 LayerとよばれるQMKの機能を多用して入力できます。 簡単に言えば修飾キーみたいなもんです。 あるキーを押しながら別のキーを押すと、入力できる文字がある。それだけのことです。 具体的にはLowerキーを押しながら「q」を押すと「!」が。Raiseキーを押しながら「q」を押すと「1」が。 こんな具合に削除されていったキーを入力することができます。 もちろんキーマップも書き換え可能なのでそれらのパターンは自分で無数に定義できるわけです。

出来上がったキーマップはこちら。 記号はplanckのdefaultの配列が秀逸だと気がついたのでそれを採用。 MISCレイヤーに矢印や音量調整、音楽再生、マウスカーソル移動などの雑多なキーを配置。 真ん中4つにはよく使うショートカット、タブ移動とアプリ移動。 あれ、ファンクションキーが結局いらない子でしたね。。。

#define XXXX KC_NO
#define ____ KC_TRNS

// for MacOS
#define NEXTTAB ACTION_MODS_KEY(MOD_LGUI, KC_RCBR)
#define PREVTAB ACTION_MODS_KEY(MOD_LGUI, KC_LCBR)
#define NEXTAPP ACTION_MODS_KEY(MOD_LCTL, KC_RGHT)
#define PREVAPP ACTION_MODS_KEY(MOD_LCTL, KC_LEFT)

enum Layer {
  TOP,
  LOWER,
  RAISE,
  MISC,
};

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  [TOP] = {
    {KC_TAB,        KC_Q,             KC_W,    KC_E,      KC_R,   KC_T,    PREVTAB,  NEXTTAB,  KC_Y,    KC_U,   KC_I,      KC_O,    KC_P,              KC_BSPC},
    {CTL_T(KC_ESC), LT(MISC, KC_A),   KC_S,    KC_D,      KC_F,   KC_G,    PREVAPP,  NEXTAPP,  KC_H,    KC_J,   KC_K,      KC_L,    LT(MISC, KC_SCLN), KC_QUOT},
    {KC_EQL,        KC_Z,             KC_X,    KC_C,      KC_V,   KC_B,    XXXX,     XXXX,     KC_N,    KC_M,   KC_COMM,   KC_DOT,  KC_SLSH,           KC_MINS},
    {XXXX,    XXXX,     KC_LGUI,       MO(LOWER), SFT_T(KC_SPC), KC_LANG2, KC_LALT,
     KC_RALT, KC_LANG1, SFT_T(KC_ENT), MO(RAISE), KC_RGUI,       XXXX,     XXXX}
  },

  [LOWER] = {
    {____, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, ____, ____, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, ____},
    {____, ____,    ____,  ____,    ____,   ____,    ____, ____, ____,    KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, ____},
    {____, ____,    ____,  ____,    ____,   ____,    XXXX, XXXX, ____,    KC_TILD, KC_PIPE, KC_QUOT, ____,    ____},
    {XXXX, XXXX,    ____,  ____,    ____,   ____,    ____, ____, ____,    ____,    ____,    ____,    XXXX,    XXXX},
 
  },

  [RAISE] = {
    {____, KC_1, KC_2, KC_3, KC_4, KC_5, ____, ____, KC_6, KC_7,    KC_8,    KC_9,    KC_0,    ____},
    {____, ____, ____, ____, ____, ____, ____, ____, ____, KC_MINS, KC_EQL,  KC_LBRC, KC_RBRC, ____},
    {____, ____, ____, ____, ____, ____, XXXX, XXXX, ____, KC_GRV,  KC_BSLS, KC_DQT,  ____,    ____},
    {XXXX, XXXX, ____, ____, ____, ____, ____, ____, ____, ____,    ____,    ____,    XXXX,    XXXX},
  },

  [MISC] = {
    {RESET, ____, KC_WH_U, KC_MS_U, KC_WH_D, KC_PAUS, ____, ____, KC_HOME, KC_PGDN, KC_UP,   KC_PGUP,  ____,    ____},
    {____,  ____, KC_MS_L, KC_MS_D, KC_MS_R, KC_INS,  ____, ____, KC_END,  KC_LEFT, KC_DOWN, KC_RIGHT, ____,    ____},
    {____,  ____, ____,    ____,    ____,    ____,    XXXX, XXXX, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE,  KC_VOLD, KC_VOLU},
    {XXXX,  XXXX, ____,    ____,    KC_BTN1, KC_BTN2, ____, ____, PREVTAB, NEXTTAB, ____,    ____,     XXXX,    XXXX}
  }
};

仕上げ

Pro MicroにQMKを書き込み一通りテストを終えたら、ボディを組み立て。 ボトムプレートはあまったトッププレートを流用するというだいぶかっこ悪い感じですが、妥協です。 二枚を接着。接着面がわずかなので強度ゼロですが、これも妥協。 持ち運ばないし、まぁいいよね。必要になったら補強します。

f:id:kumatoki:20171028173316j:plain

fusion360上でスペーサーの寸法出しておいたので、スペーサーを噛ませて傾斜をつけてネジを締めれば完成。できあがりです。やったね!

f:id:kumatoki:20171027204409j:plain

感想

楽しく作れました。とくにCAD上での設計は楽しい。 砂場で遊ぶ子供のように無邪気に作っては壊しを繰り返して少しずつ要領を掴んでいきました。 そのまま3Dプリントでボディを作ろうかと思いましたが値段がかなり掛かるので今回はアクリルとスペーサーを使いましたが複雑な造形を作ろうとすれば3Dプリントが必須になるでしょう。

傾斜のつき方が上方向には十分取れたのですが、内側方向には不十分となってしまいました。 プレートの設計を妥協したのでしょうがないね。

まぁ、そんな具合に仕上がりました。次はPCBの設計にでもチャレンジしてみようかな。

(この記事はMacbookのキーボードで書かれました)

自作キーボードをQMK Firmwareに対応させる

pro microとUnix系OSの使用を前提として話をすすめる。

まずはcloneしてnew_project.shでテンプレートを作る。

❯ git clone https://github.com/qmk/qmk_firmware
❯ cd qmk_firmware
❯ util/new_project.sh your_keyboard_name
❯ cd keyboard/your_keyboard_name

次にconfig.hを編集。 MATRIX_ROWSMATRIX_COLSをそれぞれ数合わせ。

#define CATERINA_BOOTLOADERを追加しておくとRESETキーが使えるようになる。 BOOTLOADER = caterinaもrule.mk ファイルに追加しましょう。

MATRIX_ROW_PINSMATRIX_COL_PINSは以下の画像の紫色の背景のP〇〇がポート番号なのでそれらを列挙。

f:id:kumatoki:20171030180002p:plain

次はお好きにkeymaps/default/keymap.cを定義。

たぶんpro microではピンの数が足りないのでIO Expanderを使ったり、pro microを2つ使ったりして、その2つを通信する必要があるわけです。それらがめんどくさいという方はteensyを使うといいかもしれない。ピン数が多くて事足りるかもしれない。

IO Expanderを使うのであればまずはi2cかSPIの実装が必要です。 さらに使用するIO Expanderの使い方を覚えなくてはいけません。 MCP23017と言うIO Expanderを使うのであれば、こちらの実装を借りると良いかもです。

alter

pro microを2つ使うのであればlet's splitの実装が参考になるかもしれません。

lets_split

❯ cd ../..
❯ make your_keyboard_name:default:avrdude

qmk_firmwareディレクトリトップに戻ってmakeします。

書き込みが成功したらとりあえずQMKに対応です

自作キーボードができるまで

f:id:kumatoki:20170925120214j:plain 他の写真

ババーン

これ、私が作りました。すごいでしょ。 batmanっぽいのでbatkeysと名付けました。

デザイン的にはkeyboardioとnisseを模範している。 それらをさらにコンパクトかつ高さを低く抑えた形となった。

使い勝手としては、タイピング速度測定サイトで記録を更新することができたのでいい方と言ってもいいだろう。気になると思うのは親指キー周り。率直なところ親指に役割を持たせすぎると辛い。自分では3キーくらいがベストだと思う。がキーを少なくしすぎたのでどうしても親指をフル活用せざる追えない。まぁそのうち慣れてくるでしょう。

回顧録

さて自作キーボードという世界がある。世の中に普及しているキーボードは人間工学的に好ましくないものが多い。そこで流行ったのがErgodox、最近ではlet's split。しかしこれでも満足しない人たちがいる。そういう人たちが足を踏み入れるのが自作キーボードという世界。

私もその一人だ。と言いたいがそうでもなく、ただ作って見たかったというだけでそもそもプログラマですらなければデスクワーカーでもない。本当に趣味で、好奇心で、作りたかっただけなのでした。

始まりは、twitterでキーボードを作り始めている方を見かけたから。その方はないんさんと言う方でキーボードのモックアップを最初に作られていた。そのキーボードは当時自分が使っていたergodoxと比べてとても小さく、さらに左右分離式で、親指をうまく活用できるようキーを配置してあった。それはとてもかっこよくてSNS引きこもりな自分がついコメントしてしまうほど魅力的だった。しかしその方は、さらに基盤やケース、ファームウェアも自分で作られていて、とても自分が真似できるようなことでは無いとも思った。

とは思いつつも電子工作に子供の頃から漠然とした興味があったので、少しずつ初めてみることにした。 まずはArduino unoを買って簡単なプログラムを動かした。highとlow、vccやgnd、抵抗やLEDやタクトスイッチ。とても簡単なところから一つずつ試していってゆっくり体で覚えて言った。正直なところ、それがなぜそうなるのか、もっと根本的な原理はなんなのか、までは知らない。ただそうすればそう動くと覚えていった。

少しずつ慣れていき、次第にキーボードに焦点を当てていった。キーボードの根本はキーマトリックスというものとそれをPC側へキー入力として伝えるマイコン。この二つを覚えればキーボードの仕組みはほぼ覚えたようなものだった。

あとは具体的にどのように実用的な形にしていくか。ここが自分にとっては難しいところだった。 デザインはどうすればいいのか。デザインをどう形にすればいいのか。イマイチ踏み出せないでいた。

そんなこんなしてる間に、他の方のキーボードが出てき始めていた。 ゆかりさんhrhgさん言った方々のとてもかっこ良いものがさらに自分を刺激した。 このお二人に共通しているのは3DPrinterを使って媒体を作られていること。 これで簡単にケースが作れると知って、fusion360という3DCadソフトを覚えることにした。 このソフトとても高機能ではあるがそのぶん難しい。しかし自分のデザインが形となっている様はとても楽しく、それに身を任せてすぐに使い方を覚えることができた。

デザインをする上で参考としていたのがesrilleのnisse。それを作られている方のブログ。 Shiki's Weblog この方のブログを読み、左右分離型を前提としていた考えを変え、一体型にすることにした。 まあ、技術的にも一体型の方が楽だというのもある。

dmm.makeで3DPrintしてもらうことができたのでそこに注文した。値段は4k~5k。まあ、40キーしかないこのサイズだからこの値段で済んでるとも言える。あとはスイッチやキーキャプ、マイコンなどを用意しケースの出来上がりを待つだけ。届いたらあとは根気よく半田付け。これで出来上がり。 今回配線に使ったポリウレタン銅線は少し半田付けにコツがいるようで、最初は苦労したがtwitterでゆかりさんにコツを教えていただいたら、すぐにできるようになったのでありがたい。

ハードが出来上がればあとはソフト。キーマトリックスを読み、それを元にキーコードを発行していく。 コンパクトなキーボードに欠かせないのがレイヤー。これもすんなり実装できた。もう一つ必要な機能があってそれはqmk firmwareではmod tapと呼ばれる機能で一つのキーに修飾キーと普通の文字キーの二つを役割を与える機能。これの実装に手間取った。というかすぐに諦めた。そこで大人しくqmk firmwareに対応させることにした。これも前述のないんさんが記事にされているのでそれにしたがって進めて言った。途中わからないところがあったがすぐにないんさんにフォローしていただいた。おかげでqmk対応もすんなりできたのでキーボードとして満足に機能させることができた。

@matsPodさんにRedditにポストしていただいので海外の方からの反応もいただくことができた。英語わかんないので雰囲気だけだけどね。 reddit

先人たちのアドバイスのおかげで自分もキーボードというものを作り上げることができた。 感謝したい。