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%にもなっている)、ということのように思います。

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