Jump to content
Sign in to follow this  

Need help with virtual Joystick emulator

Recommended Posts

Hi there,
Last few days I've been working on a mouse to Joystick emulator, and had partial success with it.
The virtual Joystick works almost flawlessly, and it took a lot of fine tuning and improvisation to make it work that way.
The emulator uses Mouse DirectInput to calculate the Joystick movement.
However some applications (most) receive Mouse DirectInput as well, thus creating conflicts. 
(for example lets say the application is a game, the virtual Joystick sends the command to "turn left" while the real mouse tells it to "turn right").
Now to the question: is there any way to make the mouse behave like it is only a Joystick?
Blocking the connection between the app and the mouse DirectInput, and make the app only able to receive the Joystick input?
Or disabling mouse DirectInput globaly trough a hotkey, while Autoit still being able to calculate with those values.
So what I tried was:
Making the Mouse constantly stay at the (0,0) coordinates, but the emulated Joystick doesn't receive any movement either.
I've tried to compensate the mouse movement with the exact oposite values, but they are mostly nonlinear accelerated and thus unpredictable.
If anyone has an idea how to make this work, I would love to know.
Any and all help appreciated :)
P.S I hope a virtual Joystick doesn't break any forum rules ^^

Share this post

Link to post
Share on other sites


A real borderline case this. As long as you keep the discussion on how to emulate a joystick in general terms I am content for the thread to remain open. But please do not enter into discussion of how to get the resultant code to interact specifically with games. Tread carefully. ;)


Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind._______Open Open spoiler to see my UDFs:


ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area


Share this post

Link to post
Share on other sites

Thanks Melba :)

Since I'm not very familiar with Autoit I made the emulator in GlovePIE. But I'll give my best and translate it to autoit as soon as i get an idea of how to do it.
Will take some research though ^^
Here is the script anyway, and its very easy to understand



Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this