LoginSignup
2
1

More than 5 years have passed since last update.

左右分離Ergo42キーボード作成(異種交配スイッチ)

Last updated at Posted at 2019-01-29

左右分離型のキーボードは、ErgoDoxEZキーボードを持っている。
他にもあるが、取りあえずWindowsOS用の普段使いキーボードにしている。

そして、Helixキーボードはゴミだった。
ゆえに、今回3つ目の自作キーボードに挑戦する(リベンジだ)。
二つ目は、名刺型の小さいキーボードだ。

こちらも組立書が存在する。
しかし、英語で挫折しそう・・・案ずることなかれ。
一応日本語訳がある。

前回は、名刺サイズのキーボードを作成した。同時に購入した。
今回は、本命の左右分離型キーボードであるErgo42キーボードだ。
これもHelixキーボードのように国産だ。
今回こそゴミにしないように頑張って作ろうと思う。

CherryMXとロープロファイルの混在

今回は、Helixキーボードがゴミのままなのに、次の自作キーボードに手を出すことにした。
そして、Helixキーボード作成時に余った"Low Profile Kailh(ロープロ)スイッチ"と言う薄型キースイッチを使うことにした。
なおかつ、通常のチェリー軸も合わせて使うことにした。
いわゆるハイブリットキーボードを目指す。混合とも言う?

異種交配.jpg

親指の部分をロープロにし、それ以外をチェリー軸の大きさのキースイッチを使うことにした。
実際は、純粋なチェリー軸だけでは無いのだが・・・(だから混血キーボード)。

検証 ダイオードの配置場所

組立ガイドは、チェリー(及び互換)軸の場合は、同じ面にダイオードを配置するように説明している。
ロープロ軸の場合は、裏面にダイオードを配置するように指示する。

薄々と同列にダイオード配置.jpg

実際に試しに配置したが、問題なさそうに思った。
キースイッチが鑑賞するのかと思ったが、違うようだ。
では、次の検証に移る。

検証 プレートを挟む

ダイオードの役割は、キー押下の信号送信だけでなく、物理的にキースイッチを支える役目も担っている。
それが以下の画像だ。

ピンの足の長さ.jpg

本来のチェリー軸の場合、キースイッチ+プレート+ダイオード+PCBの見た目で構成される。
なぜこの組合せかと言えば、ダイオードをPCBの裏面に付けた場合、プレートとPCBがひっつくことで、プレートがキースイッチを支えられず、不安定のままはんだ付けすることになってしまう。

そして、薄型ロープロの場合、同じ組合せをしたとき、今度はプレートとPCBの間にダイオードがあるため、ロープロのピンがPCBに届かなくなってしまい、キースイッチとしての役割が果たせなくなってしまう。
そもそもはんだ付けすら出来なくなる。

あぁハーフ挫折.

キーボード作成

Helixキーボードは、いまもゴミのままだが、今回は轍を踏まないように気をつける。
"気をつける"が対策。
"頑張る"が改善案。

以下、左側のみを解説する。
どうせ、右側は左側と同じなのだから・・・。

ダイオードの取り付け

ごみHelixキーボードとは違い、かなり足の長いしかも嵩のはるでかいダイオードで扱いに困惑する。
それでも頑張って付けることにした。
短足の私は、恨みでも持っているかのごとく短く足切りを実行した。

ダイオードを左側のPCBに付ける.jpg

1行ごとにダイオードを付けて、はんだ付けして、次の行に移ってダイオードを付けてはんだ付けして・・・〜して、〜して、〜して・・・を繰り返した。

我ながら綺麗に付けたと思っている。

テスターでダイオードを検査

全てのダイオードを付け終わったらテスターで確認できる。

キースイッチ上段から列ごとに確認する。

ダイオードの導通.jpg

写真を見れば分かるとおり、赤のテスターをProMicroピンの手前側だが向こう側(黄文字)の右端に当てる。
黒のテスターをキースイッチのハの字になっている左側に当てる。
使い方が分かっていないので赤と黒は逆かもね。
そして、右手側の作成時は、逆側を当てる。

2列目(上記の写真薄いオレンジ色)

2発目の精通.jpg

当然ながらProMicro側の赤テスターも左にずらしていく。

3列目(上記の写真濃いオレンジ色)

3回目の絶頂.jpg

4列目(上記の写真紫色)

4発目で達成感.jpg

5列目(上記の写真青色)

5発も来れば絶倫だ.jpg

6列目

6列目の確認.jpg

7列目

7発もすれば大往生だ.jpg

ここで針が振れない部分があれば、ダイオードのはんだ付け部分を見直す必要がある。
(写真では省略しているが、全ての"ハ"部分で確認する必要がある)

リセットスイッチの取り付け

普通に付ければよろしい。

そして、この存在がよく分からない。
リセットスイッチの役割は分かる。
しかし、ErgoDoxEZキーボードのときのように、リセットキーコードをキーに割り当てるが、リセットスイッチのように動いてくれない。
読み込みソフトが異なるからか!?
かなり不便だよ...

このキーボードでのリセットキーコードは、レイヤーをデフォルトレイヤーに戻す役割なのか!?
(見当違いで、無関係の発言をしているのかも知れない。誰か知っていたら教えてください)

イヤホンジャックの取り付け

TRRSジャックって何?

これも普通に付ければよろしい。
Helixゴミと違い、間違えることはないだろう。

ProMicroの取り付け

キーボードを普通に置いたときに、ProMicroの配置場所が手前と奥側の二カ所存在することになる。
私は奥側に置いた。
きっとみんなも奥側に配置するだろう。
残念ながらHelixキーボードは、間違えてしまった。恥ずかしいよ。

リセット・イヤホンジャック.jpg

ProMicroへのピンは上側のみはんだ付けしている(PCBとはしていない)。

ProMicroの裏側.jpg

気になることに、公式ガイドは、ProMicroの接地面を左右同じにしていること。
そのため、私も同じようにチップが見えないように付けた。両手側に、だ。
他の作成ページでは、左右逆になるとか何とか・・・よく分からない。

公式:Promicroの向き.jpg

PCBのバージョンによって異なる?

接地面は異なる

ProMicro側の向きは同じでもPCBに取り付ける穴の位置は異なる。

右手側は前に指す.jpg

キースイッチの取り付け

キースイッチをPCBに直接取り付けるわけではなく、フレームを挟む必要がある。

フレームにキースイッチを入れ込む

気をつけなければならないのは、フレームに向きがあること。

五カ所穴がある.jpg

意識せずに、キースイッチをプレートにはめてはんだ付けした場合、きっとフレームの強度が落ちる。

おぼこあり.jpg

キースイッチを付ける前に、PCBとフレームを合わせた方が無難だろう。

キースイッチの購入

用意していたキースイッチを使うつもりだったが、足りなかったため、追加購入した。
購入先は、ジェイダブルシステムという会社を利用した。
赤軸が思ったより少ない所持数だったため、まさか購入するとは・・・。
安く上げるために使い回したつもりなのに・・・むぅぅぅぅ。

送料.jpg

国内から国内の送料が1,500円!!
離島に住んでいるわけでもない。離島から送るわけでもなさそうだ。
それなのに千5百円かかる。
震災で寸断して徒歩で持ち運ぶわけでもないだろう。
それでも一千五百円かかるようだ。
ご利用は計画的に^^

よほどのことが無い限り利用しないだろう・・・高いぞ。

キースイッチ受け取り

当たり前だが、普通に受け取れた。
稀に、郵便局の対応で、チャイムを鳴らさずに不在票を投函して、わざわざ別の日に受け取らせるからな・・・。

過剰梱包.jpg

仕方の無いことだが、少しだけ足の曲がったキースイッチがあった。
誤差の範囲内だろう。

この金額なのは、キースイッチではなく、もっと繊細な電子機器を送るための金額だと思われる。
電池販売もしていたはずだからな。

フレームとキースイッチをPCBに置く

入れ込むと言うより、置く感じになる。
Helixキーボードでははめ込む感じだったため、キーボードの種類によって変わるのだろう。

スイッチのはんだ付け.jpg

上記通り。

スイッチがずれないように、仮でテープ固定をしたつもりだが・・・キースイッチがずれてはんだ付けされてしまった。
結構ショックだった。
しかし、キー入力は問題ない。それでも戻したいよぉ〜(慌てるな。落ち着け。混乱するな。)。

枠の取り付け

キーボードに見せるための外観を揃える(備える?)。

ネジ多い.jpg

左右分のネジなどが1つの袋に入った状態から片方ずつ取り出す必要がある。
Helixごみキーボードは、こんなときゴミではなく、左右に分けていたため、うれしい配慮だった。

台座に柱を立てる

黒棒4本
銀棒5本

勝利の数分建てる.jpg

さほど難しくない。

表面からネジ止め

上記にて、正しくフレームを付けたのであれば、5本のネジ止めができるはず。

5連勝.jpg

常識的に、ネジを止める順番は対角線上に軽く止めていく。2回目の巡回で本格的に締める。
そうしなければ、傾く・・・今回の場合はならないだろうけど・・・。

ProMicro隠し

USB端子が指しにくくなるため、ご開帳のままでも十分だが、折角なので隠すことにする。

ここにきてピンぼけ.jpg

見た目は良くなる。

気になることは、USBケーブルの抜き差しがしにくいこと。
簡単に引き抜けないと言うことは、事故防止にいいのかもしれないし、悪いのかも知れない。
USBケーブルに損傷がでそうなぐらい引き抜きにくい。う〜ん。

隠すにしてももう少し何かあっただろうに...
強く引き抜いた場合、もげそう・・・。

義足

お好みで足を付けることが可能になっている。
しかも、なぜか足の長さが2種類用意されている(解説書通り^^)。
素晴らしいことだ。

蛇足

個人的には、Helixごみキーボードのように、ゴム足が良かったな。
ネジの頭が出ているため、机を傷つけないためには、足を付けなければならない。
プレートに細工をして、ネジの頭が隠れるようになっていたらな・・・。

ゴム足あった。
良かった。

頭を使って付けなければ、ちょっと強い力でキーを押した場合、傾くので気をつけること。
理由は、端っこに付けたつもりだったが、かなり甘かった。強い力で押したときに傾いた。
しかも、ゴム足そのものが小さい。Helixごみキーボードに付属したゴム足は大きかったのに・・・。

買い増しする場合、ネジの頭の大きさより大きいゴム足を買うこと(誰もが分かっていることだが、ネジの頭の大きさが分からない)。
そこまで高額ではないため、多めに買っておいて損はない。

生はダメ絶対.jpg

しかし、作者にゴム足の大きさを確認したのだが、なぜか小さかった。
既存のゴム足に合わない。
作者の癖して、自分の逸物の大きさを把握できていないとは・・・大変残念だ。

完成

キーキャップを付けて、思い通りの外見になった。
セット購入をしたため、デフォルトのキーマップは、すでにProMicroに書き込み済み。

hhkb.jpg

当然のように、画像上にはHHKBが鎮座している。
そして、キーキャップは、注文品の発送はだいぶ先なので、今あるErgoDoxEZキーボードのキーキャップを使い回している。
手前の左右8キーキャップは薄型キースイッチを取り付けているため、薄型キーキャップになる。

ロープロファイルスイッチ

何とかなった。

ぶっといのを挿入.jpg

ダイオードの足を無理矢理挿入し、詰め込んだ状態ではんだ付けをした。
そうしたら認識したので、私のやり方は間違っていなかった。

異種混合失敗

通常スイッチと薄型スイッチを混合して手前側を低くする場合、リストレスト不要だと考えた。
確かにそうなのだが、逆に言えばそれ以外が高いスイッチなので、使いにくくなってしまった。
しかも、レストレストを使う場合、手前の薄型キーに指が届かなくなってしまった。
掛け合わせはこなれていない状況なのだろう・・・むしろ、先人たちが試した結果、ダメだったから流行らなかったのかも・・・。
残念だ。

左手側の左端のロープロファイルスイッチは、通常スイッチにすれば良かったかも知れない。
こればかりは、実際に体に合わせながら組みあわせる必要があるため、実装して一時使わなければ判断できないという欠点がある。
(なぜ、そこにロープロファイルスイッチを配置したかと言えば、HHKBのスペースバーの左側がMacOS用でコマンドキーの場所だからだ。ゆえに、ぎりぎり親指が届く範囲までロープロファイルスイッチを使った。)

キーマッピングに不満

かなり見にくい。
ErgoDoxEZキーボード用のキーマッピングは、左右分離している状態をそのままkeymap.cに持ち込んでいるように左右別れていたが、Ergo42用では通常のキーボードのように横に連なっている。
ぬぅぅぅぅ。

しかも、半角スペースを多用してキーコードを連ねているため、余計に見にくい。スペースの数も統一していないし・・・。

作成

やはり動画はゴミだな。
https://youtu.be/jJ-6y8GIFZA

まっしゃ〜んめぇえぇ。

接続先相手での欠点

残念ながら携帯電話に接続した場合、(QMKに問題があると思うのだが、)上手く動いてくれないときがある。
そして、それはIMEの問題でもあり、切り替えることで上手く動いてくれることがあった。
それでも一部はダメなままだったりする。

相性があるようなので、なかなか一筋縄ではいかず、キーボード1台で全てをまかなえそうにない。
結構残念だ。

今回の場合は、私個人の環境によるため、使うIMEや携帯電話に依存することだろう。

参考URL

公式ガイドブック:https://github.com/Biacco42/Ergo42/blob/master/README_jp.md
  このページが一番分かりにくかった。

ここ以降は、個人作成のページ。
Ergo42という自作キーボードを作りました(組立編1)
分割キーボードのErgo42を作った

以下は、キーボード作者のブログ
Why Ergo42? - 私が Ergo42 を作った理由

愚痴

QMKいじるのだんだんめんどくさくなってきた・・・。
予想以上に範囲広いよ。

そもそも快適なプログラミングなどをするためにキーボード選びをしているだけだが・・・。
なぜかキーボードに時間と労力が吸い取られている。
あぁ就職活動できないのはキーボードのせいだよ。
プログラミングが出来ないのはキーボードのせいだよ。

販売元について

ごみHelixキーボードの販売元は、私の技術力のなさが発端になっている質問を完全に無視する。
しかし、今回のキーボードの販売元は、一応構ってもらえる。
技術力のなさは私に原因があるため、ごみHelixキーボード販売対応と同じように、低い技術質問ぐらい無視しなければ、心身共に疲れるだろうに・・・。
だったら質問するなって話だが・・・。

その他

興味があるならば、ケースを自作するのも良いと思うが、自作したケースを販売しているサイトを利用するのもありかも。
Ergo42 テンティングケーススタンド (せつやく版)
ぜいたく版もある。

MSYS環境構築

アスキーが参考になりそうだ。

AVR Setupを使う?

公式のやり方はISP Flashing Guideに記載されているが、全く分からない。

ごみHelixキーボードの代わり

今回は、LEDがなかったため、簡単に作成できた。
そして、Helixキーボードでは実現できなかった左手だけで一般的なキーボードを実現できるわけだ。
それとは別に、片手専用のキーボードが売られている。

左手のみ.jpg

最初からこれを買えよって話だが・・・(日本に発送不可会社)。

左右分離型キーボードは種類が増えてきた

Mistel Barocco MD650L Mechanical Keyboardは、シリーズ最新作だ。

Mistel.jpg

しかも、キーキャップが薄型なので、別途手首置きを用意する必要が無い。
何より素晴らしいのは、6キーが左手側にあること。
旧版を私は持っているが、右手側に6キーがあるため、数分もせず直ぐに手放した(タンスの肥やし)。使えば何とかなると思ったが、甘かった。売れるなら売りたい。
タンスの肥やしにして、代わりに何を買ったかと言えば、ErgoDoxEZキーボードだよ。

そして、今はErgo42キーボードだ。
Helixキーボードはごみのままタンスの肥やしだ。このままではゴミ箱行きになりそうだ。

昔ながらのキーボードも安くなって販売しているようだ。
Kinesis Advantage2 LF Mechanical Keyboard
昔は5万円ほどだったはず。

KinesisAdvantage2LF.jpg

買わないけど。
Helixキーボードを復活させたいが、すべてのキースイッチのはんだ付けを除去しなければならず、ちょっと挫折している。
まだまだゴミのままだ。

ちょっと使った感じは・・・

ここまでキー数いらなかったかも知れない。
この後に、Planckが控えていることも有り、同じキー数でどこまで適応できるかを知りたかった。
それを考えれば、第1歩として正解だったと思う。
なにせ、Planckは今のところ3台注文しており、1台もまだ手元に届いていない。

準備するのは当たり前^^

ErgoDoxEZキーボードより小さいとは言え、まだ持ち歩くのは躊躇するかな・・・。
ニートを卒業し、働き始めたら職場に持ち込みたい。

発言してはいけない一言

数字キーは独立して欲しい。

不満を付けるならば,,,

アクリルケースのみと言うことかな。
ステンレス板が欲しい。
しかし、黒にしたのは正解かな。安っぽく見えない。
逆に、折角頑張ってはんだ付けした部分が見えないのは寂しい。

そして、一番の不満は、OLEDモジュールが欲しかった。

Planckを注文して、なかなか届かない。
そのため、本製品を注文して、組み立て、一時使った。
あぁ馴染むかも・・・使っていないPlanckと比較するのはどうかと思うが、括弧[]を普通に使えるのは便利だと思う。
ErgoDoxEZキーボードでは、上手く打てなかったからな。

今のところキー数が多いように感じるのも確か。これだったら Let's split で十分かも・・・。
HHKBのようなキーマップにしようとした場合、キー数がかなり少ないからな・・・。

キーマップ

組み立ててから一応使い続けている。
しかし、イマイチキーマップがしっくりこず、考えあぐねている最中だ。

以下、rules.mkも設定しており、その内容になる。

rules.mk
TAP_DANCE_ENABLE = yes
COMMAND_ENABLE = no

以下が本体

keymap.c
  /* BASE
   * ,------------------------------------------------.   ,------------------------------------------------.
   * |GUIEnt|   Q  |   W  |   E  |   R  |  T   | APP  |   |  Y   |   U  |   I  |   O  |   P  |  [   |   `  |
   * |------+------+------+------+------+------+------|   |-------------+------+------+------+------+------|
   * | Tab  |   A  |   S  |   D  |   F  |  G   |LShift|   |  H   |   J  |   K  |   L  |   ;  |   '  | Enter|
   * |------+------+------+------+------+------+------|   |------|------+------+------+------+------+------|
   * |LShift|   Z  |   X  |   C  |   V  |  B   | Tab  |   |  N   |   M  |   ,  |   .  |   /  |  ]   |Escape|
   * |------+------+------+------+------+------+------|   |------+------+------+------+------+------+------|
   * |Escape| Space|半全角|  Del | LAlt |LCtrl | LAlt |   | Space| Shift|   =  |   `  |   -  |  ¥   | LGUI |
   * `------------------------------------------------'   `------------------------------------------------'
   */

以下は、本体から呼び出される移動関係の階層

keymap.c
  /* Move Layer
   * ,------------------------------------------------.   ,------------------------------------------------.
   * |      |  1   |  2   |  3   |  4   |  5   |      |   |  6   |  7   |  8   |  9   |  0   |  {   |      |
   * |------+------+------+------+------+------+------|   |-------------+------+------+------+------+------|
   * |      |  =   | Lclk | MsUp | Rclk | PgUp |      |   |  ←  |  ↓  |  ↑  |  →  |   :  |  "   |      |
   * |------+------+------+------+------+------+------|   |------|------+------+------+------+------+------|
   * |LShift|  +   |MsLeft|MsDown|MsRght| PgDn |      |   | Home | End  |   <  |   >  |   ?  |  }   | RESET|
   * |------+------+------+------+------+------+------|   |------+------+------+------+------+------+------|
   *|ASトグル|ScrLok|     |      |      | LCtrl|      |  |予約済み|  =  |  +   |  ‾   |  _   |  |   |      |
   * `------------------------------------------------'   `------------------------------------------------'
   */

そして、本体から呼び出される数字やファンクションキーの階層

keymap.c
  /* Media and Function keys
   * ,------------------------------------------------.   ,------------------------------------------------.
   * |LShift|  1   |  2   |  3   |  4   |  5   | 継承 |   |  6   |  7   |  8   |  9   |PrScrn| F12  | 継承 |
   * |------|------+------+------+------+------+------+   |------+------+------+------+------+------|------+
   * |LShift|  F1  |  F2  |  F3  |  F4  |  F5  | 継承 |   |  F6  |  F7  |  F8  |  F9  |  F10 | F11  | 継承 |
   * |------|------+------+------+------+------+------+   |------+------+------+------+------+------|------+
   * |WhelUp| LCtrl| Home | End  | Del  | Bkspc| 継承 |   |  |   |  _   |   <  |   >  |   ?  |      | 継承 |
   * |------+------+------+------+------+------+------|   |------+------+------+------+------+------+------|
   * |WlDown|      |LShift|      |      |      |      |   |RShift| RSft |  +   |  |   |   _  |      |      |
   * `------------------------------------------------'   `------------------------------------------------'
   */

以下が本体から呼び出されるマウスキーやファンクションキーの階層

keymap.c
  /* MOUSE Layer
   * ,------------------------------------------------.   ,------------------------------------------------.
   * | F12  |  F1  |  F2  |  F3  |  F4  |  F5  | RESET|   |  F6  |  F7  |  F8  |  F9  |  F10 | F11  |      |
   * |------+------+------+------+------+------+------|   |------+------+------+------+------+------+------|
   * |      |LShift|      | Lclk | Rclk |Middle|      |   |MsLeft|MsDown| MsUp |MsRght|WhelUp| Stop |      |
   * |------+------+------+------+------+------+------|   |------+------+------+------+------+------+------|
   * |      | F13  | F14  |  F15 |  F16 |  F17 | F23  |   | F24  | F18  | F19  | F20  |  F21 |  F22 |      |
   * |------+------+------+------+------+------+------|   |------+------+------+------+------+------+------|
   * | RESET|      |     |予約済み|     |      | RESET|   |      |      |      | Wleft|WlDown|WRight|      |
   * `------------------------------------------------'   `------------------------------------------------'
   */

本体階層は、まだまだ今後も変更していく。
何せ、EscキーとEnterキーをどこに配置するか未だに悩んでいる。
押しやすい場所がない。

ファンクションキーなんて、F13以降使った記憶が無い。
どれを削って、使いやすくするか・・・悩ましい。

以上だ。

※当然のように、この記事もHHKBで執筆している。
今までの自作キーボード記事は、例外なくHHKBで執筆している。今後もそうかも・・・(そうならないように、キーマップを自分に合わせて育てようと思う)。
なにせ、使えるキーボードを作ったのだから。ゴミHelixキーボードとは違うのだよ^^

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1