#include <api_drv_joystick.h>\r
#include "common.h"\r
\r
-static inline int MIN(int a, int b) { return (a < b) ? a : b; }\r
-static inline int MAX(int a, int b) { return (a > b) ? a : b; }\r
-\r
// == CONSTANTS ==\r
#define NUM_AXIES 2 // X+Y\r
#define NUM_BUTTONS 5 // Left, Right, Scroll Click, Scroll Up, Scroll Down\r
int giMouse_Cycle = 0; // IRQ Position\r
Uint8 gaMouse_Bytes[4] = {0,0,0,0};\r
// - Driver definition\r
+tVFS_NodeType gMouse_NodeType = {\r
+ .Read = PS2Mouse_Read,\r
+ .IOCtl = PS2Mouse_IOCtl\r
+};\r
tDevFS_Driver gMouse_DriverStruct = {\r
NULL, "PS2Mouse",\r
{\r
.NumACLs = 1, .ACLs = &gVFS_ACL_EveryoneRX,\r
- .Read = PS2Mouse_Read, .IOCtl = PS2Mouse_IOCtl\r
+ .Type = &gMouse_NodeType\r
}\r
};\r
\r
// == CODE ==\r
int PS2Mouse_Install(char **Arguments)\r
{\r
+ \r
+\r
// Set up variables\r
- gMouse_Axies = (void*)&gMouse_FileData[1];\r
+ gMouse_Axies = (void*)&gMouse_FileData[4];\r
gMouse_Buttons = (void*)&gMouse_Axies[NUM_AXIES];\r
+\r
+ gMouse_FileHeader->NAxies = 2; gMouse_FileHeader->NButtons = 3;\r
+ gMouse_Axies[0].MinValue = -10; gMouse_Axies[0].MaxValue = 10;\r
+ gMouse_Axies[1].MinValue = -10; gMouse_Axies[1].MaxValue = 10;\r
\r
// Initialise Mouse Controller\r
giMouse_Cycle = 0; // Set Current Cycle position\r
gMouse_Axies[i].CursorPos = newCursor;\r
}\r
\r
+// Log("Mouse at %ix%i", gMouse_Axies[0].CursorPos, gMouse_Axies[1].CursorPos);\r
\r
VFS_MarkAvaliable(&gMouse_DriverStruct.RootNode, 1);\r
}\r