[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]

[OSASK 3289] Re: キーバインド.



  こんばんは、川合です。


I.Tak. さんは 2002/02/23 12:41:33 の「[OSASK 3287] Re: キーバイ
ンド.」で書きました:

> なるほど……えせ仕様で、ということですか。
>それなら外部設定ファイル型に一票です。設定の変更が気楽にできると
>やっぱり便利です。
> キーボード別にバイナリを用意するのは面倒です(^^;

  それは一理あります。・・・しかし、多くの方は日本語キーボードを
使っているはずで、それらの方に「おそいなあ」と思われるのも癪(し
ゃく)です・・・。設定ファイルができるだけブートセクタから遠くな
い位置に来るように工夫すれば、まあどうにかなるかな・・・。

  とりあえず、外部設定ファイル型に一票分カウントしておきます。

> ところで、英語キーボード対応となるとキーの拡張入力が破綻しま
>せんか? :と;が同じキーにあたるとかの違いがあるわけで、
>MOSALIkeyboardなんかかなりやばそうな気がします。

  確かに破綻しますね。

> 今の仕様は(拡張モードでも)文字入力用であってキー入力用では
>ないという感じです。キートップの文字でキーを指定する時点で
>キー入力用ではないと思います。

  いやいや、そうとも言えないのです。

  ええと、まず、[OSASK 1661](の後半部分)をご覧ください。そこに
書いてあることですが、そもそもlib_definesignal1p0()という関数の
存在が「えせ」なのです。

  それで、キートップの文字でキーを指定するのは、おそらくlib_defi
nesignal1p0()を無視するようになった後も引き継がれると思います。
そしてこの方法は、ご指摘の通り、機種の壁を越えられないような指定
方法でもあります。

  でもこれはしょうがないんじゃないでしょうか。そもそもキー配置は
機種ごとに異なっていますし、キースキャン値を直接指定するというの
はわかりにくいことこの上なしです。

  もしI.Tak.さんがこれに代わる良いアイデアをお持ちなら教えていた
だきたいのですが・・・。大いに参考にしたいです。

  それでMOSALIkeyboardに話を戻しますが、これは破綻するようにみえ
て、何とかこの問題を乗り越えられるのです。というのは、タグが使え
るようになったら、このアプリに、想定しているキーボードがAT互換機
用の日本語キーボードだという意味のタグをつけておきます。そしてシ
ェルが起動時にそのタグを認識して、しかるべきキーに割り振ってしま
えばいい訳です(シェルはAPIコールをモニターできますから)。

  lib_definesignal1p0()は、指定されたキーにシグナルを割り振ると
いう保証はしません。シェルが勝手に違うキーでそのシグナルを送るよ
うにオーバーライドしてしまうことはありうる訳です。・・・これは、
キー入力であるという保証もありません。マウスのクリックかもしれま
せんし、ネットワークからのシグナルかもしれないわけです。

  これを踏まえると、[OSASK 3270]で僕が書いた、

>くありません。たとえば、ウィンドウをまだオープンしていないのに、
>キー入力シグナルが来るなどです。・・・まあ、でも、これも程度問題

という可能性がより正確に理解できるかもしれません。


  それでは。

--
    川合 秀実(KAWAI Hidemi)
川合堂社長 / OSASK計画総指揮 / カーネル開発班
E-mail:kawai !Atmark! imasy.org
Homepage http://www.imasy.org/~kawai/