2018年11月08日

Advantage2 日本語配列モデル の開発 その2

当社エジクン技研と米国キネシス(Kinesis)社が協力しておこなったAdvantage2キーボード日本語配列モデルの開発について、続きを書きます。

下の図がキー全体の配置です。赤で示したキーが米国配列モデルと異なります。日本語配列キーボードの方がキーの数がだいぶ多いので、それをいかに押し込むか、日本とアメリカで頭を悩ませました。なお、写真をクリック(タップ)すると大きく表示できます。

KeyArrangement.jpg

◇◇◇◇◇ 2015年 ◇◇◇◇◇
5月23日
Willから技術的な問題が発生したとの連絡が来ました。試作機から日本語特有のキー([変換]キーや円マークなど)が出力できていないそうで、何が問題なのかプログラマーと話し合うそうです。

6月17日
Kinesis社の開発チームが、USBのアナライザを買って信号を確かめたところ、試作機から信号はきちんと出力されているそうです。しかし、モニタに日本語の文字は表示されないとのこと。米国Amazonで買った日本語キーボードを使えばきちんと表示されるそうです。
そして、キーボードをUSBに挿したときの設定がうまくいっていないようなので、アドバイスがほしいと言われました。

6月18日
米国キーボードの場合、Usage ID は101(それゆえ101キーボードと呼ばれる)までだが、日本語特有のキーのUsage ID は101より大きい、と私から伝えました。
そして、class-specific descriptor にある LOGICAL_MAXIMUM と USAGE_MAXIMUM を101から255(16進数でFF)に変更したらどうか、と言いました。

6月19日
プログラマが忙しいので、上記の問題の解決には時間がかかるそうです。
変換キーなどは機能しないけれども、日本語を入力することはできるようになったそうなので、スペースキーが変換キーと同じ機能を果たすと伝えました。

6月20日
その後、スペースキーで変換できたそうで、日本語を入力する方法がだんだんわかってきたと言ってきました。そして、この方法は非常に複雑であり、日本語をタイプすることによってコミュニケーションでき、コミュニケーションしなければならない人々を尊敬すると言われました。
確かに、英語の場合は、打ったキーがそのまま表示されるだけですから、日本語入力に比べてはるかに簡単ですよね。
コンピュータで日本語を使っていると、この非常に複雑な方法に余計なエネルギを使ってしまうので、英語を使うよりだいぶ不利だと感じています。

7月3日
私が6月18日に指摘した部分を書き換えたらうまく動作したと、Willから返事が来ました。すごく喜んでいるのが伝わってきたので、私もとても嬉しかった。

私は、米国Microchip社のマイコンを使ってフットスイッチなどの開発をしてきました。マイコンメーカーが作るサンプルプログラムは、アルファベットと数字しか出力できなかったりします。そのサンプルプログラムから日本語キーボードを作るとき、指摘した部分を先ず書き換えます。
従って、私のような日本人開発者には半ば当たり前のことなのですが、アルファベットしか知らない開発者は気付きにくいでしょうね。

11月20日
Advantage2日本語配列版のサンプルがやっと届きました。だいぶ時間がたったのは、ブートローダーやいろいろな機能の開発に手間取っていたためだそうです。ブートローダーによってファームウェアを書き換えることができます。

12月8日
日本語配列モデルのサンプルをさわりながら、ベストなキー配置についてまた議論が始まりました。米国版の仕様が固まってしまうと日本語配列モデルの修正がやりにくいと考えたので、米国版のスケジュールを聞いておきました。

12月31日
開発が長期に渡り、当社はサンプル(試作機)が完成するまで待たされる日数が多かったので、Willと私が何を議論してきたか半分忘れてしまいました。それで、年末の休みを利用して過去のメールをじっくり読んで思い出し、Willから来ていた多くの質問に対してメールで答えました。
その後、年始にかけて、いくつかの設定ミスやDvorak配列についてWillと細かい議論をしました。

◇◇◇◇◇ 2016年 ◇◇◇◇◇
1月8日
当社からDvorak配列のAdvantageキーボードもそこそこ売れていたので、日本語配列モデルでもDvorak配列は必要だろうと思っていました。そして、いろいろ考え、Willとたくさんのメールを交わしました。
QwertyからDvorakへの変更がアルファベット26文字の範囲にとどまるなら話は簡単明瞭、日本語配列モデルにおいてもアルファベットの位置だけを同じように変えればよい、ということになります。
しかし、Dvorak配列では記号の位置も変わります。2年半も前のことなので細かいことは忘れてしまいましたが、Dvorak配列の日本語版を考えることは、QwertyでもDvorakでもない新しい配列を創作することに等しいと感じました。そして、それはとてつもなく難しい作業であろうし、もし創作できたとしても、今までDvorak配列を使っていた方々が納得し同意してくれるとは思えませんでした。
そこで、たくさんのメールをやり取りしていっしょに考えてきたWillにわびて、Dvorak配列に変更する機能は設けるが、Dvorak配列は米国版と全く同じにすることにしました。

1月19日
この数日間、数字8のキーのキーパッドレイヤ(Keypad Layer / embedded layer)で何を出力すべきか、Willと議論しました。
また、Macユーザーは米国版を買った方がよいとWillに言いました。シフトキーと数字キーを押したときに出力される記号が異なってしまう問題が生じないので。
Macはキーボードを接続したときに、それが日本語配列なのか米国配列なのか聞いてきます。米国配列キーボードを選べば、記号が異なる問題は生じません。
よってMacユーザーには米国配列キーボードを勧めます。円マークは、米国配列でも日本語配列でも、Option+Yで出力することができます。

余談ですが、Windowsに接続するキーボードを日本語配列にするか米国配列にするか選択するのは、Windowsのインストール時におこなうか、レジストリを変更するか、になります。従って、キーボードの選択は容易ではありません。この点はMacの方が優れていますね。Microsoftには特別な理由や戦略があったのかもしれませんが。
皮肉な言い方ですが、Windowsのキーボード対応がこんなだから、日本語配列版を作る仕事が当社に回ってくるわけで、そういう意味ではMicrosoftに感謝すべきかもしれません。

1月29日
日本語配列モデルは、Macユーザーには勧めないことにしましたが、MacモードやDvorak配列オプションは日本語配列モデルにも設けることにしました。米国配列から日本語配列モデルへのファームウェアの変更は少ない方がよいし、日本語配列モデルだけの特別なファンクションキーを作りたくない、というのが理由です。
また、MacモードにおいてHomeキーとEndキーは Command + 矢印キー にすべきでは、と私から提案しましたが、現状どおりにするということで落ち着きました。

2月15日
Macモードにおいて数字8のキーのキーパッドレイヤで何を出力すべきか、Willとやっと合意することができました。
印字と出力の不一致が問題であり、Willは印字されていないキーからは出力がない方がよいと主張してきました。私は、印字されているキーから何も出力されないのは大きな問題だが、印字されていないキーから出力があるのは小さな問題だと言いました。
そして、一般的な日本語キーボードで、あるキーを押したときに出力される信号が、日本語配列タイプで同様の位置にあるキーを押したときに出力されるべきだ、と主張しました。
Willは納得してくれました。

今回はここまでです。次が最後になります。。。
posted by Q at 21:44| Comment(0) | Kinesis