読者です 読者をやめる 読者になる 読者になる

薄型キースイッチの話

f:id:hrhg:20170410062808j:plain

経緯

もともと腱鞘炎で手首を痛めていて、なるべく手首の負担がかからないようにパームレストを使ったり、薄型のキーボードを使っていました。キーボードを自作するにあたり極力筐体が薄くなるように作ってみましたが、希望する薄さにはできなかったためCherryMX以外のキースイッチがないか探していました。 またキースイッチの構造自体にはそれほどこだわりがないので、メンブレンとかパンタグラフのものを作れないかとも思っていました。

いろいろ情報を探していると、CherryMLというキースイッチがあることを知りました。 CHERRY: Innovation at Your Fingertips – ML Series

キースイッチ単体で扱っているところが見当たらなかったので、MLを使っているキーボードをeBayであたりで買ってキースイッチを取り外すことを検討していました。 ところが、CherryMLの事を調べていたら、同じような薄型のキースイッチがあることを知りました。

www.youtube.com

またDESKTHORITYで入手している情報もがあり、Kailh製ということを知りました。

deskthority.net

入手

ダメもとで、直接Kailhに入手方法について問い合わせてみたところ、こちらの会社やプロダクトについて事前に教えて欲しいとのことでした。個人で作っている等のことを返答すると、2種類のキースイッチのデータシートを教えてもらうことができました。
データシートを確認し、2種類のうち薄いのサンプルを入手できることになりました。 この時点ではまだキーキャップの存在は確認できていませんでした。

http://kailh.com/en/Productdetail.asp?Productid=1584 (この記事を書いている時点で、kailhのサイトにつながらないようです。)

Cherry MXとの互換性・比較

キーキャップへの接合形状はMX用と異なるので、MXのキーキャップは流用できないようでした。MLの形状に近いですが、同一ではないようです。
フレームのサイズはMXとほぼ一致しました。 f:id:hrhg:20170410062820j:plain

厚さの違いはこんな感じ。 f:id:hrhg:20170410062818j:plain

フットプリントが異なるのでMX用の基板は流用不可のようです。LEDのためと思われる穴が開いていました。 f:id:hrhg:20170410072547j:plain

同一の形状で

  • no sound, no hand feeling (赤軸)
  • no sound, with hand feeling (茶軸)
  • click sound, with hand feeling (白軸)

の3タイプがあり、荷重はMLの赤軸よりちょっと重い感じでした。

ヲチモノにも同類のキースイッチを使ったと思われる試作?の記事があるようでした。 watchmono.com watchmono.com watchmono.com

また、Tokyo Mechanical Keyboard Meetup vol.2にも持って行ってみました。

www.reddit.com

購入

サンプルを確認した結果、良さそうなので5台分の試作としてとりあえず500個発注することにしました。
価格は情報がひとり歩きすると良くないと思うので公開しませんが、高くはありませんでした。支払いはpaypalで行うことができました。

DESKTHORITYを見るとキーキャップも存在するようでしたので確認したところ、サンプルが2種類入手できるようなので一緒に入手しました。 文字ないものが欲しかったのですが、ブランクのものが製造されるのは1か月後になるとのことで今回の入手はできませんでした。
他に専用のLED関連もあるようです。

その他

とりあえず当面はこのスイッチを使ってみる予定です。

f:id:hrhg:20170523055207p:plain

このキースイッチが広まって、単価が安くなり、荷重バリエーションも増え、キーキャップの互換品も流通するようになることを希望します。

Arduino Leonardoでシリアルポートを無効にする

Arduinoを使ってUSBキーボードを作っているところですが、当然ながらPCに対してHIDの他にUSBシリアルとして認識してしまうことに気づきました。対策としてArduinoのcoreを書き換えることで、とりあえずはUSBシリアルを無効にできることをArduino Leonardoで確認することができました。同じMPU(MEGA32U4)を搭載している機種で共通して出来ると思われます。

注意:以下を実行すると以降はUSBを使った書き込みができなくなりますので、USBシリアルを有効にするためにICSP経由でブートローダーが上書き出来ることを確認してから行うことをお勧めします。

USBシリアルを無効にする対策事例がないかなと調べてみますと forum.arduino.cc というそのまま解決出来そうな情報が見つかりましたが、使っていたArduinoの環境とは一致しないようでした。githubの情報を調べてみると、2年前の2015年2月にUSBシリアルを無効に出来ないように変更されているようでした。 github.com

ということで、

  • 現在のソースに上記で加えられた修正を元に戻す
  • USBCore.cppの_updateLUFAbootLoaderにtrueを代入しているあたりも同様にifdefする
  • USBDesc.hのUSB_ENABLED CDC_ENABLEDのdefineをコメントアウトする

ことでUSBシリアルを無効にすることが出来るようになりました。確認したArduinoのバージョンは1.8.2です。
USBシリアルを無効に出来なくした理由は見当たりませんでした。

基板を使わない手はんだで、キースイッチを交換できるようにしてみた話

常々手軽に物理的なキー配置を変えることができないか考えていたところ、riv_mkさんの riv-mk.hateblo.jp のエントリーに影響されて、基板を使わない手はんだで、キースイッチを交換できるようにする実験をしてみました。

キースイッチを加工

f:id:hrhg:20170412015208j:plain 左が加工前、右がスイッチ導通の足にダイオードとリード線を付けた加工後です。リード線はダイオードの足を切断した余りです。基板に固定させるプラスチックの足を削除したのは薄型にすること目的とした加工です。

スイッチはKailhの薄型キースイッチを使っています(このスイッチについてのエントリーはまだ作成中です)。

ソケットを作成

f:id:hrhg:20170412015232j:plain 丸ピンICソケット akizukidenshi.com から金属部分を取り出し、基板に入る分の足を切断します。この工程が結構手間がかかった気がしました。

ソケットにワイヤーをはんだ付け

f:id:hrhg:20170412015312j:plain 取り出したソケットの金属部にワイヤーをはんだ付けします。実際の作業はキースイッチにソケットをつけた状態でワイヤーをはんだ付けしました。

今回は被覆付きのワイヤーをワイヤーストリッパで被覆に切れ込みを入れ、被覆を引っ張って1mm程度金属部を露出させ、予備はんだをする方法でやってみました。

ソケット付きケーブルをキースイッチにはめる

f:id:hrhg:20170412015339j:plain あらかじめキースイッチをフレームに固定しておき、ダイオードおよびリード線の足にソケットをはめ込みます。

f:id:hrhg:20170412015406j:plain ソケットにしているので、当然後から手で外すことができます。上から4行目を外してみた場合です。

所感

実際にやってみて、手間がかかる割に本当に便利なのかわかりません..
せめてソケットが単体で入手できればかなり楽になると感じました。

その他

kinesisのキースイッチを交換されている記事がありましたのでご紹介します。 squidapache.hatenadiary.com

kinesisはフレキシブル基板を使っているようです。

分割キーボード間の接続について

筐体間の接続

分割キーボードを作るにあたって、分割した左右のキーボードを接続するかを考える必要がありました。キースイッチへの配線はキーマトリクスになっているので、そのまま分けると結構な本数線が左右の接続に必要になります。ErgoDoxの回路図を参考にするとI2Cを使って片側にマイクロコントローラ、もう片側にIOエキスパンダ(拡張)を装着し、左右間をI2Cに必要な4芯のケーブルで接続していることがわかりました。I2Cは本来は筐体の外に引き回すような用途ではないと思っていたので、この手法にはちょっと驚きました。

最初にPIC版を作ったときに使用していたコントローラ基盤のIOが少ないため、片方にはマイクロコントローラ+IOエキスパンダ、もう片方にはIOエキスパンダを装着しました。I2Cの接続は

  • 筐体A:の基盤内でマイクロコントローラ~IOエキスパンダ
  • 筐体B:コネクタ~ケーブル~コネクタを経由してIOエキスパンダ

とすることにしました。

f:id:hrhg:20170408062404j:plain

ArduinoのProMicro版は、マイクロコントローダだけで16ピンを確保できたので、IOエキスパンダは片方だけにしかついていません。

ちなみにI2Cは並列を複数接続でき、今回使ったIOエキスパンダは、ハードウェアアドレスとして3ビットあるので最大8個接続できます。IOエキスパンダ1個あたりのIO数は16あるので、8x8のキーマトリクスを作った場合、64個のキースイッチが接続できます。それが8個接続できるので理論上512個のキースイッチを制御できそうです。

google 日本語入力 ドラムセットバージョン を作ることも不可能でなさそうです。 japan.googleblog.com

また、確かUltra Hacking KeyboardはI2Cではなく、シリアルで左右の通信をしていたような気がします。他の市販の分割型キーボードはどうやっているかが気になります。

2017/05/01 追記
Ultra Hacking Keyboardの初期段階ではシリアル(UART)のようでしたが、最近はI2Cのようです。 きせのんさんから指摘をいただきました。ありがとうございました。

コネクタ

I2Cの接続は4芯でまかなえるので、コネクタの選定をしました。ErgoDoxではあまり入手が容易でないと思っていた4ピンのケーブルを使っていましたが、4芯といえば電話等でよく使われているRJ11(本当は6線まである)が思いついたので、最初は以下のRJ11を使いました。 akizukidenshi.com

しかし思ったよりコネクタの高さがあり、薄型の筐体を作りたかったことから以下の4ピンのコネクタのものに作り替えました。 akizukidenshi.com

f:id:hrhg:20170408062049j:plain

コネクタについては、cho45さんの 自作用の汎用コネクタ - 氾濫原 の情報が大変参考になります。

ケーブル

最初は以下のプラグを使っていました akizukidenshi.com

が、よりコンパクトにしたかったので、以下のプラグに変更しました。 oyaide.com

より小さな2.5mm版の方が良かったのですが、メス側は取り扱っていないとのこで採用を断念しました。 oyaide.com

はんだ付けは予備はんだををして以下のような感じです。 f:id:hrhg:20170408062030j:plain

最近試作しているキーボードの筐体

3Dプリンタの調整に難儀していますが、最近試作しているキーボードの筐体です。

f:id:hrhg:20170407044854j:plain

  • 上:普通のテンキーレス109もどきを分割型にしたもの。一次しのぎのtypo対策。
  • 中:Let’s Splitもどき。
  • 下:Kinesisみたいな立体型の検証用。最終的にはこれが本命。

Kailhの薄型キースイッチのキーキャップが入手できたので、まあまあ見れるようになりました。薄型キースイッチについては、そのうち別エントリーを書く予定です。

3Dプリンタ Original Prusa i3 MK2を組み立てました

キーボードの筐体を作るときに自分の手元に道具がないと物凄く進捗がはかどらないのに懲りたので、思い切って3Dプリンタを購入してみました。

f:id:hrhg:20170306053343j:plain

機器の選択

他のmakerの方をいろいろ見て情報収集すると

あたりが候補かなと思いました。

本来は射出成型機で一般製品並みのものを作りたいところですが、現在のところ個人で用意ができるような品物ではないようでした。

レーザー加工機

一般的には半導体レーザとCO2レーザがあるようですが、半導体レーザは素材がかなり限定されるので、CO2レーザーが候補でした。 ですが、完成品は予算の範囲外でちょっと手が届かないことと、基本的に平面のものしか扱えないので、候補から外れました。

CNCフライス盤

cho45さんの使っているのを見て、かなり購入する気になっていました。ですが、インターフェース等を作成されている情報を見て、ちょっと手間だなぁと感じました。

3Dプリンタ

Kailhの薄型キースイッチを使いたいのですが、世の中に販売されているキーキャップがまだ存在していないので、自分で作らないといけないことや、kinesisみたいな平面ではない筐体も作りいことから、最終的に3Dプリンタに決めました。

機種の選択

あまり調べていませんが、 Make Magazineの評価でコストパフォーマンスがダントツなことや、 makottoも使っていた ことから、Original Prusa i3 MK2 に決定しました。かなり人気があるようで、1月1日に発注して、届いたのが2月19日でした。 完成品ではなく、後々のメンテナンスができるように構造を把握しておきたいのと、組み立ての費用が浮くのでキットのものを購入しました。あと、完成品だと納期がもっとかかったような気がしました。

組み立て

f:id:hrhg:20170315235806j:plain f:id:hrhg:20170316000412j:plain f:id:hrhg:20170316000047j:plain

途中経過や部品数の確認のために写真を撮りながら、1日1~2時間で、1週間くらいかかりました。 最低限必要な工具として六角レンチやマイナスドライバー、ラジオペンジなどが入っていて、特殊な工作技術は必要ありませんでした。手間取ったところと言えば、あらかじめナットを3Dプリントした部品に埋め込むのがなかなか説明通りにはいきませんでした。あらかじめ合わせる部品をつけないで、反対からネジで締め付ければナットが食い込んでくれるようでした。

マニュアルの英語がを端折りながら進めてしまったせいで、後戻りしてよく読み返したことが何度かありました。

調整

f:id:hrhg:20170306055413j:plain 一応は出力されるようにはなりましたが、まだ完璧に調整できているとは思えていません。手直しする方法の検討がつかないので、しばらくはこのまま進めてみます。後々サポートサイト等で情報がないかを探してみるつもりです。

試し

f:id:hrhg:20170306053401j:plain ワークフローとしては

  • Fusion360STLファイルを作成
  • Slic3rでSTLからgcodeへの変換
  • SDカード経由で、PULSAからgcodeから実際のもプリント物

といった工程で進めています。

Slic3rでは主に以下を設定しています。

  • フィラメントの素材
  • 積層ピッチ
  • サポート材有無

まだサポート材が必要なプリントは行っていません。 Prusa用のSlic3rをダウンロードできるのですが、最初起動することができませんでしたが、フォーラムの情報を参参考にSlic3rに手を加えると、無事起動することができました。

所感

  • 調整が甘いせいか、縦の曲線がうまく出力できていない
  • Slic3rのパラメータもいろいろ試す必要がある
  • 積層ピッチを標準(0.2mm)にしても、結構出力に時間がかかる
  • きれいに仕上げたい場合、後工程で表面処理が必要
  • そこそこ音がするので、防音箱はつくりたい
  • 画面で設計したものが、立体物になって手に取ることができるのは楽しい

といったところです。 子供の壊れたおもちゃを直す部品を作ってみたり、もちろんキーボード作成以外でも今後のモノ作りに活躍してくれそうです。

Tokyo Mechanical Keyboard Meetup Vol.2 に参加してきました

もう2週間経ってしまいましたが、Tokyo Mechanical Keyboard Meetup vol.2に参加しました。 Redditでメカニカルキーボードについての交流し、世界中でmeetupが開催されているそうです。
東京での開催は今回で2回目で、参加者の半分くらいは在日の外国の方らしく基本的に英語での進行でした。今後は3か月間隔くらいで開催することを検討されているようです。

主に以下のサイトで情報が見れるようです。

特に気になったキーボード

市販品や自作キットで作られていたもの等めずらしいキーボードが集まりました。個人的に特に気になったキーボードは以下でした。

FMV-KB211

個人的に今までで一番だったキータッチのものと20年ぶりくらいにご対面。
しかもesrilleのファーム搭載。 f:id:hrhg:20170212154440j:plain f:id:hrhg:20170212154500j:plain

HASU BT HHKB (Alternative Controller for HHKB)

実物を初めて見ました。バッテリーは8時間くらいもつとのことでした。 f:id:hrhg:20170212154625j:plain f:id:hrhg:20170212154632j:plain

自作で作られていた方のもの。下のものは自分で小基板を起こしたとのことでしたが、上の方が配線が簡単だったとのことです。
キーボード自作の同人誌も作られていました。 f:id:hrhg:20170212154648j:plain f:id:hrhg:20170212154641j:plain

Apple Extended Keyboard MOD

これも懐かしいアップルの拡張キーボードを元に改造したキーボード。コンパクトにまとまっていました。 f:id:hrhg:20170212154736j:plain

TypeMatrix & ATREUS

なかなか見る機会がなかった両キーボードも拝見しました。コンパクトでいいですね。 f:id:hrhg:20170212154654j:plain

FabCafe

今回開催されていた場所がFabCafe MTRLでした。fab labに行ったのは初めてだったので、いくつか写真を撮りました。

f:id:hrhg:20170212154803j:plain f:id:hrhg:20170212154815j:plain f:id:hrhg:20170212154826j:plain f:id:hrhg:20170212154837j:plain f:id:hrhg:20170212154851j:plain f:id:hrhg:20170212154856j:plain f:id:hrhg:20170212154858j:plain f:id:hrhg:20170212154901j:plain f:id:hrhg:20170212154904j:plain f:id:hrhg:20170212154906j:plain