[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: btnmgr (Re: cassiopeia patch)
> kiu を扱うデバイスのドライバも自然ですが、
> はたして、kiu = MD キーボードでしょうか?
すくなくとも現状はそうですね。
現在のkiuのドライバ自体はMDキーボードドライバー以外のなのものでも
ないでしょう。
> 本当は、
>
> +-------------------+ +------------------------+
> | MI ボタンドライバ | | MI キーボード ドライバ |
> +-------------------+ +------------------------+
> |
> +------------------------+
> | MD キーボード ドライバ |
> +------------------------+
> \ /
> x
> / \
> / \
> +------------+ +------------+
> | giu ボタン | | kiu |
> | ドライバ | | ドライバ |
> +------------+ +------------+
>
> ていう構造が自然なのではありませんか?
> クロスの部分は、たぶん イベントベースの通信ってことになるんだと思います。
そういう風な構造にするのももちろんできるでしょうね。
で、そうなっている場合にイベントベースでやるのか swベースでやるのか
はまあいろいろなやりかたはできるでしょう。
が、必要以上に複雑な構造のような気がします。
> ここで書いた MD キーボードドライバってのは既に デバイスから遊離して
> いるから MI low レベルドライバかも知れないですね。
そういう構造であれはMDではなくあらたなhpcmips内MIの層でしょう。
でも、いまはそういう構造ではない。
私が反対しているのは きれいなMI/MDの構造に再構成することなく
MDのところでごそごそやるのを反対しているだけです。
だから、上のような構造にきれいに実装しなおしてくれるならば
反対しません。
いまの構成のMDなキーボードドライバーに余計なごそごそをいれるのを
反対しているだけ。
私的には現状の構造で最悪でもuserlandの助けを借りればMI的にできそうなので
再構成をすることはないでしょう。
> | > ここの考え方がなじめないんですが、MD なキーボードドライバと
> | > 通信するってのは なぜだめなんでしょうか?
> | vrなPsPCの場合でvrkiuというMDなキーボードドライバーは無くても
> | 良いはずのドライバーで、実際に別のキーボードに相当するものが
> | あるならばそのドライバーが動くべきだとおもいます。
> |
> | PsPCな場合にkiuに相当するデバイスが全くなくて ボタン群をキーとして
> | 扱いたいのであれば専用のMDなキーボードドライバーをおこすでしょう?
> | そうすれば、本来なくてもいいはずのドライバーと通信する必要も無い
> | じゃないですか。
>
> これに対する反論はたぶん上で説明できているように思います。
構造を再構成すればという仮定をいれればそうでしょうが、
現状の構成でそれをやる場合の反論にはなりません。
> 私は基本的に userland 担当だから、やりたいことがスマートにできれば、
> 本来カーネル内部の構造にこだわるべきではないんですが...
内部の構造に拘るのであればuserland担当といっていないで、
カーネル内に参入するべきでしょう。
とくに構成の変更を伴う場合には。
--
前提
1. HPCではボタンにキーボードとしての役割をあてる必要なない。
2. PsPCではボタンにキーボードの役割をあてたいボタンが存在する。
ボタンを2種類にカテゴライズする。
1.キーボードの役割をあてたいであろうボタン
2.そうでないボタンでアプリケーション起動用。
一見同じボタンであっても HPCとPsPCで1,2のカテゴリが異なるのであれば
別のボタンであると考える。
1.のカテゴリに関してはbuttunドライバーの上にbtnkbdドライバーを作成して
PsPCの場合は HPCのkiuなどのドライバーのかわりにwskbdにつなぐ。
もし必要ならuserlandからkeyscanコードをいれられるようなメカニズムを
いれればいいだろう。(MIなのかMDでなのかは他でもやりたいかどうかによる)
2.のカテゴリに関してはuserlandでbuttunドライバで経由でイベントをひろって
アプリケーションを起動する。
1.のカテゴリに関してはアプリケーションを起動できるようにキーコードを
出すのを禁止したりする機能は必要ならばいれればいいし、いらなければ
いれないでいい。
まえにいったbuttun_launchdだけあればbutton_keymapdはいらない。
こんなとこで現状の枠組の中ですっきりできるとおもいます。
複雑な構成に再構成をする必要を感じない。
sato