We’ve talked about Glovepie multiple times here before and have covered how to install and use it, but one question I’ve been asked repeatedly is how to slow down or speed up your mouse in game a mouse pointer using it. It should be pointed out that using Windows this is possible already and that some games will include this as a setting. In Windows go to the Control Panel Mouse section and adjust the ‘Motion Pointer Speed’. If the program you are using runs normally on the Windows desktop or usually even in a Windowed mode this will almost certainly work.
However if you are running a full screen game without the ingame option or are using a script to translate another input to a mouse movement Glovepie can help. There are two scenarios we can talk about. First if we just wish to slow the mouse down. Assuming your system only has one mouse (a trackpad does not count) the following script should work.
mouse.X = mouse.DirectInputX – 1*mouse.DirectInputX mouse.Y = mouse.DirectInputY + 1*mouse.DirectInputY
This should produce no obvious change in the mouse behaviour. Change the number ‘1’ up to say ‘1.5’ and your mouse cursor will slow down. Decrease it to ‘.5’ and it will speed up. The exact amount will depend on your system and mouse but with a little experimentation you should be able to get a speed that works for you.
The second scenario is the more likely one that we are translating to or from a mouse and the cursor ends up being too twitchy or sensitive. This is hard to give exact information on because it depends so much on what you are trying to translate but if we use the below script designed to allow use of an Xbox controller in a game that does not support it the crucial lines are for the mouse stick.
//Left Stick – Movement
keyboard.W = XInput1.Joy1Y > 0.2
keyboard.S = XInput1.Joy1Y < -0.2
keyboard.A = XInput1.Joy1X < -0.2
keyboard.D = XInput1.Joy1X > 0.2
// Right Stick – Mouse Pointer
Mouse.DirectInputX = 1*(Mouse.DirectInputX + 10*deadzone(XInput1.Joy2X))
Mouse.DirectInputY = 1*(Mouse.DirectInputY – 10*deadzone(XInput1.Joy2Y))
// 360 Bumpers
keyboard.PgUp = XInput1.LeftShoulder
keyboard.PgDn = XInput1.RightShoulder
keyboard.Q = XInput1.RightTrigger
keyboard.P = XInput1.LeftTrigger
//360 Buttons ABXY
keyboard.space = XInput1.A
keyboard.F = XInput1.Y
Mouse.LeftButton = XInput1.B
Mouse.RightButton = XInput1.X
keyboard.1 = Xinput1.Up
keyboard.2 = Xinput1.Right
keyboard.3 = Xinput1.Down
keyboard.4 = Xinput1.Left
//360 Start and Select
keyboard.esc = XInput1.start
keyboard.tab = XInput1.back
//360 Stick Clicks
Key.R = XInput1.LeftThumb
The trick is to add a multiplier to the mouse. This means that if you have the 1 that is there currently it times itself by 1 with no change. Adjust the 1 up or down and you get a faster or slower reaction time. If you are really ambitious or it would help you in game there is no reason why you could not have different speeds on the X or Y axis.
These scripts were written and tested using the most up to date version of Glovepie, .45, on a Windows 8 machine. Your script may need tweaking if you are using a different version or system as Glovepie is not perfectly compatible from version to version.