more mouse work; left, right, middle buttons + scrollwheel are recognized

This commit is contained in:
AJ Kelly
2011-02-14 19:17:15 -06:00
parent 641777ddf7
commit db8bc289a3
2 changed files with 29 additions and 16 deletions
+1 -3
View File
@@ -293,15 +293,13 @@ enum DeviceButton
MOUSE_LEFT = 700,
MOUSE_RIGHT,
MOUSE_MIDDLE,
// wheel mice
MOUSE_WHEELUP, MOUSE_WHEELDOWN,
// for mice with forward and backwards buttons
MOUSE_FORWARD, MOUSE_BACK,
// axis
MOUSE_X_LEFT, MOUSE_X_RIGHT,
MOUSE_Y_UP, MOUSE_Y_DOWN,
// mousewheel?
MOUSE_Z_UP, MOUSE_Z_DOWN,
MOUSE_WHEELUP, MOUSE_WHEELDOWN,
NUM_DeviceButton,
DeviceButton_Invalid
@@ -402,15 +402,21 @@ void InputHandler_DInput::UpdatePolled( DIDevice &device, const RageTimer &tm )
int val = 0;
switch( in.ofs )
{
case DIMOFS_X: neg = MOUSE_X_LEFT; pos = MOUSE_X_RIGHT;
val = state.lX;
break;
case DIMOFS_Y: neg = MOUSE_Y_UP; pos = MOUSE_Y_DOWN;
val = state.lY;
break;
case DIMOFS_Z: neg = MOUSE_Z_UP; pos = MOUSE_Z_DOWN;
val = state.lZ;
break;
case DIMOFS_X:
LOG->Trace("mouse X axis changed (polled)");
neg = MOUSE_X_LEFT; pos = MOUSE_X_RIGHT;
val = state.lX;
break;
case DIMOFS_Y:
LOG->Trace("mouse Y axis changed (polled)");
neg = MOUSE_Y_UP; pos = MOUSE_Y_DOWN;
val = state.lY;
break;
case DIMOFS_Z:
LOG->Trace("mouse Z axis changed (polled)");
neg = MOUSE_WHEELUP; pos = MOUSE_WHEELDOWN;
val = state.lZ;
break;
default: LOG->MapLog( "unknown input",
"Mouse '%s' is returning an unknown mouse offset, %i",
device.m_sName.c_str(), in.ofs );
@@ -501,11 +507,20 @@ void InputHandler_DInput::UpdateBuffered( DIDevice &device, const RageTimer &tm
{
switch(in.ofs)
{
case DIMOFS_X: up = MOUSE_X_LEFT; down = MOUSE_X_RIGHT; break;
case DIMOFS_Y: up = MOUSE_Y_UP; down = MOUSE_Y_DOWN; break;
case DIMOFS_Z: up = MOUSE_Z_UP; down = MOUSE_Z_DOWN; break;
case DIMOFS_X:
LOG->Trace("mouse X axis changed (buffered)");
up = MOUSE_X_LEFT; down = MOUSE_X_RIGHT;
break;
case DIMOFS_Y:
LOG->Trace("mouse Y axis changed (buffered)");
up = MOUSE_Y_UP; down = MOUSE_Y_DOWN;
break;
case DIMOFS_Z:
LOG->Trace("mouse Z axis changed (buffered)");
up = MOUSE_WHEELUP; down = MOUSE_WHEELDOWN;
break;
default: LOG->MapLog( "unknown input",
"Controller '%s' is returning an unknown mouse offset [axis], %i",
"Mouse '%s' is returning an unknown mouse offset [axis], %i",
device.m_sName.c_str(), in.ofs );
continue;
}