X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Usermode%2FApplications%2Faxwin2_src%2FWM%2Finput.c;h=08cefc729e391a1271af4f5420e5acf5e099baa1;hb=6a727b68a2c9796a216e2a71a63f6fff069245de;hp=0517993fddc2885f9906a338621e3181040e953c;hpb=f8000bc4044bc761b8f3ab6cf19d40c7d1f79ba9;p=tpg%2Facess2.git diff --git a/Usermode/Applications/axwin2_src/WM/input.c b/Usermode/Applications/axwin2_src/WM/input.c index 0517993f..08cefc72 100644 --- a/Usermode/Applications/axwin2_src/WM/input.c +++ b/Usermode/Applications/axwin2_src/WM/input.c @@ -11,8 +11,11 @@ int Input_Init(void) struct { int Num, Value; } num_value; + + // Open mouse for RW giMouseFD = open(gsMouseDevice, 3); + // Set mouse limits num_value.Num = 0; num_value.Value = giScreenWidth; ioctl(giMouseFD, 6, &num_value); @@ -37,7 +40,7 @@ void Input_HandleSelect(fd_set *set) if(FD_ISSET(giTerminalFD, set)) { uint32_t codepoint; - if( read(giTerminalFD, sizeof(codepoint), &codepoint) != sizeof(codepoint) ) + if( read(giTerminalFD, &codepoint, sizeof(codepoint)) != sizeof(codepoint) ) { // oops, error } @@ -48,26 +51,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); - if( read(giMouseFD, sizeof(mouseinfo), &mouseinfo) != sizeof(mouseinfo) ) + 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], mouseinfo.Axies[1]); + _SysDebug("Cursor to %i,%i", mouseinfo.Axies[0].CursorPos, mouseinfo.Axies[1].CursorPos); } }