last UpdataDate
see over ie5
KEY Depth Production
- PS2 Linux Developer[tips:lkdMouse] -
[TOP Page]
[BBS]
[PS2 Linux Developer]
■site
■news
.
[lkdMouse][インターフェイスの利用][リファレンス]
■lkdMouse
ここではlkdMouseの機能,使い方を説明します.
lkdMouseはマウスの管理をするクラスです.
主な機能としては以下の能力をもちます.
機能 |
PS/2マウスプロトコルに対応 |
ブロッキング,ノンブロッキングの設定 |
デバッグ |
C/C++から使用可能 |
■lkdMouse インターフェイスの利用
まずはインターフェイスの宣言をします.次にデータ取得用の構造体 data も宣言します.また,正常に終了したかどうかを調べるために hr を宣言します.
PLKDMOUSE mouse;
KDMOUSE data;
HKDRESULT hr;
次に IlkdMouse インターフェイスを,関数"lkdMouseCreate"を利用して作成します.このとき,マウスはブロッキング状態で開くかノンブロキング状態で開くかの設定をします.ブロッキングをしてしまうと,アクセスするたびに,マウスが動作するまでブロックされてしまうので,マルチスレッドなどのコードが必要となります.通常はノンブロッキングが良いでしょう.
mouse = lkdMouseCreate( LKD_MOUSE_NONBLOCK );
次にインターフェイスを利用して,
hr = IlkdMouse_Read( mouse, &data );
ここで成功すれば LKD_OK が返ってくるので,それをチェックします.あとは利用です.移動量を得るには data の dx,dy.ボタンの状態を知るには data.button & KDMOUSE_MIDDLE とすればよいです.
最後に使い終わった IlkdMouse インターフェイスを,関数"lkdMouseRelease"を利用して開放します.
lkdMouseRelease( mouse );
■lkdMouse リファレンス
関数 | PLKDMOUSE lkdMouseCreate( int _block ); |
引数 | _block | ブロッキングモード.LKD_MOUSE_BLOCK あるいは LKD_MOUSE_NONBLOCK を指定.
|
|
返値 | 成功すればlkdMouseのインターフェイスが返る. |
機能 | lkdMouseインターフェイスを作成する.引数でブロッキングモードを指定できる.ブロッキングモードとは情報を読みに行く際に待ち状態となるかと言うもの.通常ノンブロッキングを指定する. |
備考 | - |
関数 | void lkdMouseRelease( PLKDMOUSE lpV ); |
引数 | lpV | lkdMouseCreateで作成したインターフェイス.
|
|
返値 | なし |
機能 | lkdMouseインターフェイスを開放する. |
備考 | - |
関数 | HKDRESULT Read( KDMOUSE * _mouse ); |
引数 | _mouse | マウスの情報を格納するためのポインタ.
|
|
返値 | 成功すれば LKD_OK が返る. |
機能 | マウスのデータを読み取る.PS/2マウスプロトコルであるとみなしてデータを解読する(基本的にPS2に付属のマウスを想定している).ブロッキング状態ではこの関数はマウスからのデータが来るまで待つ.ノンブロッキング状態では直ぐに返る.返り値の判断が必要. |
備考 | インターフェイス,IlkdMouse_Read |
過去の話題:
■links
[TOP Page]