[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: btnmgr (Re: cassiopeia patch)



鈴木(康)です。
<4.1-J.20000310013132.013c58f0@mail.ba2.so-net.ne.jp>の記事において
sato@ba2.so-net.ne.jpさんは書きました。

たぶん、希望することは既にできる方向でコンセンサス取れていそうなんで、
以下の議論はそれほど重要ではないと 前置きした上で...

# 要するに要望そのものからは既に離れているかも知れないってことです。

  | > たとえば、ESC キーだけ GIU につながっている キーボードモデルの
  | > マシンがあったとしたら、なにがなんでも MD のキーボードドライバで
  | > 解決しますよね。
  | それはそういうMDなキーボードドライバーをつくるんですよね。

ホントですか?

GIU に接続された キーなりボタンなり も統一的に扱える デバイス の
ドライバを作るのは自然ですよね。

kiu を扱うデバイスのドライバも自然ですが、
はたして、kiu = MD キーボードでしょうか?

キーボードと別に イベントを拾う MI ボタン(イベント?)ドライバ
というのも自然なように思えます。

本当は、

      +-------------------+       +------------------------+
      | MI ボタンドライバ |       | MI キーボード ドライバ |
      +-------------------+       +------------------------+
                                             |
                                  +------------------------+
                                  | MD キーボード ドライバ |
                                  +------------------------+
                             \ /
                              x
                             / \
                            /   \
             +------------+       +------------+
             | giu ボタン |       | kiu        |
             | ドライバ   |       | ドライバ   |
             +------------+       +------------+

ていう構造が自然なのではありませんか?

クロスの部分は、たぶん イベントベースの通信ってことになるんだと思います。

ここで書いた MD キーボードドライバってのは既に デバイスから遊離して
いるから MI low レベルドライバかも知れないですね。

あと、ここで 書いた MD キーボードドライバが扱うのが ソフトで定義した
ソフトウェアデバイスってことにすれば、
あとイベントベースっていうのはそれほど不自然ではないように思います。

  | > ここの考え方がなじめないんですが、MD なキーボードドライバと
  | > 通信するってのは なぜだめなんでしょうか?
  | vrなPsPCの場合でvrkiuというMDなキーボードドライバーは無くても
  | 良いはずのドライバーで、実際に別のキーボードに相当するものが
  | あるならばそのドライバーが動くべきだとおもいます。
  | 
  | PsPCな場合にkiuに相当するデバイスが全くなくて ボタン群をキーとして
  | 扱いたいのであれば専用のMDなキーボードドライバーをおこすでしょう?
  | そうすれば、本来なくてもいいはずのドライバーと通信する必要も無い
  | じゃないですか。

これに対する反論はたぶん上で説明できているように思います。

強調するならば、
GIU に接続された キーなりボタンなり が統一的に扱える デバイス の
ドライバ は1つであるべき。

  | > MI が 本当にマシン非依存だとすると、static に 経路を持つこと自体
  | > そもそも間違いなんじゃないかという気すらしてきます。

  | MIはマシン非依存であるからMIなだけで、staticなのかdynamicなのかは
  | 別でしょう。いろいろなハードにかかわらず最小限のMDで実装するための
  | 共通部分がMIなんだから。

共通部分ということはインターフェイスが規定され 使いたかったら
それに従わないといけない ってことですよね。

マシン非依存以上の意味があるのではないでしょうか?

そしてこれは、HW の構造から派生した MD な部分と相性が悪いことは
十分考えられるのではないでしょうか。

だからどうしても ゆがみが出る場合があるはずです。

私は基本的に userland 担当だから、やりたいことがスマートにできれば、
本来カーネル内部の構造にこだわるべきではないんですが...

スマートにできるのか?  ってところで疑問が出て来るような構造だと、
やっぱり納得させて頂きたいです。

--
					鈴木 康司 @NEC
					suz@hpc.bs1.fc.nec.co.jp
					TEL 0423-33-5381