X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Modules%2FInput%2FPS2KbMouse%2Fps2mouse.c;h=44be3b7b79ca648dca71d86593c919e2bb645b96;hb=5f2024e5977e0cca0993a20dad5ab794c94d5711;hp=15b02e45e31a3bf0dd5cd866d41d2b34c47b7468;hpb=209b173fbcd7bcadd5b3546a2f773312d668c5a1;p=tpg%2Facess2.git diff --git a/Modules/Input/PS2KbMouse/ps2mouse.c b/Modules/Input/PS2KbMouse/ps2mouse.c index 15b02e45..44be3b7b 100644 --- a/Modules/Input/PS2KbMouse/ps2mouse.c +++ b/Modules/Input/PS2KbMouse/ps2mouse.c @@ -10,9 +10,6 @@ #include #include "common.h" -static inline int MIN(int a, int b) { return (a < b) ? a : b; } -static inline int MAX(int a, int b) { return (a > b) ? a : b; } - // == CONSTANTS == #define NUM_AXIES 2 // X+Y #define NUM_BUTTONS 5 // Left, Right, Scroll Click, Scroll Up, Scroll Down @@ -42,24 +39,34 @@ tJoystick_Callback gMouse_Callback; int giMouse_Cycle = 0; // IRQ Position Uint8 gaMouse_Bytes[4] = {0,0,0,0}; // - Driver definition +tVFS_NodeType gMouse_NodeType = { + .Read = PS2Mouse_Read, + .IOCtl = PS2Mouse_IOCtl +}; tDevFS_Driver gMouse_DriverStruct = { NULL, "PS2Mouse", { .NumACLs = 1, .ACLs = &gVFS_ACL_EveryoneRX, - .Read = PS2Mouse_Read, .IOCtl = PS2Mouse_IOCtl + .Type = &gMouse_NodeType } }; // == CODE == int PS2Mouse_Install(char **Arguments) { + + // Set up variables - gMouse_Axies = (void*)&gMouse_FileData[1]; + gMouse_Axies = (void*)&gMouse_FileData[4]; gMouse_Buttons = (void*)&gMouse_Axies[NUM_AXIES]; + + gMouse_FileHeader->NAxies = 2; gMouse_FileHeader->NButtons = 3; + gMouse_Axies[0].MinValue = -10; gMouse_Axies[0].MaxValue = 10; + gMouse_Axies[1].MinValue = -10; gMouse_Axies[1].MaxValue = 10; // Initialise Mouse Controller giMouse_Cycle = 0; // Set Current Cycle position - KBC8042_EnableMouse(); + gpMouse_EnableFcn(); DevFS_AddDevice(&gMouse_DriverStruct); @@ -136,6 +143,7 @@ void PS2Mouse_HandleInterrupt(Uint8 InputByte) gMouse_Axies[i].CursorPos = newCursor; } +// Log("Mouse at %ix%i", gMouse_Axies[0].CursorPos, gMouse_Axies[1].CursorPos); VFS_MarkAvaliable(&gMouse_DriverStruct.RootNode, 1); }