2017年2月4日土曜日

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

ここ数年、日本だけでなく米国をはじめとして諸外国でも改めてエルゴノミック キーボードに静かな注目が集まってきています。ここ最近、エスリルのニューキーボード NISSEだけでなく、ErgoDoxや、Keyboardioといった海外で生まれた新しいエルゴノミック キーボードの名前を聞かれたことがある方もいらっしゃるのではないでしょうか。これは、Makersムーブメントの流れもあって、ホビーイストでも容易に電子基板やキーボードを自作できるようになった影響がひとつ大きいところです。しかし、数百円のキーボードまである時代に数万円といったこうしたキーボードが作られたりするのは、それ以上に従来のキーボードに対して潜在的に不満を持っている人が少なくない、ということのように思います。

QWERTY配列については、安岡さんは『生産者側による押し付けの歴史だったのではないか、と思えてくる』と述べられています。今回は、スイッチがずれて並んでいる現行の標準的なキーボードの形状以外の形のキーボード、特に人間工学的な視点を持って作られたエルゴノミック キーボードの歴史で、従来あまりまとめられていなかったような部分を中心にこれまで調べてきた範囲でまとめておきたいと思います。

Matias Trejosさんのキーボード


歴史上最初期のエルゴノミック キーボードとして、1910年の米国特許964340号のMatias Trejosさんのキーボードがあります(下図)。キーが放射状に配置されていて、Tab, Shift, Backspaceキーが親指で押せる位置にあるのが特徴です。

Matias Trejosのキーボード(1910年)

Matiasさんはコスタリカの方のようで、このタイプライターを発明されたあと、はるばる米国で特許を取得されたということになりそうです。とても大きな期待を込めて作られたタイプライターだったのではないでしょうか。ただ、このタイプライターが何台くらい作られたのか、アメリカで発売されたことがあったのか、といったことは、私が調べた範囲では資料を見つけられていません。

また米国では1983年の時点でタイプライター市場の90%以上が既にユニオン タイプライター社とその傘下の企業に抑えられていたそうで(タイプライター トラスト)、現在のQWERTYキーボードに繋がるタイプライターがもう完成していました。米国内では商業的には登場が遅すぎた、ということは間違いなさそうです。

Daumenschalt Tastatur


下図は、ドイツで1934年に発売されたDaumenschalt Tastaturタイプライターです。日本語にすると「親指シフトキーボード」ということになるでしょうか。左右の親指のキーはスペースバーで、中央がシフトキーになっているそうです。合理性を追求したドイツらしさが感じられるようなキーボードです。


Daumenschalt Tastatur (親指シフトキーボード) (1934年)

このタイプライターは実機がまだ残っているようで、リンク先に、発明者はJulius Kupfahlさん、第2次世界大戦まではゆっくりと生産台数が伸びていっていたものの戦争によって製造が中断され、戦後製造が再開されることはなかった、とコメント欄に解説がされています。ドイツでは比較的知られているようで、1993年にやはりドイツで発売されたMarquardt Mini-Ergoキーボードの特許がJulius Kupfahlさんの特許に触れられているようです。

学術的な動き


学術的には、やはりドイツで1960年代から70年代にKarl Kroemer博士らが調整可能な2分割型キーボードを使うことで人間工学的な実験をはじめられるようになってきました。そして1981年のIBM PCの登場と前後してさらに色々な研究が進められていった経緯がDavid Rempel教授の論文にまとめられています。 なお、2分割型キーボードのアイデア自体は、やはりドイツのKlockenbergさんによる1926年の研究によるものだそうです。

1980年代には日本の中迫勝先生らの海外での研究により、2分割キーボードの最適な設置条件として、前方向・横方向の傾斜10度、内角25度、GHキー間の距離6.5cmといった値が確かめられていきます。この研究は、その後日本のTRONキーボードだけでなく、マイクロソフト社のエルゴノミック キーボードのデザイン上の指針にもなったことが関連製品の特許などから読み取ることができます。

学術的には調整可能な2分割型キーボードを使った実験等を経て、固定式の左右分離型キーボードの基本的な形状が決まっていったという点は興味深いところです。中迫先生らの研究に基づいた固定式のMicrosoft Natural keyboard、内角を調整できるApple Adjustable keyboard、内角とさらに傾斜角も調整可能な別のキーボードを使った、Rempel教授らの評価実験においても、固定式のキーボードが一番良好な結果が得られています。

放射状のキー配置の探求


アメリカではタイプライター トラスト、ドイツでは第2次世界大戦、と不運なことが続き、商業的には困難と直面してきたように思われるエルゴノミック キーボードですが、キーボードを利用する文化がもともとなかった日本では1970年代から80年代にかけて、さまざまな試みがなされたようです。

親指シフトを開発された富士通の神田さんらは1978年に手の形のキーボードを試作されています。ただ、このキーボードは実際にはほとんどテストもされなかったということで、綿密な実験や評価などはなされなかったようです。どちらかというと直感的な設計によるものだったのでしょうか。

親指シフトの手の形のキーボード (1978年)

中迫先生らも1981年にNeuen Tastatur für Büromaschinen (New keyboard for office machines)を作られ、1985年頃には下図のようなキーボードでさらに実験を進められていました。このキーボードはコンピューター作業時の前腕の支持の重要性などを科学的に調べられた貴重なキーボードでもあります。

中迫先生らの New keyboard for office machines (1981年〜)

ちなみにエスリルのNISSEは、主に中迫先生の研究論文を参考に形状等を決めていったものなので、上図のキーボードとよく似た部分が多いのが分かるかと思います。開発中はNISSEを単に新キーボードあるいはニューキーボードと呼んでいたことから、製品名もニューキーボードNISSEとしたのですが、後日中迫先生からこの写真の載せられている英語論文のことを教えて頂いて、Neuen Tastaturと名前まで同じになってしまっていたことには驚きました。

M式を開発されたNECの森田博士もやはり1980年頃に放射状にキーを配置したキーボードを試作されています。一見、中迫先生らのキーボードと似ているのですが、当時のキースイッチの大きさの制約もあり(全体的にキーが広がりすぎているように見えます)、操作性評価では良くなかったと著書で述べられています。これはキーピッチを小さくすれば改善できることは森田博士ももちろん認識されています。しかし大量生産されているスイッチが使えなければ製品の実現性は低くなってしまう、という工業製品を開発する見地からのお考えから、製品版のM式キーボードでは放射状のキー配置の採用は見送られています。

M式鍵盤の試作品 (1981年頃かと)

このように手の形に合わせた放射状にキーを配置したキーボードの合理性は直感的にはすぐに理解できるものの、工業製品として製造することを念頭に実際に試してみると想像以上に制約が多かったことがわかります。

そのような中で、マイクロプロセッサから、OSから、コンピューターのありとあらゆる部分を見直されたTRONプロジェクトの中で設計されたTRONキーボードでは、スイッチの大きさからではなく、純粋に人の手の指が届く範囲の研究からキーボードの設計が進められました。最終的にS・M・Lの3サイズのキーボードを用意することが目標とされ、80年代後半には松下電器をはじめ複数の主要国内メーカーによるキーピッチ16mmという小さなMサイズのTRONキーボードの試作品を新聞記事等でよく目にすることになりました。また、このTRONキーボードの立体的な形状も、中迫先生らの研究の成果を採用されたものでした。

初期のTRONキーボード (1986年頃かと。Wikimedia より)

日本人はなかなかうまくできないと言われるタッチタイプの習得においても、エルゴノミック キーボードが子どもたちにとって有効な場合があることは海外でも知られています。80年代前半にキーボードを日頃見慣れていなかった日本人には、左右非対称の今のキーボードのキー配置にむしろ不自然さ感じた人も少なくなかったのではないでしょうか。

そのため、TRONキーボードに対する期待感も決して小さいものではなかったように思います。しかしTRONキーボードを実際に一般のひとが購入できるようになったのは、ワープロが既に非常に安価な製品になってしまっていた1991年と、少し遅れてしまったところがありました。この点は、1987年の時点でも、TRONプロジェクトリーダーの坂村健さんは著書の中で「キーボードの刷新にとって、いまがラスト・チャンスなのだ。」と、述べられいて、エルゴノミック キーボードの普及の上では、残念なことであったのかもしれません。

TRONキーボードとNISSEのキー配置の比較(Mサイズ)
なお、NISSEのスイッチの配置はTRONキーボードの研究で得られた指の届く範囲のデータをもとに設計をしたもので、特にMサイズ同士で比較すると、キーピッチは17.5mm (NISSE)と16mm (TRON)で違うのですか、多くのスイッチの位置が割とよく重なります。一点、小指のカラムの向きだけはかなり違うのですが(それでも個々のスイッチ位置は依然として割とよく重なります)、これはTRONキーボードに対してスイッチが放射状に広がりすぎでは、というがあったということや、長くTRONキーボードを使ってきた経験からも小指部分だけはやや違和感が残ったこともあって調整した箇所になります。

まとめ


日本のエルゴノミック キーボードは、もともとはM式もTRONも機械式タイプライターの名残りからの脱却、あるいは刷新という面が強かったような印象があります。エルゴノミック キーボードにすると、普通のキーボードと指使いが違うのでなかなか慣れない、というような発言が日本人から出てくるとは、80年代には想像も出来ないことだったようにも思います。

最近の新たなエルゴノミック キーボードの流行はまだまだ小さなものかもしれませんが、新しい変化についてはこれからも学術、産業両面から見ていきたいと思っています。というわけで、今回はここまでです。


2017年1月27日金曜日

小中学生にもふさわしいキーボードの新しいかな配列の考察とその一案

注) 今回は専門的な内容もあって「である調」 で書いてあります。一部敬称も省略させて頂きました。
2017.2.16一部改定(打鍵効率の表と説明、およびスマホ用UIの図と説明を追加)。

子どもがひとり1台ずつコンピューターを持つことが現実的になっている一方で、日本語の入力方式として現在主流のローマ字入力方式は特に小中学生にはハードルが高いことが明らかになってきている。本稿ではローマ字入力の代わりとなるような、小中学生のときから将来まで使用するのにふさわしい新しいキーボードのカナ配列について考察し、その一案を提示する。

はじめに


今日では日本人がキーボードで日本語を入力する場合、各種調査から約9割の人はローマ字入力を利用していると考えられる。そのため、小学校でも第3学年からローマ字を教える機会が設けられるようになっている[参考: 小学校学習指導要領解説 国語編]。しかし、文部科学省の2014年の情報活用能力調査の結果によれば、『ローマ字入力に関して、小学生については,濁音・半濁音,促音の組合せからなる単語の入力に時間を要している傾向』が見られ、1分間当たりの文字入力数の平均は、小学生で平均5.9文字、中学生で平均17.4文字と報告されている。ローマ字入力については、大学生でも「拗音の表現に困っている様子がしばしば見受けられる」という報告もある。

コンピューターが手書きよりも便利な作文のため道具として有効に活用されるためには、約70文字/分程度の入力速度を得ることが必要となる。OLPCのような活動を通じて、子どもがひとり1台ずつコンピューターを持てるようになってきている今日、1970年代日本語ワープロに対して掲げられていた「入力速度が手書きより速いこと」という目標は、小中学生でも十分に達成可能な方式であることが望まれるであろう。文部科学省の調査結果は、ローマ字入力方式ではそれが困難なことが強く示唆さているように思われる。

キーボードを使った日本語入力方式の歴史


現在のJISキーボードのカナ配列は、1923年にバーナム クース スティックニーが考案したカナモジカイのタイプライター用キーボードがその原形となっている。スティックニーの配列の原則は下記の3点であった:
  1. 小書き文字は字母と分離ぜず最上段に置く。 
  2. 濁点の付く仮名は左側に、濁点キーはその反対側に置く。
  3. 仮名は五十音図の行ごとにまとめて配置する。
また、出現頻度の低いカナはシフト面に割り当てられていて、現在のJISキーボードとは異なり、右手小指を伸ばさなくても打鍵できるように作られていた。

スティックニーの配列(米国特許第1549622号)

現在のJISのかな配列は、スティックニーの配列で主にシフト面にあった文字を右手小指のノーマル面に移動したものである[参考: キー配列の規格制定史日本編]。この移動によってシフトキーを使う頻度は減ったものの、スティックニーの原則3がやや破られ、右手も酷使される結果となった。そのためJISかな配列は、スティックニーの配列を覚えにくく、打鍵しにくく改悪したもの、という認識がなされている。

JISかな配列のこうした問題を受けて、 JISかな配列に代わるかな配列として、その後、
が考案され、市場に投入された。この内、親指シフトは1980年代前半にはワープロ市場でシェア1位を占めるに至っていた。しかしながら、現在では各方式とも熱心な利用者に使われる程度にとどまっている。

市販ワープロにローマ字入力を最初に取り入れたのは、1980年のキヤノワード55であった。ただしローマ字で日本語の文章を書いたり、タイプしたり、と言うこと自体はローマ字論と共に明治時代からあった。また、QWERTYキーボードの代わりに、ローマ字入力に適したアルファベットの配置を取り入れたM式も1983年に市場に投入されたが、現在では製品としてはほぼ終息していると考えられる。

キヤノワード55が260万円といった時期に、QWERTYによる英文タイプのタイピストが国内に既に数多くいたことは、ローマ字入力方式の定着に拍車をかけたであろうと長澤は考察している。1984年にキヤノンはワープロのシェアでそれまで首位だった親指シフトの富士通を抜いて1位に立っている。そしてキーボードを使った日本語入力では、現在までローマ字入力が主流となっている。

かな入力方式の課題


英文タイピストもローマ字入力方式のワープロであれば容易に和文タイピストとしても活躍できる、という利点は十分に理解できるものである。その一方で、一般の人がローマ字入力を使うようになっていったのはどのような理由からだろうか?

M式の考案者森田博士は、『新JIS方式や親指シフト方式などの仮名文字入力方式が、「記憶負担量が大きい」という欠点をカバーするに足るだけのメリットを(略)見出し得ないのではないか?』という疑問を提起していた。

森田博士の考案した「キー配置の記憶負担量」の計算方式によって、日本語について記憶負担量を改めて計算すると、下記の表のようになる(値が小さいほど覚えやすい)。

配列記憶負担量
スティックニーの配列80
50音順かな配列81
ローマ字入力86
JISかな配列99
親指シフト220
新JISかな配列290
TRONかな配列325

50音順かな配列はキーボードにあ行から順に並べた配列で、高速入力には向かないものの、初心者向けの電子機器等で現在でも採用されることがある。これはキーボードを年に数回しか使わないなら「50音順でいいという考え方もあることはある」と述べられている通りであろう。なお、単純なように思われる50音順かな配列であるが、スティックニーの配列は原則2があるため、記憶負担量では両者の差はみられない。

JISかな配列は、記憶負担量でローマ字入力よりやや劣っている。これは多くの人の直感にも合うところであろう。スティックニーの配列は、記憶負担量ではローマ字入力よりも優れており、JIS配列での配列の改悪の影響も小さくはなかったように思われる。

後続の一連のかな配列は、森田博士の指摘する通り記憶負担量では大きくローマ字入力に劣っており、ワープロが安価になり、タイピストのような訓練を受けていない人たちも利用する道具になったときに、配列の並びを見ただけで購入時のマイナス点となった、ということは十分にあり得ただろう。

新しいかな配列の考察


特に小中学生にとっては、ローマ字が日本語をキーボードで入力する上でのハードルとなっていることが明らかになってきた。その時期に、コンピューターのキーボードは、手書きよりも遅い不便な道具という認識ができることは避けるべきことのように思われる。ローマ字入力よりも覚えやすく、実用的なかな配列の研究は改めて重要になっているのではないだろうか。また、「年に数回しか使わないなら」、「短文しか入力しないなら」、といった仮定をすれば、今日では音声入力やフリック入力といったカジュアルな方式が普及してきている点についても注意を払う必要があろう。

前節の記憶負担量の表で見た通り、キー配置の記憶負担量でローマ字入力と同等かあるいは下回るには、スティックニーの方式のように五十音との関連付けをうまく活かした方式がもっとも有望であろう。しかしスティックニーの配列も、キーボードの4段すべてを使うと言う点では問題を指摘されてきたJISかな配列と変わらない。そこで、スティックニーのすべての原則をなるべく活かした3段のかな配列をコンピューターの計算により求めると、一例として下のような配列を得ることができた。
ノーマル面
ゆよおあえ やつりなに
てかしたと んうい゛の
はこすくき れる、。を
シフト面
ゅょぉぁぇ ゃっめみぬ
ちさらせけ もぅぃわま
ほふひそへ ろむ゜ーね 
キーボードの3段のみでは、スティックニーの原則1のため、打鍵効率についても考慮して配列を計算で求めると、キー数に余裕がなく原則3の適用はなかなか困難なことがわかった。この配列の記憶負担量は120となっている。打鍵効率では、ホーム段の性能が支配的となる傾向は見られるが、新JIS配列との比較では「え」など出現頻度の低い文字もノーマル面に来ることから不利になっている。

そこで、小書き文字については、字母を打鍵した後に濁点キーを押して小書き文字化する小書きキー方式についても評価を行った。小書きキー方式はフリック入力ではよく使われている方式であり、今回は、濁点キーに対してローリング打鍵(片手を回転させるようなイメージで、キーを一方向に一気に打って行くような打鍵方法)がしやすい位置に「やゆよ」などの字母を配置するように考慮した。

スティックニーの原則1の代わりに小書きキー方式を採用して、スティックニーの原則2を活かして計算により求めた3段のかな配列に、原則3がよく当てはまるように人為的に多少の調整すると、下のような配列を得ることができた。
ノーマル面
つとこくけ やゆよなに
たはしかて んうい゛の
そせすきさ っれ、。を
シフト面
 ちぬね  むめおまみ
゜ひふへほ わるりあも
      ろらえー?
下の表は、「めくらぶどうと虹」を入力するときの、各配列の打鍵数等を示したものである。この表の打鍵効率は、総打鍵数(シフトキーを含む)を、ひらがなに戻した「めくらぶどうと虹」の文字数で割った数値としている。スティックニーの配列は他方式と違いキーボードの4段すべてを使っている、といった点については考慮されていない。あくまで配列評価の上でのひとつの目安にすぎない、という点は注意されたい。その他の文章を入力した場合の打鍵効率などは、打鍵効率の目安のページで調べられる。

配列記憶負担量打鍵数打鍵効率交互打鍵率連続シフト数同指異鍵同手同段異指
スティックニーの配列803,2601.1858.8%9306153
ローマ字入力864,8641.7647.5%0318406
親指シフト2204,0041.4551.2%0245153
新JISかな配列2903,5601.2958.8%96232209
TRONかな配列3253,3921.2257.4%79223121
上記の配列案873,5851.2955.0%168174276

上記の配列案のキー配置の記憶負担量は87で、ローマ字入力と比べて記憶負担量での差はない。また打鍵効率では、連続シフトの使用率は高くなるものの、高速入力を狙った新JIS配列と同レベルの性能を得られるようである。連続シフトは、シフト面のキーを続けて打鍵するときにシフトキーを押したままにする打鍵方法で、たとえば、「ありました」と入力するときに「ありま」までシフトキーを押したまま入力すると打鍵効率を上げることができる。そのため実用では、新JISで考案された、キーボードのスペースバーをシフトキーとするセンターシフト方式を用いることが望まれる。またアクセシビリティの面から、シフトキーは、やはり新JIS配列で考案されたプレフィックス シフト方式についても利用できるになっていることが望まれるだろう。

この新しい配列案は、計算機のプログラムによって最適解のひとつとして求められた配列に、スティックニーの原則が当てはまるように人為的に調整を加えたものである。スティックニーの原則のような事前の制約条件があると、計算機のプログラムによって効率の良い配列を求める際に一般的には難しいとされている総当りでの判定が比較的短時間で可能となる。こういった計算配列では、任意の配列の良し悪しを評価するスコアリング方法の妥当性が重要になるが、ここではMTGAPの方式を参考にしたスコアリング方法を用いて計算を行った。別のスコアリング方式を用いれば、また異なる配列が得られる可能性は高い。しかし、最終的に計算上の打鍵効率を多少落としてでも、スティックニーの原則3を優先することを重視するのであれば、オーバーアナライズとなるしきい値は意外と低いように思われる。

新しい標準の必要性


大岩は1988年当時、「標準化すべきことはキーボードを計算機につなぐ接続方法である」とし、それが実現できれば、「ユーザーは自分の使い慣れたキーボードと入力方式を,いつでも使いたい計算機環境で使うことができることになる」と述べられていた。

接続方法の標準化は今日ではUSBとBluetoothによって実現し、 大岩の述べた通りスマートフォンからPCまでどのデバイスとでも親指シフトでもTRONかな配列でも好きな配列を使って日本語を入力するようなことが技術的にはできるようになった。6種類の日本語入力方式を選択可能なエスリルのキーボードNISSEでは、親指シフトでの利用者が25%に達していて、大岩の予想は正しかったと言えるだろう。

しかしそれでも、小中学生までキー配置が生徒ごとにバラバラという状況はなかなか想像しがたい。結果的に手書きよりはるかに不便な状況で子どもたちがローマ字入力でコンピューターを使っている状況を改善するには、もう少し強い標準化が望まれるのではないだろうか。

下図は提案したかな配列の刻印を五十音の行ごとに色分けした例である。幼児用の五十音やひらがなの学習のための玩具には様々なものが見られる。その中でスティックニーの原則によるかな配列のキーボードは、玩具としても成り立つ可能性が他方式よりも大きいように思われる。おもちゃとして幼児期から五十音の各行の大まかな位置だけでも覚えていれば、といった想定は他方式ではきわめて困難であろう。しかしそういった安価な商品の多様化のためには、やはり配列の標準化が望まれるものと思われる。

新しいかな配列の刻印の色分け例

またこのかな配列をベースにしたスマートフォン用のユーザーインターフェイスのイメージを下図に示す。キーボードのデザインをベースとしたスマートフォンやタブレット用のユーザーインターフェイスについては、海外では色々な方式が研究開発されているが、そういった新方式が日本語にも応用できる、という点も新しいかな配列のメリットのひとつとなろう。

スマートフォン用ユーザーインタフェイスのイメージ(例)
 

おわりに


日本人はキーボードに慣れていない」といったことが真剣に議論された1980年代から40年近くが経ち、日本人がキーボードを使用すること自体は子どもから大人まですっかり日常的なことになった。一方で日本人のタッチタイプの習得率の低さはなかなか改善されず、英語教育とローマ字(入力)教育の関係についても研究がなされてきている。親指シフトの開発者である神田泰典さんは「日本人は日本語をカナで表記し、ローマ字を使っておりません」と述べられているが、あらためてかな入力方式について小中学生のときから利用するものとして検討を行う時期ではないだろうか。

本稿ではJISかな配列の原形であり、総合的に現在のJISキーボードよりも優れているとされる、スティックニーのかな配列で考案された配列設計の原則を用いて、キーボードの3段にかなを配置した新しいかな配列について考察を行い、一案を提示した。

付録


Windows上で提案した新しいかな配列を使用するためのソフトウェアをGitHubで公開しています: ニュースティックニーかな配列, https://github.com/esrille/new-stickney

2016年8月12日金曜日

新キーボード プロジェクト? - Bluetooth/USB兼用版の開発

今月からBluetooth®無線技術とUSBの両方に対応した、新しいエスリル ニューキーボード NISSEの受注をエスリルで開始しました。前回のブログからかなり時間が経ってしまいましたが、今回は新しいBluetooth/USB兼用タイプのNISSEの開発についてのお話です。

Bluetooth/USB兼用タイプの新しいNISSE

製品版に至るまでの流れ


Bluetooth対応のNISSEについては、この2年余りの間に2種類の試作機を作っていました。Bluetooth無線技術とその関連製品の状況も、この数年急速に変化しているということもありましたので、簡単に2つの試作機から製品版までの変遷の概要を紹介しておきます。

Bluetooth 2.1対応の実験機


Bluetooth 2.1対応の実験機

こちらは2014年7月に作ったものになります。構成は、
というものでした。USB版のNISSEでも使用しているPIC18F4550と、RN42をUARTで接続するだけで使えるようになるのでお手軽だったのですが、日本語キーボードで必要になる、変換キー(0x8a)、Macのかなキー(0x90)といった上位のUSBキーコードを出力する手段が見つからず、その後の開発は行いませんでした(RN42側のファームウェアは変更できないため)。その他にも、
  • 5V駆動の18F4550では電池駆動は大変。
  • 筐体のもともとの開口部付近にBluetoothモジュールを置いても、NISSEのアルミ筐体では電波はあまり届かない。
といった課題が見つかっていました。

Bluetooth 4.1対応の試作機


Bluetooth 4.1対応の試作機

こちらは1年前の2015年8月に作ったものになります。構成は、
のみ、というBluetooth 4.1 (Bluetooth Low Energy)専用のもので、乾電池で数カ月動作できるようなBluetooth Low Energyデバイスらしい試作機になりました。Bluetoothのアンテナ部分もアルミ筐体の外側に出すようにしてあります。

nRF51822ではNordic社から提供されているSDK(当時はSDK 9)を使って、Bluetoothデバイスのアプリケーション層は自由に開発ができるため、RN42のときのような制約もありません(HOGPプロファイルまではNordicのSDKで提供されています)。

このタイプは基本的には製品化も可能なものでしたが、
  • nRF51822 Rev. 3ベースのモジュールの供給待ち、
  • nRF5 SDKの開発状況の見極め、
といった課題もありました。当時流通していたnRF51822 Rev. 2は公式にはSDK 6.1.0までの対応となっている一方で、SDK 6では機能が充分ではなく、新しいnRF51822 Rev. 3の供給を待つ必要があったのでした。

また、このタイプについては並行して製品化にあたってのご要望を受け付けていました。 その際、製品化する場合には 「BluetoothとUSBの兼用タイプにして欲しい」というリクエストを多く頂きました。そのため、製品版では、Bluetooth/USB兼用タイプとすることにして、nRF51822 Rev. 3ベースのモジュールの供給を待つことにしました。

Bluetooth 4.2対応の製品版の構成


2種類の試作機での評価をもとに、Bluetooth/USB兼用タイプとして今回製品化した新しいNISSEの構成は、
  • PIC18F47J53 USBマイコン
  • nRF51822 Rev. 3 (ARM Cortex M0)
となっています(アナログパッド(TSAP)内蔵タイプでは、さらにPIC12F1822が加わります)。Nordic社のSDKもハイペースで更新が続き、その後SDK 11が提供され扱いにくかった部分などはうまく改良がなされています。また対応するBluetoothの規格自体も昨年の4.1から4.2へと変わりました。Bluetooth 4.2では、LE Secure Connectionsが追加された他、4.0以降400以上の仕様の修正が含まれているそうです。

電池の持ちという意味では、USBマイコンが増える分、昨年のBluetooth Low Energy専用タイプに比べて不利になりますが、3V駆動が可能なPIC18F47J53を使うことで対応しています。またPIC18F47J53はプログラムメモリが128KBと、現行のUSB版NISSEのPIC18F4550の32KBと比べて4倍あるという点もPIC18F4550から変更した理由のひとつになっています。

NISSEはUSBマイコンのファームウェアを公開しているので、ファームウェアを改造されて利用されている方もいらっしゃるのですが、最近ではPIC18F4550では開発の余地がほとんどなくなってきていました。

PIC18F4550版のメモリ使用状況
上図はMPLAB X IDEのダッシュボードのスクリーンショットです。PIC18F4550のUSB版のNISSE(TSAP内蔵型)では、プログラム メモリを既に99%まで使い切ってしまっています。そのため、凝った改造をされる場合は使用されていないキー配列のデータを削除していただいたりといった工夫が必要になっていました。

下図は、PIC18F47J53を使った新しいNISSE(TSAP内蔵型)の現在の状況です。Bluetooth関連の機能が追加されていますが、それでもプログラム メモリの使用状況は29%とまだまだ余裕があります。今後の公式なNISSEのファームウェアについても、開発はPIC18F47J53を使った新しいNISSEに移行していく予定です。

PIC18F47J53版のメモリ使用状況

ハードウェア側では、NISSE側のUSBコネクタを大きなタイプBからマイクロBに変更しています。これは、Bluetoothモジュールの設置場所を確保するためにコネクタを小さくする必要があった、というのが一番の理由です。マイクロBは、スマートフォンでもよく使われているので、NISSE本体の電池が切れてしまった場合にモバイルバッテリーから給電したいような場面でも便利かもしれません。

またアルミ筐体の下側のパーツは、USB版ではコストダウンのためアルミ生地のままになっていますが、Bluetooth/USB兼用版では手で持ち運ばれる場面も多くなりそうということもあって、全面アルマイト加工をしてあります。

その他の基本的な仕様は、従来のUSBから変わっていません。NISSEをiPhoneやAndroidデバイスとBluetoothで接続した場合も、特別なアプリなどをインストールすることなくTRONかな配列や親指シフトなどを使って日本語を入力することができます。なお、Bluetooth接続の機器は3台までペアリングを切り替えて使うことができます。


新しい制御基板とBluetooth拡張基板


新しいNISSEは、Bluetooth/USB兼用タイプとしたことで、今回新たに用意したキーボードの制御基板は基本的にはUSBマイコンの基板のままとし、Bluetoothモジュールについては別の拡張基板に実装することにしました。拡張基板はメイン制御基板のソケットに差し込む形で使用しています。

Bluetooth/USB兼用版の制御基板(写真手前。奥の基板は現行のUSB版の制御基板)

上の写真の手前の基板が新しい制御基板になります。その左にある小さな基板がBluetoothモジュールの拡張基板になります(2本出ているヘッダピンは開発用のもので製品版にはついていません)。こちらは太陽誘電製のBluetoothモジュールEYSGCNZWYを載せたものになっています。

新しい制御基板は従来のUSB版の基板と比較して部品点数が増えていますが、ほとんどは電源の管理のための部品です。ちなみに現行品の制御基板は、USB版も新しい制御基板もどちらも4層基板になっています。この数年でNISSEのように生産数の少ないものでも4層基板をわりと気軽に使えるようになってきました。

メインの制御基板と拡張基板は、SPIで通信するように構成しています。実際のBluetoothに関わる処理については、すべて小さな緑色のEYSGCNZWYモジュールの中で行われています(アンテナもこの中にあります)。


ファームウェアの構成


ファームウェアについては、PIC18F47J53用とnRF51822用の2つのファームウェアを新規に開発しました。2つのファームウェアは、PIC18F47J53側ではキーマトリクスのスキャンやキーボードのHIDレポートの生成などキーボード固有の処理を行い、nRF51822側ではBluetooth関連の処理のみを行うように役割を分担させました。そのため、キーボードのカスタマイズについては、PIC18F47J53側のファームウェアを変更するだけで行えるようになっています。

PIC18F47J53のファームウェアについては、従来通り既にGitHubから公開しています。ほとんどの部分は従来のPIC18F4550用のソースコードと共通ですので、これまでご自分でUSB版のNISSEをカスタマイズされて使われていた方であれば容易にBluetooth/USB兼用版にも移行できるのではないかと思います。


Bluetooth認証試験とBluetooth SIGへの製品登録について


今回の新しいNISSEでのBluetooth無線技術の利用については、Bluetoothの認証試験やBluetooth SIGへの製品登録といった正規の手続きを経たものになっています。すべてのBluetoothの製品は、必要であれば認証試験を実施し、Bluetooth SIGに製品登録を行って、はじめて製品として出荷できるような仕組みになっています。

生産数の少ない商品では費用・工数的に大変な印象もありますが、全体としては比較的低コストで機器の相互運用性を確保していくための施策をBluetooth SIGが取られている、ということのように思います。

今回のNISSEの場合も、承認の申請や認証試験での問題(問題は起きない方がもちろん良いのですが、試験の仕様側に問題があった場合の手続きなどもSIGで決められています)についても、Bluetooth SIGの方々にスピーディーに対応して頂くことができました。ちなみにエスリルにはBluetooth SIGからCompany ID 936(0x03A8)が割り当てられています。


対応デバイスについて


Bluetooth SIGに製品登録済みの製品同士であれば、基本的な相互運用性は確保されている筈ですが、実際にはデバイス側にもOS側にもバグなどが残っている、ということはありえることです。現在手元で動作を確認しているOSやデバイスには下記のようなものがあります:
  • iOS9: iPhone 5s
  • OS X El Capitan: Mac mini (2014)
  • Windows 10: XPS 12 (2012), VivoTab Note 8,  NUC DN2820FYKH
  • Windows 8.1: XPS 12 (2012)
  • Android 5: ZenFone 2 Laser
Bluetooth 4.xは、規格自体の更新ペースが速かったこともあり、OSについてはなるべく新しいものを使われることをおすすめします。NISSEについても将来何か問題が見つかった場合には、nRF51822側のファームウェアについてもお手元でスマートフォンなどから更新できるようにしてあります。

Linuxデスクトップについて: Linuxデスクトップに関しては、最新のFedora 24, Ubuntu 16.04.1 LTSなどでもまだBluetooth 4.xのキーボードについてはGUIからうまくペアリングができない場合があるようです。そういった場合でも、コマンドラインからであればペアリングできる場合もあります(Ubuntuの例, Fedoraの例)。


電池での使用時間


新しいNISSEは、USBからの給電に加えて、単3形電池2本で駆動できるようにしています。ただメイン制御基板でUSBマイコンを使用しているため、Bluetooth Low Energy専用のデバイスと比べるとどうしても消費電流が大きくなっている部分があります。

下のグラフは、TSAP内蔵タイプのNISSEをタブレットPCにBluetoothで接続して24時間電源をONにし続けた場合の、スタンダードモデルの単3形エネループ2本の放電電圧と放電時間の傾向を示したものです(実測値を基づいて傾向としてまとめたものです。実際の放電電圧と放電時間は使用状況等によって毎回多少変動します)。

放電時間と放電電圧の変化

エネループは1本あたりでは1.2V〜1.3Vの電圧を比較的長い時間維持した後、急速に電圧が下がっていくような傾向のあるニッケル水素電池です。新しいNISSEの場合は、12日目まで2本で2.4V以上を保ったあと、急速に電圧が落ちていくような傾向にあります。エネループの場合は、NISSEの電圧の表示(FN-F1で見ることが出来ます)が2.4Vを切った頃に電池交換の準備をしておくと安心かと思います。

なおグラフは24時間Bluetoothで接続し続けた場合の変化になりますが、実際にはスマートフォンなどのデバイス側が液晶をOFFにしてサスペンド状態に入ったことをNISSEに通知してきたり、デバイス側の電源が落とされてBluetoothの接続が切れたような場合には、NISSE側も消費電流を1/3程度に落とすようにしています。そのため実際には1回の充電で2週間以上使えるような場面も多いかもしれません。加えて作業が終わった後はNISSEの電源ボタンもOFFにするようにしていれば電池をより長持ちさせることができます。

なお、今回はBluetooth/USB兼用タイプということで、NISSEをUSBケーブルでメインのデスクトップPCなどにつなげていれば、NISSEには電池が入っていなくてもUSBポートから電源を取って動作します。


まとめ


というわけで、一昨年のUSB版のNISSEの開発当初からご要望を頂いていたBluetooth無線技術に対応したNISSEも今回お届けできることになりました。製品価格については、キーボードとしてはさらに高価なものになってしまいましたが、Bluetooth SIGへの製品登録に関わる費用や生産台数を考えると可能な範囲で抑えた価格に設定してあります。

USB版のNISSEも、製品化当初は部材費のコストが大きくMakersの2.3xルールに価格が収まっていませんでしたが、2年以上に渡って出荷を続けれられてきたことでかなり改善できてきた部分がありました。新しいBluetoothに対応したNISSEについても、このあたりは長いスパンで改善していければと思っています。

というわけで今回は以上です。 次回はもう少し近いうちに何か書ければ良いのですが、いまのところ予定は未定です。 :-)


2015年9月30日水曜日

新キーボード プロジェクト? - ポインティング デバイス内蔵タイプの開発

Bluetooth LE(BLE)版のNISSEの開発は前回で一段落ということで、今回はNISSEのようなキーボードに求められることの多いポインティング デバイス内蔵版の開発のお話です。

タッチセンシング アナログパッドを内蔵したNISSE

なお、BLE版のファームウェアについてはその後も開発を継続していてます。前回は、『ファームウェアの書き換えには、TSUBOLink-IIのようなCMSIS-DAPデバッグアダプタが別途必要』でしたが、現在はNordic社のnRF Toolboxアプリを使ってスマートフォンなどからファームウェアを更新することもできるようになっています(より詳しくはこちらを)。

スマートフォン(iPhone版)からBLE版のNISSEのファームウェアを更新しているところ。
BLE版のNISSEの発売については引き続き検討中です。すぐに販売開始とはしていない理由としては、
  1. Bluetoothの登録料金の扱い(最終的には料金を製品価格に反映させることになるので、NISSEのような製品では1台あたりの負担がかなり高額になります)。
  2. nRF51822のICリビジョンの扱い(HRM1026ではRev. 2が使われていますが、Nordic社の最新のICはRev. 3となっていて、SDKの対応もRev. 3専用になってきています。現在のBLE版NISSE用のファームウェアはRev. 2用にカスタマイズしてあります)。
といったところがあります。1.については大量生産モデルから離れることのできる今のMakersムーブメントを考えると、無料でEPL登録ができた2014年1月以前の体系の方が良かったような印象はありますね。

内蔵するポインティング デバイスの選定


エルゴノミック キーボードのユーザーの方はなるべく手をホームポジションから動かしたくない、という方も多く、NISSEについてもポインティング デバイスの内蔵タイプのリクエストをいただくことがありました。

NISSEやオリジナルのTRONキーボードの場合は、親指のキーが弧状に配置されていることもあって、その中心付近のスペースにポインティング デバイスを置いてみたいというアイデアをかなり前からもっていました。

キーボードに内蔵されているポインティング デバイスとしては、
  • タッチパッド
  • トラックボール
  • ポインティング スティック(トラックポイントなど)
が定番になるでしょうか。それぞれに良い所がありますが、3Dゲーム機が登場してからは親指を使ったアナログ スティックの操作に慣れた人がとても多くなっていることもあって、NISSEではアナログ パッドを使うことにしました(スティック タイプではなく、パッドにしたのは、汎用品のスティック タイプのものは操作するのに必要とされる力が大き過ぎたため)。

アナログパッドを親指のキーの下側に配置することにして、次に決めないといけないのは、マウス ボタンをどこに配置するか、ということでした。一番安易なのは必要な数だけさらにボタンを追加するというもの。 ただ独立したカーソルキーまでオミットしているNISSEで、わざわざボタンを増やすというのはナンセンスということがありました。

アナログパッドに指が置かれているかどうか検知できれば、キーボードのキーをマウス ボタンとしても兼用できるはず、ということで先月タッチセンサーを組み込んだアナログパッドを作って実験してみました。結果は思った以上にうまく行きました。

タッチセンサーを組み込んだアナログパッドの試作品。白いプラ板の下側にタッチセンサーがあります。
最近のマイコンはタッチセンサーを作るために必要な機能があらかじめ組み込まれているものが多くなっています。タッチセンサーの電極部分とマイコンを繋げば簡単にタッチセンサーを作ることができます。写真のように電線1本でON/OFFの区別ができるという仕組みはとても面白いものなので、気になった方は調べてみてください。

プリント基板


タッチセンサーを組み込んだアナログパッドを使ってみた結果は満足の行くものでしたので、 実際にプリント基板を起こしてNISSEに組み込んでみることにしました。スペースが限られた場所に部品を詰め込むこともあって、製品版のNISSEでははじめて表面実装部品を使っています。(Makers本からは"Use surface-mount components if at all possible"というのがルール#8に出てきていますね。)

アナログパッドの基板(製品版)。設計にはいつも通りKiCadを使っています。

アナログパッドの基板上のマイコン(PIC12F1822)と、NISSEの制御基板上のマイコン(PIC18F4550)はUARTで通信して動いています。PIC12F1822は必要がないときはスリープしているので、消費電流はごく僅かなものになっています(BLE版でも使えています)。

樹脂パーツ


静電容量式のタッチセンサーは電極と指までの距離が数ミリ程度離れていても、指が近づいてきていることを検出できます。ただ距離がありすぎるとさすがに検出が不可能になってしまいます。

今回のアナログパッドの形状は、厚みがありすぎるとタッチセンサーが指を検知できなくなってしまう一方で、薄すぎると操作感が良くない、という難しい部分でした。今はこういったパーツも高性能な3Dプリンタで手軽に出力して比較検討できるようになっているのはありがたいところですね。

3Dプリンタで出力した樹脂パーツの試作品。設計にはFusion 360を使っています。

ファームウェア


ファームウェア(PIC18F4550側)については、いつも通りGitHubから公開しています。

マウスカーソルの操作は、パッドの操作量に応じてかなり遅い動きから速い動きまで調整できるようにしてあります。遅い動きの場合は、単純に1ドット単位でカーソルが動くのではなくて、アナログパッドを10回スキャンするたびに1ドットずつ動く(実質0.1ドット単位で動いている)、というような操作をできるようにしてあります。

そのため慣れてくればマウスがなくても困らないような場面が多くなってくるかと思います。とは言っても、ノートパソコンとマウスをいつもセットで持ち歩いている人の多さからも明らかなように、マウスのポインティング デバイスとしての優秀さは圧倒的なものがあります。今回のアナログパッドも、ファームウェア側でいろいろと対処していますが、右手にマウスやデジタイザ、左手でキーボード ショートカットというような操作が基本になるCADソフトのようなアプリケーションの場合には、素直にマウスやデジタイザを使った方が効率は良いように思います。

タッチセンサーの処理は、タッチセンサーから指を離した時に on/off のしきい値を再計算するように実装しています。グラフは、実際の入力値、ローパスフィルタを通した値、しきい値を示したものです。

タッチセンサーのon/off判定。しきい値の下側にフィルタした値があればタッチしていると判定しています。

現在のファームウェア(ver 0.17)には組み込んでいませんが、パッドを動かし始めた時の速度に応じて感度を動的に変化させるような機能も組み込んでみるのもおもしろいかなと思っています。このあたりもファームウェアについては引き続き開発を進めていく予定です(マイコンのプログラム メモリの空きがさすがに少なくなってきていますが)。


まとめ


ポインティング デバイスについては、マウスやデジタイザなど非常に洗練されたデバイスが既にあるので、逆にアナログパッドなどになると良い汎用品が非常に少ないのが課題のひとつでしょうか。今回使用しているアナログパッドは作動力120±50gfとなっています。操作感についてはパッドの形状である程度対処していますが、理想を言えばもう少し軽いものがあると嬉しいところだろうと思います(パッドを中央に戻すためにある程度バネの力が強いものを使わないといけない、というような背景があるように思います)。

NISSEの制御基板とアナログパッド基板間で使っているシリアルのプロトコルはごく単純なものなので、カスタマイズしてみたい方は実際にいろいろと試してくださればと思います。PIC12F1822側のプラグラムもとても単純なものですが、こちらもご要望があるようであれば公開します(書き換えにはPICkit 3などが別途必要になります)。

というわけで今回は以上です。新キーボード プロジェクトもはじめて2年ほど経ちました。キーボードに関してはやってみたかったことはこれで一通りできたような感じもありますが、さらに要望等ありましたら、お気軽に。 :-)

お知らせ: ポインティング デバイス内蔵型のNISSEは今週からエスリルのウェブサイトから購入できるようになっています。

2015年8月13日木曜日

新キーボード プロジェクト? - Bluetooth LE版の開発

今回はBluetooth Low Energy(BLE)版のNISSEの開発のお話です。下の写真が、開発中のBLE版のNISSEになります。青いリングのついた透明のドームの中にBLEのアンテナが出ています。その右の方にある白色のボタンが電源ボタンになります。

開発中のBLE版のNISSE。

去年、Bluetooth 2.0のモジュールで実験を行った時は、
  • 電池が持たない(要毎日充電)、
  • 利用したモジュールにあらかじめプログラムされているファームウェアの制約で、どうやらUSBのキーコードが0x65より大きなキーを使えない、
という問題がありました。

その後一気に広まってきた感じもあるBluetooth 4.0のBLEでは、もともと省電力化が目的ということで、電池についての心配はなさそうてす。そこで今回は、Nordic nRF51822ベースのホシデンのHRM1026 BLEモジュールを使って実験を進めてみました。

制御基板


下の写真が今回開発したBLE版NISSEの制御基板です。中央上部にある、青色の9.6mm x 16.1mmという小さなモジュールがHRM1026です。USB版のNISSEの制御基板と入れ換えると、BLE版のNISSEになる、という構成です(電池蓋や電源ボタンの部分でアルミ筐体も一部変更が必要になります)。

BLE版NISSEの制御基板

nRF51822は、ARM Cortex-M0のCPUコアとBLEのトランシーバーを組み合わせたSoCです。HRM1026は、nRF51822にアンテナやクリスタル(16MHzと32.768kHzの両方とも)を組み合わせたモジュールです。GPIOも計30端子あるということで、キーボードなどはこのモジュール一つで作れるようになっています。実際、今回の基板はNISSEの制御基板のサイズに合わせて作ってあるので、部品面はかなり余裕があります(背面には、単3電池2本用の電池ケースと電源スイッチが付いています)。

HRM1026まわりの回路図

HRM1026は、モジュールの背面にはんだバンプが38端子ある仕様です。そのため制御基板への実装は、電子工作ではお約束な感じもあるArduinoで温度を制御したオーブン トースターを使いました。今回部品がほとんど表面実装タイプになっているのはそのためです。

オーブン トースターでリフローが終わったときの様子

制御基板へのファームウェアの書き込みには、CMSIS-DAPデバッグアダプタのTSUBOLink-IIを使っています(本来はHRM1026の前に製品化されたHRM1017用ということのようです)。TSUBOLink-IIは、ファームウェアの書き込だけでなく、gdbでのデバッグに使ったり、制御基板のUARTと繋いでUART-USBブリッジとしても使えます(かなり便利です)。

ファームウェア


TSUBOLink-IIということでファームウェアはmbed?と思われた方もいらっしゃるかもしれませんが、今回はキーボードのファームウェアのサンプルも提供されていることから、NordicのnRF51 SDKを使っています。

基本的な機能については、USB版のNISSEとTRONかなや親指シフト入力などのサポートも含めてほぼ同じですが、以下の機能が増えています:
  • FN-1, FN-2, FN-3でターゲットの切り替え
  • FN-ESCで再ペアリング
  • ESCを押しながら電源onでキーボードのリセット(ボンディング情報の全消去)
ペアリング中は、NISSEの赤緑青3色のLEDが、それぞれターゲット1, 2, 3に対応して点滅するようになっていて、どのターゲットを使おうとしているかわかるようになっています。

BLEでは、ボンディング(セキュアにリンクしたペアリング)済みのターゲットについては、特定のどれかを指定して接続することができるようになっています(ホワイトリスト機能と呼ばれています)。そのため複数のターゲットを切り替えて使う、という機能はわりと手軽に実装できます。

意外と面倒なのは、それぞれのターゲットと順にボンディングを作っていく部分です。1台目のボンディングが終わって、2台目という場面で、1台目のbluetoothがonのままだと、2台目とボンディングする前にまず1台目が先にリンクを確立してしまうので、いつまでたっても2台目と接続できないという問題が起きたりします。ここは一度1台目のbluetoothをoffにしてもらえればいいという話もあったりするのですが、今回はNRF51 SDKのデバイスマネージャーにパッチを当てて使い勝手を良くしてあります。

すでにこの原稿もBLE版のNISSEで書いていたりしていますが、ファームウェアについては今後も開発を進めていく予定です。このあたりは、USB版と同じような形です。また、いまのところファームウェアの書き換えには、TSUBOLink-IIのようなCMSIS-DAPデバッグアダプタが別途必要になります。

まとめ


今回のBLE版NISSEの実験機では、これまでのところ下記のBluetooth 4.0に対応した機器で基本的な動作を確認できています:
  • Apple iPhone 5s / iOS 8.4
  • DELL XPS 12 / Windows 8.1
  • ASUS VivoTab Note 8 / Windows 8.1
  • PLANEX BT-Micro4 (USBアダプタ) / Fedora 22 WORKSTATION
Bluetooth 4.0より前の、Bluetooth 2.0等のインターフェイスしか持っていないパソコンなどではBLEは使えないという点には注意してください。

BLE版の開発にあたって、これまでの流れはざっくりとは下のような感じでした:
  • 7/01 TSUBOLink-IIとHRM 1017モジュールピッチ変換基板をオーダー。
    •     HRM 1017を使った予備実験でキーボードとしての機能を確認。
    •     HRM 1026用の制御基板をKiCadで設計。
  • 7/20 HRM 1026とHRM 1026用の基板をオーダー。
  • 7/22 リフローオーブントースターを組み上げる。 :-)
    •     リフローオーブンのPID制御の調整など。
  • 7/29 実験機を組み上げる(部材到着待ちでした)。
    •     ファームウェアの開発を本格的に進める。
先月から実験を開始したBLE版のNISSEになりますが、nRF51 SDKの更新頻度も意外と早く、開発にあたってはファームウェア開発の割合が意外と大きい印象です。

なお、一般向けのBLE版NISSEの製品化についてはいまのところ未定です。2014年2月からBluetoothの製品での使用に多少費用がかかるようになっているので、BLE版のNISSEが製品化されれば欲しいという方は、ぜひ『申し込みフォーム』の備考欄に「NISSE BLE版希望です」と書いて送信してください。ある程度の生産数が見込めるようであれば受注を開始する予定です。(実際に受注を開始した場合、生産数にもよりますが価格はUSB版から最大1万円アップくらいになりそうです。)



2015年6月14日日曜日

A brief timeline to Esrille New Keyboard − NISSE from 1980's

Note this article is basically an English edition of my previous article written in Japanese.

This month, Esrille New Keyboard − NISSE with 17.5 mm key spacing (Size M) has been released in addition to the standard 18.8 mm key spacing model (Size L). Recently, Japanese ergonomic keyboards evolved since 1980's seem to be revisited very often by keyboard enthusiasts around the world.

NISSE Size M (front) and Size L

This article describes how Esrille New Keyboard − NISSE has been evolved from the TRON keyboard designed in 1980's in the TRON project.

BTRON and TRON Keyboard


In 1987, Panasonic showed their personal computer prototype running the BTRON operating system. The picture of the prototype can be seen in this article (in Japanese). BTRON operating system had supported multitasking and an overlay multi-window user interface. At that point, Windows 1.0 supported only a tiling-window user interface, and Mac OS had not supported true multitasking yet. The expectation for BTRON to be released was huge in the middle 1980's.

TRON keyboard

The design of the TRON keyboard attached to the BTRON personal computer was also remarkable. In Japan, people who could touch type were extremely rare in 1980's. The standard keyboards with 19 mm key spacing seemed to be too large for the average Japanese adult hand length to touch type. It was reported that only 15 per cent of college students could touch type even in 2014 in Japan.

TRON keyboard addressed these issues; key switches were more naturally placed, and production TRON keyboards were expected to be released in three sizes, S, M, and L without based on the one-size-fits-all mentality. The key spacing used with the M size TRON keyboard was only 16 mm.

In 1991, a production TRON keyboard, TK1, was finally released. It could be used with the BTRON personal computers that were also released late in 1991, and with NEC PC-9800 series personal computers that were very popular in Japan until early 1990's. Unfortunately, it was Size M only, and could not be used with Windows running on PC/AT compatibles, which were becoming quite popular even in Japan. The sale of TK1 was ended in 1996. In 2001, about 200 units of a new TRON based keyboard, ST-2000, was manufactured, which was the last TRON keyboard released so far.

Note a more conservative version of the TRON keyboard, named µTRON keyboard, is available since 2007.

M-type Keyboards


I should also mention about the M-type keyboards that had been sold from NEC since 1983 and for about 20 years. Dr. Masasuke Morita at NEC invented M-type keyboard in the early 1980s. Several pictures of M-type keyboards are collected in this page. As we can see, Dr. Morita had developed many common designs of today's ergonomic keyboards. The last M-type keyboard, named ergo-fit keyboard, was released in 1998, and said to be 20,000 units were manufactured a year.


A version of M-type keyboard (front) and NISSE

Tweaking the TRON keyboard


Due to the lack of products, I started making my own custom TRON keyboard since 2004. I guess keyboard geeks are eventually trying to make their own keyboards in any country. :-)

Unit #1 (2004)
The 1st one was basically a failure; PCB patterns had mistakes, and key switches are placed too high from the table. I had to use separate arm rests for using the 1st one.

Unit #2 (2005)

The 2nd one fixed the PCB patterns, and key switches were placed at lower positions by cutting the front corner edges of the PCB outlines. I don't have to use separate arm rests anymore. NISSE uses basically the same PCB outline design used in this 2nd one.

Unit #3 (2005)

The 1st and 2nd one used ALPS switches, which were slightly bigger to be used for a TRON Size M keyboard. The key spacing of the first two units was about 17.5 mm, which turned out to be too large for my hands with the TRON keyboard's switch layout. The 3rd one uses Cherry MX switches, which have a smaller form factor, with the standard 16 mm key spacing of the TRON Size M keyboard.

I used the 3rd one for about five years, and it still works fine. The long operating life of Cherry MX switches is quite amazing. The only issue I found with the 3rd one was the placement of key switches for pinkies. The pinky column angle didn't fit with my natural pinky movement, and was not very comfortable to touch type.

Unit #4 (2010)

I made the 4th one with 15 mm key spacing in 2010. I found this small keyboard comfortable with my hands. However, it used tiny tact switches, and I had to make a new one in 2013 as their operation life is not very long like Cherry MX switches.

NISSE


The 5th one, which is now called NISSE Size L, uses the standard 18.8 mm key spacing. My goals were,

  1. to make it easy to migrate from the TRON keyboard,
  2. to employ Cherry MX switches again, and
  3. to minimize the construction time by using the standard 18.8 mm key spacing.

I have also tweaked the NISSE firmware so that it can handle several efficient Japanese Kana character layouts natively. NISSE supposed to be only my own 5th custom keyboard. However, because of this firmware, several Kana layout users contacted me if they can also use NISSE. It was the beginning of NISSE as a real product.

Note: Today, most Japanese people input Japanese characters using Romaji, basically typing one or two English characters that represent the sound of a Japanese Kana character for each Kana character. It is okay but maybe not optimal. Kids do not learn how to write Japanese in Romaji until the third-grade in elementary schools.
From late 1970's, several efficient Kana layouts have been studied including the TRON Kana layout. Thumb shift layout, developed by Yasunori Kanda and others at Fujitsu, was the most commercially successful one among those; it even took the word processor market lead in 1980's.
Unfortunately, most of the today's operating systems and IMEs do not support those efficient Kana layouts natively. When these Kana layouts are used with NISSE, the firmware of NISSE converts Japanese Kana characters into Romaji internally so that virtually any operating system and IME can be used with these Kana layouts.

NISSE Size M


NISSE Size L was basically designed to fit with the average hand length of Japanese adult male, about 183 mm, or longer. The average hand length of Japanese adult female is about 169 mm. So shrinking the key spacing to about 92 per cent would provide better usability for wider potential users in Japan. NISSE Size M uses 17.5 mm key spacing.

Green trace lines indicate the finger reaches collected in the TRON keyboard research

While the key spacing of NISSE Size M is 1.5 mm longer than that of TRON Size M keyboard, the required finger reaches are very close as illustrated in the above figure.
Note NISSE Size M key layout is not a micro-copy of NISSE Size L; key column angles are also tweaked a bit.

Small keycaps being machine milled

The challenge for releasing NISSE Size M is in the production of small keycaps that fit 17.5 mm key spacing. Since the number of NISSE Size M to be released is very limited, making new metal molds for keycaps was not a viable option. Instead keycaps used in NISSE Size M are machined milled by CNC milling machines from the standard 18 mm keycaps for 18.8 mm key spacing.

Summary


Perhaps it was sort of a lucky for Japanese computer manufactures and researchers that most Japanese people had no experience using keyboards including typewriters until 1980s. Re-inventing a computer keyboard seemed to be considered a right direction, rather than training people to use the existing computer keyboards evolved from typewriters. Even though the commercial results of both TRON keyboard and M-type keyboard didn't look very successful, the researches conducted during 1980's seem to be still valid and actually very interesting.

Releasing keyboards in three sizes was one of the goals shown in the TRON project in 1980's. Probably it is more crucial for ergonomic keyboards than the standard keyboards since more users lean their forearms on the table or arm rests during typing and finger reaches are more limited. Now NISSE is provided in two different sizes. Hopefully keycap makers would follow this direction too so that more keyboard makers can release their keyboards in multiple sizes much easily.

2015年6月10日水曜日

新キーボード プロジェクト? - NISSE Mサイズまでの長い道のり

エスリルでは、今月からキーピッチ17.5mmのNISSE Mサイズの受注を開始しています(標準的なキーボードのキーピッチは約19mmです)。手の大きさの個人差はかなり大きく、学術的には、毎日長時間使われる方も多いキーボードに関しては、"one-size-fits-all"という考え方によらずに、それぞれのユーザーの手の大きさにあった、特により小さなキーボードが提供されることが期待されていました。

NISSE Mサイズ(手前)とLサイズ

今回はキーピッチ17.5mmのNISSE Mサイズの実現に至るまでの道のりを少し長いスパンで紹介したいと思います。

BTRON


1987年、松下電器(現Panasonic)からBTRONパソコンの試作機開発成功のニュースが流れました(実機の写真がこちらの記事に載っています)。この当時のBTRONへの期待感はものすごいものがありました。Windows 2.0の発売前で、オーバーレイ ウィンドウでマルチタスクのパソコンというだけでもすごかったのです。まだWindowsはタイリング ウィンドウ、Mac OSはシングルタスク、という時代でした。

その中でも、特に目を引いたのはその独特な形状のキーボードでした。当時のパソコン雑誌の付録にもTRONキーボードのペーパークラフトが付いてきて、来年には発売されるから、いまからタッチタイプの練習をしておこう、みたいな企画まであったように記憶しています(NISSEでペーパークラフトを配布しているのはこの影響もあったりします)。TRONプロジェクトの計画では、キーボードはS・M・Lの3サイズが提供されることが期待されていました。

TRONキーボードは1991年になって、ようやくNECのPC-9801にも接続可能なMサイズのタイプが1種類一般向けに発売されました。Windowsはすでに3.0になっていて、DOS/Vの普及がはじまった時期とも重なり、インターフェイスがBTRONかPC-9801シリーズというのは時期も悪かったような印象がありました。自分の使っているパソコンも既にAT互換機になってしまっていたのでした。

自作開始


それから20年近くたって、やっぱりTRONキーボードは使ってみたいなぁ、ということで、2004年の暮れに1台作ってみることにしました。キーボード マニアは最後は大体自作にたどり着くような気がします(笑)。

自作1号機

1号機はせっかくプリント基板を起こしたのに配線が間違っていた、という失敗作(はじめから空中配線で良かった、という)。ただこの形状ではキースイッチの位置がかなり高くなってしまってアームレストが必須ということに気付いたのだけは一応の成果でした。

自作2号機

すぐに作りなおした2号機は基板前縁を斜めにカットするデザインに変えています。もうこの2005年の時点で3枚の基板の基本構成や外形はNISSEと同じになっています。この形状であれば、実際にアームレストなしでも自然に使うことができる、ということを確かめられたのも良かった点のひとつです。

自作3号機

1号機, 2号機までは、ALPSスイッチを使っていたこともあって、キーピッチは17.5mmくらいになっていました(実物はもう残っていません)。TRONキーボードのMサイズは16mmで、17.5mmでは実際にやや大き過ぎる感じがありました。そこで、ALPSスイッチよりも寸法の小さなCherryのMXスイッチに変更して、キーピッチを16mmで作りなおしたのが3号機です。

この3号機は2005年から2010年まで使っていたのですが今でも問題なく動きます。Cherry MXスイッチの5,000万回という寿命はなかなかすごいものがあります。

3号機で唯一気になっていたのは小指部分のキーでした。自然に小指を動かした時の角度と小指のキーの並んでいる角度が微妙に合わず、タッチタイプが意外としにくかったのです。

自作4号機

問題はキーピッチかも、ということで2010年にキーピッチ15mmで4号機を作ってみました(ちなみにTRONキーボードのSサイズは14mmだそうです) 。ここまで小さくすると小指の違和感もなく、なかなか使いやすいものでした。ただコーヒーとかをこぼしたりしすぎた所為もあって(汗)、2013年には新しいものが必要になってきました(使っているスイッチが液体の侵入に弱く、ときどきスイッチを新品のものに交換して使ったりしていたのでした)。

新キーボード?


実際に新しいキーボードを作るとなると結構時間を取られるので、他社のエルゴノミックキーボードを使ってみたり、自作3号機を復帰させてみたりしていたのですが、4号機の代わりとしてはどうも、ということではじめたのがこの「新キーボード プロジェクト?」でした。

最初の新キーボードのスケッチ

上の画は、今ゼロから作るとしたらこんな感じかな、と2013年に書いた最初のスケッチ。TRONキーボードほどは小指部分を傾斜させない代わりに、もう少し大きめのキーピッチにしてみたいな、というくらいのイメージでした。キーピッチは17.5mmを想定していました。

新キーボードのプロトタイプの前で

ただ実際に作ることを想定すると既成品のない17.5mm用のキーキャップを作るのは大変、ということで標準の18.8mmでなるべく良いモノを、ということに方針を変更してできたのが新キーボードでした。「新キーボード プロジェクト」とラベルのついた一連のここのブログ記事は、もともとはこの過程をまとめていたものです。

最初の新キーボードのプロトタイプはスケッチを書いてから2か月足らずで完成しているので、実際には思ったよりも早く出来上がっています。それも大半はモックアップを作っていた時間で、基板設計に関してはKiCadのおかげでかなり短縮できました。

これでまたMXスイッチの自分の手にあったキーボードができたと喜んでいたところで、Facebookの「親指シフト グループ」の方たちからお声がかかり、これはどうやらほかにも欲しそうな方たちがいらっしゃる様子、ということで「プロジェクト?」だったものを、本当の「プロジェクト」として進めて行くことにしました。

NISSE


基板の設計はもうできていたものの、実際に商品としてまとめていくときに一番苦労したのは実は筐体部分でした。3Dプリンタが流行っているとはいっても、製品となると3Dプリンタの出力のままでは厳しいものがあるし、逆に金型までおこすとなるとNISSEの生産数ではコスト面で合いません。そこで新キーボードの筐体は精密板金で進めていくことにしました。

精密板金によるアルミ筐体を使った製品仕様のNISSE

ところが、一見単純に見えるNISSEの形状を精密板金で仕上げられる製作所がなかなか見つからなかったのです。問い合わせた製作所の半分は形にすること自体が不可能という回答でした。小さなMakersの場合、製造工程の大半は他の製作所等にお願いすることになります。製作所の得意・不得意もありますし、要求にあった製作所を見つけるのには少し時間がかかると考えておいた方が良いかもしれません。

その後、NISSEは部品単価をより抑えられるように、プリント基板は4回、筐体も1回設計変更をして現在に至っています。ごく一部の方向けと思っていたNISSEも、FCC Part 15 クラスB機器としての要件をクリアして、アメリカまで届けるようなことになったのは、当初はまったく想定していなかった出来事でした。

NISSE Mサイズ


今回、2015年6月から新たに提供をはじめたNISSE (Mサイズ)は、新キーボード プロジェクト開始当初に一番使いたかった、標準の18.8mmよりも小さな17.5mmのキーピッチを採用しています。エルゴノミック キーボードには興味があったのだけれど、実際に触ってみたら大き過ぎて手に合わなかったという経験がある方は、ぜひ一度NISSEのMサイズを試してみてください。

NISSEは前腕を机上やアームレストに置いたままの姿勢で利用できるように作っています。古いタイピングの教科書では肘を直角にして腕を浮かせて打鍵するように説明しているものもあるかと思いますが、人間工学的には前腕(手首ではないです)を支持台に乗せたまま、楽な姿勢でキーボードを利用することが勧められています。LサイズとMサイズどちらが良いか迷われたときは、前腕を動かさずに各キーに自然に指が届くサイズのNISSEを選んでください。手の大きな方でも、Mサイズの方を好まれる方もいらっしゃるかと思います。

NISSEのホームポジションと手の置き方

上の写真はNISSE Mサイズ(試作品)で手の長さは180mmです。日本人の男女合わせた手の長さの平均は178mmなので、比較的日本人の平均的なイメージに近いかと思います。

NISSEの場合の、ホーム ポジションへ手を置く手順は、

1) 右手の人差し指、中指、薬指、小指をJ, K, L, ;キーに、親指をスペースキーの上にのせる。
2) そのまま手を広げた時に、人差し指、中指、薬指、小指が6, 8, 0, =キーの方向に自然に伸びることを確認して、そのまま前腕を机(あるいはアームレスト)の上に置く。
3) 左手も同様になるように体とキーボードの距離なども合わせる。

のような感じで調整してみてください。ふつうのキーボードとは少し違いますが、慣れれば自然にできるようになるかと思います。

Mサイズ用に加工中のキーキャップ

MサイズのNISSEの提供が当初困難だったのは、小さなキーキャップが工業製品として一般には流通していないためです。今回は、新しいキーキャップの金型をおこして作っているのではなく、18.8mm用のキーキャップのスカートの部分をCNCフライスでカットして作っています。このあたりも生産数に対してなるべくコストを抑えられるように工夫している部分になります。

まとめ


人間の手の大きさに合わせてキーピッチの異なるキーボードを何種類か作る、という考え方は、1980年代にTRONキーボードの設計の中でも述べられていた通りです。最近ではワシントン大学をはじめ海外の研究でも同様のことが述べられるようになってきています。

一方、1988年にM式の森田正典さんはご著書の中で、
『研究室の実験だけならば、キーの大きさを、大中小何種類作るのも自由であるが、工業製品を開発する見地からは、キー用のスイッチが大量生産品であり、この大きさを変更することは、その変更したスイッチの生産量が大量に保証されない限り、現実的には実現困難なことであることが案外知られていないようである。』
と述べられています。こういった部分は、工業製品としての見地からは依然として正しいものでしょう。そうでなければ、TRONキーボードもMサイズ以外のタイプも商品化されていたかもしれません。

ただ、こういった点もMakersの時代になって少しずつ変えていける領域のひとつではないかと思っています。従来の大量生産という観点にはとらわれずに、かと言って一点ものではなくて、まずは5個でも10個でも自分に必要な数よりは多めに作れるように考えながら、試行錯誤していくと少しユニークだったり、大量生産品よりも便利なモノを作っていけるのではないかな、と思ったりしています。

キーボードに関しては、2013年にこんな感じモノが欲しい、と思っていたモノをNISSE Mサイズという形で実現することができました。実質的にはLサイズが5号機、Mサイズが6号機になりますが、必要な方には同じもの製品としてお渡しできるようになっている、というのはなかなか嬉しいことだったりしています。