typedef struct { Uint8 over; Uint8 reserved; Sint16 x; Sint16 y; Sint16 z; Sint16 axis[5]; } PDS_MOUSE_AXIS;
over オーバーフローフラグ reserved 予約 x X方向移動量(-512〜511) y Y方向移動量(-512〜511) z ホイール回転量(-512〜511) axis その他の軸の移動量(-512〜511)
マウスの軸情報(移動量)を格納する構造体メンバ overは、以下のビットアサインになっています。それぞれのアナログ軸の移動量についてオーバーフローが発生したかどうかが格納されます。オーバーフローが発生していればビットの値が1に、そうでなければ0になります。
ビット位置指定用定数 軸 PDD_MOUSE_AXIS_X X軸 PDD_MOUSE_AXIS_Y Y軸 PDD_MOUSE_AXIS_Z ホイール PDD_MOUSE_AXIS_3 第3軸 PDD_MOUSE_AXIS_4 第4軸 PDD_MOUSE_AXIS_5 第5軸 PDD_MOUSE_AXIS_6 第6軸 PDD_MOUSE_AXIS_7 第7軸
ホイールの値は、1目盛り分回転させるごとに値1を返します。
この構造体を取得する関数 pdMouseGetAxis()をVブランク等の割り込みで使用することにより、60FPSで動作しないアプリケーションや処理落ち等が発生した場合等でもマウス座標の変化速度を一定に保つことができます。第3軸〜第7軸を持つマウスは存在しないため、これらのメンバを参照することは避けてください。
pdMouseGetAxis() マウス座標軸データの取得