This is a simple DLL that will eneumerate all mice attached to the PC and provide their input.
This DLL was written by andbna and uses X-tra Fear's GMaker library.
It is open source. No credit necessary for use.

Instructions:

Setup:
GM6/DLL: Call InitDIM() to setup the DLL.
GM7: Call InitDIM(window_handle()) when using the GEX.
This function returns the number of mice that were found on the PC.

Shutdown:
GM6/DLL: Call DeinitDIM() to free the DLL.
GM7: When using the GEX, DLL will be freed automaticaly.

Getting the input:

There is only 1 function to get the input, and that is:
GetDIMInput(ds_listID);

The only argument, ds_listID, is the ID of a List Datastructure you have created.
This datastructure is filled with the input of the mice.

Each mouse is structured such that it has the usual x,y axis, a scrollwheel, and 8 buttons, even if it doesnt have a scrollwheel or all 8 buttons.

NOTE: mouse input is in RELATIVE coordinates. This means you are told how much the mouse MOVED from step to step, but NOT it's absolute position.
So, even if the mouse is centred on screen, if the user does not move it, the input will be 0 for it's x and y.

Onto actualy using the input:

The DL List will be filled like so:

at index 0: mouse 1's x
at index 1: mouse 1's y
at index 2: mouse 1's scrollwheel
at index 3: mouse 1's first button
at index 4: mouse 1's second button
at index 5: mouse 1's third button
at index 6: mouse 1's fourth button
at index 7: mouse 1's fifth button
at index 8: mouse 1's sixth button
at index 9: mouse 1's seventh button
at index 10: mouse 1's eigth button

at index 11: mouse 2's x
at index 12: mouse 2's y
...etc, and so on for every mouse.

So, if you said: ds_list_find_value(MyList,18), you would recieve the state of Mouse 2's fifth button.

Values of mouse button inputs: 
0 - not pressed
128 - pressed.

Simple :)

There is a GM7 example included. 


