CINXE.COM
ErgoDox について調べた(買わないけど) | tech - 氾濫原
<!DOCTYPE html> <html data-auth="" data-permalink="1" itemscope itemtype="http://schema.org/BlogPosting" lang=ja> <head> <meta charset=utf-8> <title>ErgoDox について調べた(買わないけど) | tech - 氾濫原</title> <meta content="width=device-width,initial-scale=1,maximum-scale=2,user-scalable=yes" name=viewport> <meta content=#000000 name=theme-color> <link href=/feed rel=alternate title=Feed type=application/atom+xml> <link href="https://lowreal.net/2016/07/04/6" rel=canonical> <meta content=unsafe-url name=referrer> <meta content="ErgoDox について調べた(買わないけど) | tech - 氾濫原" property=og:title> <meta content="article" property=og:type> <meta content="https://lowreal.net/2016/07/04/6" property=og:url> <meta content=cho45@lowreal.net property=og:email> <meta content=cho45 property=fb:admins> <link href="/css/style.css" rel=stylesheet> <link href="/css/github.css" rel=stylesheet> <link href="https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap" rel=stylesheet> <link href="/api/similar?id=20795&" rel=preload as=fetch crossorigin id=preload-similar-entries> <link href="/api/exif?id=20795&" rel=preload as=fetch crossorigin id=preload-exif-entries> <!-- <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:foaf="http://xmlns.com/foaf/0.1/"> <rdf:Description rdf:about="https://lowreal.net/2016/07/04/6"> <foaf:maker rdf:parseType="Resource"> <foaf:holdsAccount> <foaf:OnlineAccount foaf:accountName="cho45"> <foaf:accountServiceHomepage rdf:resource="http://www.hatena.ne.jp/"/> </foaf:OnlineAccount> </foaf:holdsAccount> </foaf:maker> </rdf:Description> </rdf:RDF> --> <!--[if lt IE 9]><script src=https://html5shiv.googlecode.com/svn/trunk/html5.js></script><![endif]--> <script defer src="/js/daterelative.js"></script> <script defer src="/js/balancetext/tinysegmenter.js"></script> <script defer src="/js/balancetext/balance.js"></script> <script defer src="/js/abcjs_basic_5.1.1-min.js"></script> <script defer src="/js/nogag.js"></script> </head> <body> <header id=global-header> <h1 id=header> <a href=/ > <img alt="ErgoDox について調べた(買わないけど) | tech - 氾濫原" height=50 src=/images/hanrangen.svg width=60 style=margin:auto;display:block> </a> </h1> </header> <nav id=global-navigation> <ul> <li><a href=/ >最新</a></li> <li><a href=/photo/ >写真</a></li> <li><a href=https://www.lowreal.net/ >誰?</a></li> </ul> </nav> <div id=content> <div class=entries> <div class=date><a href="/2016/07/04/">2016年 07月 04日</a></div> <article class="tech status-public" data-id="20795" id="post-1467639376" > <header> <h2 itemprop=name><a href="/2016/07/04/6" class=bookmark rel=bookmark itemprop=url>ErgoDox について調べた(買わないけど)</a></h2> <div class=metadata> <a href="/tech/"><span itemprop=keywords>tech</span></a> | <time datetime="2016-07-04T13:36:16Z" data-epoch="1467639376" itemprop=datePublished> 22:36 </time> | <div style=display:none> <meta content="/2016/07/04/6" itemprop=mainEntityOfPage itemscope itemtype=https://schema.org/WebPage> <span itemprop=headline>ヤパチーでErgoDox を見て面白いなあと思ったので調べてみた。ネットの記事だとErgoDoxって、「とにかく健…</span> <span itemprop=author itemscope itemtype=https://schema.org/Person> <a href=http://www.lowreal.net/ itemprop=url> <span itemprop=name>cho45</span> </a> </span> <div itemprop=publisher itemscope itemtype=https://schema.org/Organization> <div itemprop=logo itemscope itemtype=https://schema.org/ImageObject> <meta content=https://www.lowreal.net/images/logo.png itemprop=url> <meta content=189 itemprop=width> <meta content=105 itemprop=height> </div> <meta content=cho45 itemprop=name> </div> <meta content="2016-07-04T13:36:16Z" itemprop=datePublished> <meta content="2016-07-05T01:29:25Z" itemprop=dateModified> <div itemprop=image itemscope itemtype=https://schema.org/ImageObject> <meta content=https://www.lowreal.net/images/logo.png itemprop=url> <meta content=189 itemprop=width> <meta content=105 itemprop=height> </div> </div> </div> </header> <div class=content itemprop=articleBody> <p><a href=https://blog.kksg.net/posts/ergodox>ヤパチーでErgoDox を見て</a>面白いなあと思ったので調べてみた。<p>ネットの記事だと<a href=http://ergodox.org/ >ErgoDox</a>って、「とにかく健康だ!! 筋肉だ!!!」みたいな話になってて、相容れなそう、と思って興味沸かなかったけど、実際見てみたら DIY 感が思ったよりあって良いし、オープンソースって部分が面白いと思った。<p>今まであんまり深く考えず、自作キーボードってキーはどうするの?と思っていたけど、Cherry MX シリーズ(及びそれの互換キー)というのがメカニカルキーボード業界だとデファクトスタンダードらしい。つまり「自作キーボード」というのは「キー配置・ファームウェアが自作」ということのようで、キーの細かい設計とかではない。</p> <section class=level-1> <h3>キー</h3> <p>Cherry MX (及びその派生) はメカニカルで有接点のキー。<p>調べた感じ、HHKB のような静電容量無接点キーというのは部品単体での販売はないっぽいくて、これ系のメカニカルキーになる。</p> <section class=level-2> <h4>Cherry MX シリーズ</h4> <p>黒と青は Digikey でも買える。スイッチのみなら100円/個ぐらい。100個買えばディスカウントで8000円ぐらい。いろいろ種類があって、軸の色で判定できる。ググったらどういう違いがあるか出てくる。<p>普通のキーボードに採用されているので新宿ヨドバシとかでも Cherry MX シリーズのキーは体験できる。</p> </section> <section class=level-2> <h4>互換キー</h4> <p>互換キーというのもあるらしい。ピンアサインとかが互換で、タッチも似たものがある。Gateron は ebay で結構売ってる業者がいる。<p>例えば、<a href=https://ergodox-ez.com/pages/keyswitches>ErgoDox EZ</a> という組み立て済みのものは Gateron になっている。Cherry MX より安いが品質は悪くはないみたい。だいたい102キーセットで3000〜4000円ぐらいで買えるみたい。<p>ref.</p> <ul> <li><a href=http://kirte.hatenablog.com/entry/2016/02/25/031025>キーボードのスイッチいろいろ - mkmkmkmkmk</a></li> </ul><p>キースイッチとキーキャップは別で、変な話だけど複雑な構造のスイッチよりもキャップのほうが高いこともある…… カスタマイズの定番扱いなので、スイッチよりは入手性が良い。</p> </section> </section> <section class=level-1> <h3>ErgoDox の設計(電子回路)</h3> <p>ErgoDox は Teensy (AVR ATMEGA32U48 というUSB付きAVRベース) に I2C の I/O エキスパンダを組合せてある。分割キーボード間の通信が I2C で、これのコネクションは TRRS (ステレオミニ4極) コネクタとなっている。<p><a href=http://ergodox.org/Hardware.aspx>パーツリスト</a>を見てわかるように、上記以外に他に主要な部品はない。<p>自作する場合キーごとにダイオードつけるのが一番面倒そう。</p> <section class=level-2> <h4>スイッチの判定</h4> <p>6行7*2列(84キー) のスイッチマトリクス。使ってない IO ピンがまだあるので7行8*2列までならそれほど大きな書きかえはいらないかもしれない。<p>スイッチごとにダイオードがついてるのは同時押ししたときのため。ファームウェア次第でN key rollover (NKRO)になる(と思う)。ファームウェアはまだあんまり読んでないけど EZ はNKROと書いてある。本家はわからない。</p> </section> <section class=level-2> <h4>KiCAD を使ってる</h4> <p>KiCAD で設計されている。KiCAD も OSS なので OSS 原理主義者的にはよさそう。しかし KiCAD は少なくとも Mac だとかなり辛い。</p> </section> </section> <section class=level-1> <h3>ErgoDox のファームウェア</h3> <p>ファームウェアはユーザレベルでコンパイルして使えよみたいな感じになっていて、キーマップ変更(必須)すらコンパイルが必要になっている。なので結構派生物があるのと、ガイドが多いので困らなそう。<p>そんなに複雑なコードはない。USBキーボードデバイスとしての部分はライブラリになっているよう?回路構成多少変えてもファームウェアを対応させるのはそれほど大変ではなさそう。</p> </section> <section class=level-1> <h3>所感</h3> <p>ErgoDox 面白い。とりあえず自分は現時点では買う予定はない。しかし実用キーボードが割と簡単に作れそうというのは良さそう。ソフトと違ってハードは我慢して使うことが多いけど、キーボードは自力で設計して自分にあうのを作るのもよさそう。暇になったらやってみたい。</p> </section> <ol itemscope itemtype=http://schema.org/BreadcrumbList><li itemprop=itemListElement itemscope itemtype=http://schema.org/ListItem><a href=/ itemprop=item><span itemprop=name>トップ</span></a> <meta content=1 itemprop=position> </li> <li itemprop=itemListElement itemscope itemtype=http://schema.org/ListItem> <a href="/tech/" itemprop=item><span itemprop=name>tech</span></a> <meta content=2 itemprop=position> </li> <li itemprop=itemListElement itemscope itemtype=http://schema.org/ListItem> <a href="https://lowreal.net/2016/07/04/6" itemprop=item><span itemprop=name>ErgoDox について調べた(買わないけど)</span></a> <meta content=3 itemprop=position> </li> </ol> </div> <div class="content trackbacks"> <h3>このエントリを参照するエントリ</h3> <ul> <li data-id="20844"> <a href="/2016/08/30/2"> <b>ErgoDox ではないナニか。オープンソースかつ Bluetooth 接続のキーボード</b><br> <span class=summary>ここ数ヶ月ぐらいキーボードを作っていた。そのためにいろいろ yak-shaving としかいいようがないことも多々していた。いろいろ書くことが多いので、…</span> <time datetime="2016-08-30T14:55:14Z" data-epoch="1472568914" itemprop=datePublished> 23:55 </time> </a> </li> </ul> <ul> <li data-id="20988"> <a href="/2016/12/31/1"> <b>今年やったことを自分で承認する</b><br> <span class=summary>日記を読みかえしてみたら今年もいろいろやっていた。年末にせめて自分で自分を承認してあげたい。おおまかには 高周波関係 アンテナアナライザ製作…</span> <time datetime="2016-12-30T15:04:32Z" data-epoch="1483110272" itemprop=datePublished> 00:04 </time> </a> </li> </ul> </div> <div class="content similar-entries"> </div> <div class=social> <span class=hatena-star></span> <p class=share-buttons> <a href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Flowreal.net%2F2016%2F07%2F04%2F6" class=share-button rel="noopener nofollow" onclick='ga("send","social","Facebook","Share","https://lowreal.net/2016/07/04/6")' style=background:#3b5998 target=_blank> <img alt=Facebook height=18 src=/images/sharebuttons/FB-f-Logo__white_50.png width=18> </a> <a href="https://bsky.app/intent/compose?text=ErgoDox%20%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6%E8%AA%BF%E3%81%B9%E3%81%9F%28%E8%B2%B7%E3%82%8F%E3%81%AA%E3%81%84%E3%81%91%E3%81%A9%29%20https%3A%2F%2Flowreal.net%2F2016%2F07%2F04%2F6" class=share-button rel="noopener nofollow" onclick='ga("send","social","Bluesky","Share","https://lowreal.net/2016/07/04/6")' style=background:#efefef target=_blank> <img alt=Bluesky height=40 src=/images/bluesky_media_kit_logo_svgs.svg width=40> </a> <a href="http://b.hatena.ne.jp/add?url=https%3A%2F%2Flowreal.net%2F2016%2F07%2F04%2F6" class=share-button rel="noopener nofollow" onclick='ga("send","social","Hatena::Bookmark","Share","https://lowreal.net/2016/07/04/6")' style=background:#00a4de target=_blank> <img alt=はてなブックマーク height=40 src=/images/sharebuttons/hatenabookmark-logomark.svg width=40> </a> </p> </div> </article> </div> <div class=pager> <a href="/2016/07/04/5" rel=next>◀ とにかく夢見…</a> <a href="/2016/07/04/">▲ この日のエントリ</a> <a href="/2016/07/04/7" rel=prev>[photo][redev… ▶</a> </div> </div> <footer id=global-footer> <h2>書いている人</h2> <div class=author> <div class=image> <img alt=Photo height=160 src=/images/profile.jpg width=160> </div> <div class=desc> <p> cho45 (<a href=https://www.lowreal.net/ rel=author>www.lowreal.net</a>) <<a href=mailto:cho45@lowreal.net>cho45@lowreal.net</a>> </p> <p> JavaScript, Perl, Ruby, HTML, CSS, Web etc </p> <p> <a href=https://github.com/cho45 rel=nofollow class="button github-button" onclick='ga("send","social","GitHub","Follow","cho45")'><i></i> <span class=label> Follow <b>@cho45</b> </span> </a> </p> <p> <a href=/archive>アーカイブ</a> </p> </div> </div> </footer>