X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Usermode%2FApplications%2Faxwin2_src%2FWM%2Finput.c;h=93869328602ad0549cf3c7e63d134fc010334c75;hb=956e8a29de884d0e12351552b6f4b5ad2e3c1b4c;hp=aa7f3b37c27266593920b038c1225806a4f3fe8d;hpb=dc8801cc0b5ed911a775cfc2ea853048f7a00db1;p=tpg%2Facess2.git diff --git a/Usermode/Applications/axwin2_src/WM/input.c b/Usermode/Applications/axwin2_src/WM/input.c index aa7f3b37..93869328 100644 --- a/Usermode/Applications/axwin2_src/WM/input.c +++ b/Usermode/Applications/axwin2_src/WM/input.c @@ -5,6 +5,9 @@ #include "common.h" #include +#define JOY_IOCTL_GETSETAXISLIMIT 6 +#define JOY_IOCTL_GETSETAXISPOSITION 7 + // === CODE === int Input_Init(void) { @@ -18,11 +21,15 @@ int Input_Init(void) // Set mouse limits num_value.Num = 0; num_value.Value = giScreenWidth; - ioctl(giMouseFD, 6, &num_value); + ioctl(giMouseFD, JOY_IOCTL_GETSETAXISLIMIT, &num_value); + num_value.Value = giScreenWidth/2; + ioctl(giMouseFD, JOY_IOCTL_GETSETAXISPOSITION, &num_value); num_value.Num = 1; num_value.Value = giScreenHeight; - ioctl(giMouseFD, 6, &num_value); + ioctl(giMouseFD, JOY_IOCTL_GETSETAXISLIMIT, &num_value); + num_value.Value = giScreenHeight/2; + ioctl(giMouseFD, JOY_IOCTL_GETSETAXISPOSITION, &num_value); return 0; } @@ -51,26 +58,34 @@ void Input_HandleSelect(fd_set *set) if(FD_ISSET(giMouseFD, set)) { struct sMouseInfo { - uint16_t NAxies, NButtons; + uint16_t NAxies; + uint16_t NButtons; struct sMouseAxis { - int16_t MinValue, MaxValue; + int16_t MinValue; + int16_t MaxValue; int16_t CurValue; uint16_t CursorPos; } Axies[2]; uint8_t Buttons[3]; } mouseinfo; - _SysDebug("Cursor event"); - - seek(giMouseFD, 0, SEEK_SET); + seek(giMouseFD, 0, SEEK_SET); if( read(giMouseFD, &mouseinfo, sizeof(mouseinfo)) != sizeof(mouseinfo) ) { // Not a 3 button mouse, oops return ; } - + +// _SysDebug("sizeof(uint16_t) = %i, sizeof(int16_t) = %i", +// sizeof(uint16_t), sizeof(int16_t)); +// _SysDebug("NAxies=%i,NButtons=%i", mouseinfo.NAxies, mouseinfo.NButtons); +// _SysDebug("offsetof(Axies[0].MinValue) = %i", offsetof(struct sMouseInfo, Axies[0].MinValue)); +// _SysDebug("[0] = {MinValue=%i,MaxValue=%i,CurValue=%i}", +// mouseinfo.Axies[0].MinValue, mouseinfo.Axies[0].MaxValue, +// mouseinfo.Axies[0].CurValue +// ); // Handle movement -// Video_SetCursorPos( mouseinfo.Axies[0], mouseinfo.Axies[1] ); - _SysDebug("Cursor to %i,%i\n", mouseinfo.Axies[0].CursorPos, mouseinfo.Axies[1].CursorPos); + Video_SetCursorPos( mouseinfo.Axies[0].CursorPos, mouseinfo.Axies[1].CursorPos ); +// _SysDebug("Cursor to %i,%i", mouseinfo.Axies[0].CursorPos, mouseinfo.Axies[1].CursorPos); } }