How to detect the mouse horizontal scroll?



VOID MouseInvert_ServiceCallback(PDEVICE_OBJECT pDeviceObj,
PMOUSE_INPUT_DATA InputDataStart, PMOUSE_INPUT_DATA InputDataEnd, PULONG
InputDataConsumed)
{
PMOUSE_INPUT_DATA InputDataCur;
PDEVICE_EXTENSION pDevExt = (PDEVICE_EXTENSION)pDeviceObj->DeviceExtension;

InputDataCur = InputDataStart;
while(InputDataCur < InputDataEnd){

if(pDevExt->bEnabled == TRUE){
if((InputDataCur->Flags & MOUSE_MOVE_RELATIVE) == MOUSE_MOVE_RELATIVE){
//invert the raw X,Y
InputDataCur->LastX = ~(InputDataCur->LastX - 1 );
InputDataCur->LastY = ~(InputDataCur->LastY - 1 );

//Invert vertical wheel on mouse
if((InputDataCur->ButtonFlags & MOUSE_WHEEL) == MOUSE_WHEEL){
InputDataCur->ButtonData = ~(InputDataCur->ButtonData -1);
}


My question here is how to detect the horizontal scroll from mouse? I
managed to add a filter driver with inverting X, Y, vertical wheel, mouse
click. But I cannot detect the horizontal wheel (tilt). I use the command
stated below:

if((InputDataCur->ButtonFlags & MOUSE_HWHEEL) ==
MOUSE_HWHEEL){InputDataCur->ButtonData = ~(InputDataCur->ButtonData -1);}

It failed to detect the horizontal tilt press. Please advice.

Thank you
.