HINO Naoya
n_hino****@kcn*****
2004年 6月 24日 (木) 07:21:36 JST
日野です。 ヤマケンさんの以下の部分にだけ反応いたします。 YamaKen wrote: > ヤマケンです。 > > - key press/releaseの正確な取り扱いの実現 > - 操作コマンドのキー入力からの分離 > - 物理キー、論理キー、キャラクタコードの分離 > * 変則配列キーボードのより良いサポート > * かな入力への根本的対応 > - 複数キーの同時押し(chord)の認識 > * 親指シフト入力方式への対応 > - マルチストロークの認識 > * 修飾キーの1回押しによる前置修飾(sticky modifier) > * アルファベットキーの2つ同時押しによるシフト修飾(combinational shift) > > > これにより可能になる機能の一例として、combinational shift(仮称) > を紹介します(主にSKK向け)。多分前例は無いと思っていますが、同様 > の機能をご存知の方はお教え頂けるとありがたいです。 > > 例: rを押す → uを押す → r,uを離す(順不同) → "Ru"が入力される > > これは複数のアルファベットキーの同時押しと、押した順番の検出が必 > 要になるので現在のuimの枠組では実現不可能です。 > 私は、電話機など組み込み機器のキー入力操作周りのソフトをかなり手 掛けた事があります。もちろん皆さんがやっておられるような高水準言 語ではなく、アセンブリー言語(通称アセンブラ)でですがアルゴリズム は、応用できると思います。 これらの要求を満たすには『イベント駆動型状態マシン』と呼ばれるタ イプのソフト的な仕組みを導入することで可能だと思います。 これについて簡単に説明しますと「キー入力」などの事象を「イベント」 として処理し、そのイベントによってソフトの「状態」が変わっていく ような仕組みです。 各「状態」が待っている「イベント」のテーブルを持っていて、そのテ ーブルを参照することで、小さなタスクを実行し、別の「状態」へと移 動する。この仕組みは cron - crontab の関係を想像していただければ よく分かると思います。 また、興味があるようでしたらご連絡ください。時間が許す限りお付き 合いしたいと思います。 -- _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ _/ _/ _/ 日野 直哉 _/ _/ _/ _/ http://www1.kcn.ne.jp/~n_hino/ _/ _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/