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号機になりますが、必要な方には同じもの製品としてお渡しできるようになっている、というのはなかなか嬉しいことだったりしています。

2015年2月22日日曜日

新キーボード プロジェクト? - 親指シフトについて

角川アスキー総研の最新の調査で親指シフトの利用者が現在でも1.25%もいる、ということが一部で話題になっています。調査前はそのほかの0.52%の中に紛れるような印象をもたれていたからでしょうか。エスリルのニューキーボードNISSEだけで見ると、これまでの出荷ベースでは親指シフトとTRONかなの刻印タイプが約30%を占めています(下図参考)。新JIS配列や刻印はないものの月配列を使われている方なども合わせると、1/3強の方がかな入力を使われている様子です。キーボードの利用時間の極端に長いユーザー方の中では、かな入力は今でも実際にはよく使われている可能性が高そうです。

NISSEのキーキャップの刻印の割合

NISSEは、現在はほぼ入手不可能なオリジナルのTRONキーボート(μTRONキーボードではない方)からの移行を想定していましたので、パーソナルメディアのTK1やtanomi.comのスケルトロンST-2000から移行される方がTRONかなを使われる場面がありそうかな、という想定はありました(NISSEよりさらに前にあった、エスリルでキーボードを作って欲しいという要望はそういった方たちからのものでした)。NISSE発売後は実際にBTRON仕様のOS超漢字と合わせて使っています、といった声を頂くこともあります。ところが実際に販売をはじめると、それを上回る数のNISSEのご注文を親指シフトユーザーの方から頂く結果になっています。

親指シフトに関しては、今でもローマ字入力よりも1.7倍速い(※1)、場合によっては2倍速い、といった説明がされていたり、それを素直に信じてローマ字入力から乗り換えたのにローマ字入力のときの速度にさえなかなか追いつかない、といったことをブログなどに書かれている例も見かけます。

※1 親指シフトを使うと、打鍵数で比較すると(同時打鍵方式なのでシフトキーは数えない)、ローマ字入力の約1/1.7の打鍵数で済むことが知られています。

NISSEでかな刻印ありのタイプを求められる方は、それまでにもかな入力を使われていた方がほとんどですが、中にはNISSEではじめてかな入力を使いはじめられたという方もいらっしゃるようです。そこで、今回は親指シフトに関して設計をリードされた神田泰典さんのサイト(http://www.ykanda.jp/)から、当初の設計意図からその後の評価までご参考のために簡単にまとめておこうと思います。

人間に相応しいかな入力方式の考察 (1978)


http://www.ykanda.jp/oasgif/nin-1.jpg, 情報処理学会第19回全国大会.

1978年の親指シフトを使ったワープロOASYSの開発にあたっての基礎研究についてまとめた論文で、その設計目標として以下のようなものが挙げられています。
「専門オペレータ以外の者が文章を考えながらタイピングするのに適している」
「入力速度が手書きより速いこと」
「初心者でも親しみを持てること」
「疲労が手書きより少ないこと」
一番の目標は、一般家庭にはほとんどキーボードが普及していなかった当時の日本で、初めてキーボードに触る人ような人でも手書きよりも楽に容易にワープロで文章を作成できるようにすることであったことが伝わってくるものです。

漢字入力法の人間工学的検討(1978)


http://www.ykanda.jp/input/kanji/kanji.htm, 情報処理学会第19回全国大会.

これは神田さんご自身の文ではありませんが、当時のワープロへの期待感などが伝わってくるものです。そのひとつとして、
「企業は新入社員が即日仕事ができることをのぞんでいる」
と言う点が挙げられています。当時は新入社員は入社時点ではキーボードに触ったことがない、という想定でいて、小学校の時からタイピングを教えたりしている現代とは状況はかなり違います。同時期の森田さんのM式キーボードの開発にあたっても、養成期間が短いこと(日本語だから速く入力できる―ワープロ時代に問うM式キーボード, p.133)、という点は同様に強調されています。

OASYS100発表のニュースリリース (1980)


http://www.ykanda.jp/txt/oa100ana.txt

OASYS100の発表前日に作られたニュースリリースの中では、その特徴として以下の2点が最初に挙げられています。
「日本語文章が誰でも容易に入力できる親指シフトキーボード」
「単語辞書は10万語まで登録可能」
最初期にワープロを導入された方たちの中には速記の反訳(速記符号を元に戻すこと)にワープロを用いようということで導入された方たちがいらして、実際に親指シフト方式よりも「辞書にない単語を2万語までユーザが自由に作成して登録できる」(他社製品よりも優れていたとのこと)という部分が魅力であった、というお話を聞くことがありました。速記者の方はたとえば「外務省」を「がいむしょー 』と書くかわりに「がむょ」と書いておいたりすることがあって、こう言った略語を「がむょ」→「外務省」のように大量に辞書登録できるOASYS100はそれだけでも魅力的であったようです。

補足: 現在ではこういった略語の部分はIMEの予測変換(サジェスト)機能によってかなり補えるようになってきています。

日本語電子タイプライタ「OASYS100」開発の経緯 (1980)


http://www.ykanda.jp/txt/himitsu.jpg, 日本電子計算機ニュース

神田さんご自身が「オアシスユーザにはおすすめしたい資料です。」とされているものです。
「速さは第一義ではない。速いに越したことはないが、速く入力するのが目的ではない。」
「慣れると、かな漢字混じり文で50文字/分の速度で入力できる。」
後年、ローマ字入力よりも1.7倍速い、2倍速いという形で宣伝されていくことになってしまいますが、本来そういうものではなかったという点には注意が必要でしょう。

親指シフトキーポード (1980)


http://www.ykanda.jp/oasgif/oya-2.jpg, 情報処理学会第20回全国大会.

親指シフトの最初の学会発表とのこと。
「6人が(略)練習を1か月行った。(略)打鍵速度は(略)80〜180字/分である。」
カナタイプライターのオペレーターの方で速い方は300字/分にも達すること、裁判所の速記官が利用されているソクタイプキーボード(2年間の研修後320字/分以上)といったものがあることについては神田さんも認識されていたように思われます(ソクタイプについてもときどき記述されています)。ただキーボードに触ったことがない「新入社員が即日仕事ができること」という当時の要件には、どちらも適していないということも当時は自明であったように思います。

日本語情報処理のために (1982)


http://www.ykanda.jp/jef/bit/bit06.jpg, 雑誌bit

雑誌bitは、月刊ASCII等と合わせて読むようになると、だいぶコンピューターにはまってきた感じがする雑誌のひとつだったでしょうか。
「入力速度は普通の人で、50〜60文字/分くらいはできる。(略)手書きの2倍くらいで、実用上十分である。」
「速記の反訳に使用しているプロは、大体150〜180文字/分にも達する。」
発売から2年といった時点の状況として、ふつうの人はそれほど速く打てるようにはなっていないけれども「人間に相応しいかな入力方式の考察」で目標とした内容は十分に達成できているというご判断であったことがわかります。またOASYSが速記者の方たちには、かなりうまく浸透していったことも窺えます。

ワープロコンテスト (1982)


http://www.ykanda.jp/wp82.htm

富士通の最初のワープロコンテストについてまとめられています。
「このコンテストは富士通がメーカ色を出さない形で行ってきたものです。」
(第1回の優勝者の)「速度は10分間で892文字でした。」
「子供を連れたお母さんが参加しました。」
ワープロコンテストの優勝者はいつも親指シフト、という形で後年営業に利用されてしまう結果になってしまっていますが、当初の目的はワープロの普及のためであって、プロの方が速度を競い合うようなためのものではなかったことが窺えます(それならはじめからもっと速い専門のオペレーターの方を出場させていたはずです)。

後年はプロの方が参加するようになってきて入力速度もかなり上がっていったようですが、M式の森田さんから『他方式によるワープロ・コンテストのチャンピオンは、この略語を千個〜二千個も暗記している由であるが、略語併用の場合の入力速度は、本来の入力方式の良さを示すことにはならない』(日本語だから速く入力できる―ワープロ時代に問うM式キーボード, p.135)と指摘されるようなこともあり、神田さん自身のサイトでもそういった方向での記事は載せられていないように見えます。特に速記者の方たちはOASYSを非常に高度に使いこなされていたわけですが、反訳作業では文章はもう出来上がっているのですから『専門オペレータ以外の者が文章を考えながらタイピングする』という当初の一番の目的とは違うということもあったのかもしれません。

親指シフトキーボードの評価 (1985)


http://www.ykanda.jp/txt/hikaku.txt

1985年、家庭用ワープロの競争が激しくなり、低価格化が進んできた時期の「ワープロらくらく速習法」という本(OASYS用の本のようで実物は見たことがありません)での比較的科学的な実験結果を紹介されています。
「ワープロ未経験者の20~30才の女性を10名選んで、テスト」
この実験では「ワープロ未経験者の20~30才の女性を10名」の場合、練習時間20時間の段階では親指シフトが50字/分、ローマ字が32字/分で1.6倍近く確かに差が付いているのですが、その後さらに練習時間が増えていくと両者の差は小さくなっていきます。このテストから言えることは、初心者が手書き程度の速度で打鍵できるようになるまでの練習時間は、親指シフト方式がローマ字入力やJISかな入力に比べて短い、というものでしょう。実際親指シフトはそういうことを目指して作られたものなのですから、うまく作られていたわけです。ただ、現在言われるような1.7倍速いというのは単純な打鍵数の比較であって、実際の入力に要する速度に関してはそういう結果は示されていないという点には注意が必要です。

まとめ


「文章を考えながらタイピングするのに適している」という目標を持って開発された親指シフトが、作家の方などにとても高く支持されていることは現在でもときどきニュースになります。書いては直し、という作業をするときにふつうの人が一番良く使うのはBackspaceキーですが、親指シフトキーボードではこれがJISキーボードのコロンの位置(右手小指のホームポジションの右隣)にあります(※2)。プログラマーだとそれはちょっと困る、ということにもなりそうですが、日本語の文章を書くために必要なものは何か、という工夫が親指シフトにはほかにも何点もみられます。

※2 NISSEのNicola(親指シフト)タイプも、これまでのところすべてコロンの位置がBackspaceになっているF型で出荷しています。

一方、設計当初の想定は大人になって初めてキーボードに触る、というものであった点については注意が必要でしょう。こどもの頃からパソコンに触っていて、大人になってローマ字入力で150字/分といった速度になっている方もふつうにいる、という今の状況を当時はほとんど想像していなかったように思われます。そういう方が親指シフトに変更して1.7倍速くなり、神田さんの言われるプロの方の180文字/分よりも速い255字/分が短期間で可能、というようなことはまったく検証も想定もしていないのに、「1.7倍速い」といった宣伝用の言葉だけが独り歩きしてきてしまっている印象は強くあります。

親指シフトのほとんどの人にとって良い所は、かな文字換算で同じ入力速度なら、指の負担はローマ字入力の1/1.7程度で済むこともあって楽、といった部分になるでしょうか。キーボードを利用しているときの筋作業については、手指の動的筋作業(dynamic muscle work)と前腕などの静的筋作業(static muscle work)とに分けられていますが、エルゴノミックキーボートが対処しようとしているのは後者です。タイパーの方たちのように高速に指を動かされているような場合に手指の負担を軽くするような効果はエルゴノミックキーボートにもあまり見込めません。ですのでエルゴノミックキーボートを購入されるほど長時間日常的にタイピングするような人にとっては、打鍵数自体を減らす親指シフト方式はとても優れたものになっている(そのためやはりシフトキーの打鍵に親指を使うTRONも合わせるとNISSEでの割合は30%にもなっている)、ということのように思います。

これからかな入力をはじめよう、という検討をされている方のご参考になれば、ということで今回は終わりです。

2014年12月26日金曜日

新キーボード プロジェクト? - NISSEをアメリカへ

We are now accepting orders for the Esrille New Keyboard − NISSE from the United States. The following is the story to make sure that NISSE is in compliance with the FCC rules as a Class B peripheral device.

※ 今回専門的な内容が多いので、より正確な詳細については『詳解 EMC工学』(東京電機大学出版局, 2013)などをご参考になさってください。



前回から半年近くぶりのブログです。今回はNISSEの完成品をアメリカ向けに届けられるようにするまでのお話です。

NISSEは受注開始前から海外の方からもお問い合わせを頂くことがあったのですが、デジタル電子機器の販売や輸出は多くの国でなんらかの制限があり、単に海外へ送れば良いというわけにはいかないところがあります。

アメリカでデジタル電子機器を販売する場合には、ほとんどの場合その機器がテレビやラジオの受信を妨害したりすることがないことを事前に測定しておく必要があります。昔はパソコンの電源を入れるとラジオからピーっとノイズが聞こえてくるようなことがよくありましたが、そういうことが起きないように規制がなされているのです。

そういった規制を監督しているのが連邦通信委員会(FCC)で、メーカーは製品がFCCのルールに適合していることを事前に確認して、製品にFCCロゴをつけた(あるいは表示できるようにした)上で、はじめて販売を開始することができるような枠組みになっています。

Makersムーブメントの流れのなかで、アメリカではこの規制がMakersにとってひとつのハードルになっていて、sparkfunの記事でもまとめられています。電磁妨害(EMI)の測定には1,000ドル程度かかるので、小さなMakerがごく少数のガジェットを販売する際にはコスト面での負担も意外と大きなものになります。試作品で測定結果に問題があれば、試作品を作りなおして再測定する必要があり、また1,000ドルかかってしまうためです。

パソコンのキーボードのような周辺機器もFCCの規制対象になります。これを日本からアメリカに輸出する場合、一義的には FCCの規制に適合していることに責任をもつのは輸入者ということになっていますが、EMIの測定結果についてはメーカーから提示したものを頼って良いことになっています。

そこで今回はEMIの測定をエスリルで行っておくことにしました。日本はアメリカと相互承認協定(MRA)に合意していて、2008年からFCCの認定した日本国内の測定サイトで試験を行えば、その結果をもってFCCのルールに適合していることを証明するデータとして使えるようになっています(認定済みのサイトはFCCのTCB Searchで検索できます)。

事前試験


電波暗室でEMIを測定する場合にはそれなりの費用は発生するので、まずは事前に簡単に測定を行って、基本的な問題がないことを確認しておきました。測定時にはスペクトラムアナライザがあればベストなのですが、今回は当初は、RTL2832U+R820TドングルとRTLSDR-Scannerの組み合わせを使って測定していました。1回の測定に分単位の時間がかかるという点以外は、特に問題なく使えます。その後、多少高くなりますが(それでもスペアナとしては非常に安価)、EMCの専門家の方も"a great EMC troubleshooting tool"と紹介されているRF Explorer 3G Comboを利用しています。RF Explorereはずっと高速に測定ができるので、測定点数が多くなってきた時にはよい選択肢かと思います。

最初に測定しておいたのは、制御基板のマイコンやクロック周辺の近傍界です。

近傍界の測定
近傍界の測定プローブは、同軸ケーブルでループを作ってハンダ付けをした自家製のプローブを使うことができます。これをRTLSDR-Scannerで測定すると下図のような結果を得ることができます。

近傍界の測定結果

この結果では、USBマイコンが作っている96MHzのクロックとその高調波などが見られます。クロックなどのノイズは必ずあるものなので、それをどのように抑えるかという点については、Intelから "EMI Design Guidelines for USB Components" といった資料も公開されています。

自作のプローブを使った場合、絶対値として正確な測定はできないので、FCCロゴ付きの他の機器の基板も同時に測定して比較することによって、 NISSEが他の機器と比べて良いのか悪いのか(≒FCCで問題なさそうかどうか)を判断するようにしました。FCCロゴ付きの他社の機器からNISSEよりも大きなノイズが出ているのを発見したときには、すこし安心できたのでした(笑)。

また『詳解 EMC工学』で勧められている通り、ケーブルからの放射をテスト機材のすべてについて事前にテストしておきました。測定に使う簡易的な電流プローブも、フェライトコアなどを使って自作することができます。

ケーブルのコモンモード電流の測定

ケーブルからの放射につていは、自分たちのデジタル機器だけでなく、本試験の時に使用するパソコンや周辺機器を接続しているすべてのケーブルについて測定しておきます。

予備試験


事前試験でさまざまな機器のデータが揃ってくると、事前試験を終えた後でそのまま本試験に進むことも考えられると思うのですが、今回は本試験の前に電波暗室でも予備試験を行っておくことにしました。

本試験はFCCの認定した測定サイトでなければ認められていないこともあり、費用的には高くなりますが、地方公共団体の保有している電波暗室や、未認定の電波暗室を利用すると比較的安く予備的な試験を行えます(地方公共団体によっては認定済の測定サイトを非常に安価に利用できるにしている地方もあるようです)。

NISSEも京都府の電波暗室で2回予備試験を行いました。

EMI予備試験風景

1回目はNISSE自体に問題がないかどうかの確認が主目的だったこともあり、パソコン等の機材は日本製のVCCIロゴのみでFCCロゴはない機材で行ったのですが、これは失敗でした。NISSE自体に問題はないことは確認できたものの、同時に持っていっていた別の周辺機器がFCCの規制値を超えてしまっていて、本番試験の手順では試験できなかったのです。(本番試験はANSI C63.4にしたがって、キーボードとマウスの他にさらに2種類の異なるI/Oプロトコルの機器が同時に接続されている状態で試験をしています。)

結局2回目の予備試験はNISSEの試験というよりも、FCCの基準値をオーバーしない、FCCロゴ付きのパソコンと周辺機器の組み合わせを見つけ出すというミッションになりました。EMCサイトによってはパソコン等の機材を貸し出して下さるサイトもあるようなので、そういったサイトを利用するのもひとつの手かもしれません。

EMI予備試験結果

今回は、2回目の予備試験でNISSEとFCCロゴ付きのパソコンと周辺機器を組み合わせた構成でFCCの基準値を越えないことを無事に確認することができました。近傍界の測定結果と比べてもわかるように、ほとんどのノイズはNISSEではなく、パソコンやその他の周辺機器から出ているものになります。テスト機材の選定に意外と苦労されているというお話はEMCのご専門の方からも聞くことがあります。このあたりもEMCサイトの方に事前にご相談しておくと良い部分かもしれません。

本番試験


事前試験に加えて電波暗室での予備試験も行っていたこともあって、今回本番試験は無事に1回で終えることができました。実際のFCCの適合宣言については、NISSEに関しては台数も少ないこともあって、いまのところ輸入者側でを行って頂く方法をとっています(適合宣言を行うには米国内の住所が必要になるため)。適合宣言にあたってはFCCに何かを提出したりしないといけないといったことはありませんが、将来FCCから万が一何か要請があった場合には、エスリルから提供するEMIの試験報告書などをFCCへ提出することになります。

まとめ


一昨年の10月にエルゴノミック キーボードの話題をはじめだしてから、5ヶ月後の今年3月にはNISSEを製品化して受注を開始し、その9ヶ月後の12月にはアメリカ向けへの受注も開始したりと、想像以上に慌ただしい1年あまりでした。これからはこんな感じで世界中の小さなMakersから色々な製品が出てくるようになってくるのだろうなと思います。

奥山清行さんの著書「100年の価値をデザインする: 「本物のクリエイティブ力」をどう磨くか」の中で述べられている『一個でも一万個でもなく「二〇〇個」を作る技術を』という視点でモノづくりを見てみると、どこのメーカーも作ってくれないと諦めていたようなモノでも意外と小さなMakersでなら作れてしまうというモノもまだまだたくさんありそうですね。