2 * Acess2 GUI (AxWin) Version 3
3 * - By John Hodge (thePowersGang)
11 // TODO: Move out to a common header
17 #define JOY_IOCTL_GETSETAXISLIMIT 6
18 #define JOY_IOCTL_GETSETAXISPOSITION 7
21 extern void Video_SetCursorPos(short X, short Y);
23 const char *gsMouseDevice;
37 giMouseFD = open(gsMouseDevice, 3);
40 // TODO: Update these if the screen resolution changes
41 num_value.Num = 0; num_value.Value = giScreenWidth;
42 ioctl(giMouseFD, JOY_IOCTL_GETSETAXISLIMIT, &num_value);
43 num_value.Value = giScreenWidth/2;
44 ioctl(giMouseFD, JOY_IOCTL_GETSETAXISPOSITION, &num_value);
46 num_value.Num = 1; num_value.Value = giScreenHeight;
47 ioctl(giMouseFD, JOY_IOCTL_GETSETAXISLIMIT, &num_value);
48 num_value.Value = giScreenHeight/2;
49 ioctl(giMouseFD, JOY_IOCTL_GETSETAXISPOSITION, &num_value);
54 void Input_FillSelect(int *nfds, fd_set *set)
56 if(*nfds < giTerminalFD) *nfds = giTerminalFD;
57 if(*nfds < giMouseFD) *nfds = giMouseFD;
58 FD_SET(giTerminalFD, set);
59 FD_SET(giMouseFD, set);
62 void Input_HandleSelect(fd_set *set)
64 if(FD_ISSET(giTerminalFD, set))
67 if( read(giTerminalFD, &codepoint, sizeof(codepoint)) != sizeof(codepoint) )
71 // TODO: pass on to message handler
72 _SysDebug("Keypress 0x%x", codepoint);
75 if(FD_ISSET(giMouseFD, set))
89 seek(giMouseFD, 0, SEEK_SET);
90 if( read(giMouseFD, &mouseinfo, sizeof(mouseinfo)) != sizeof(mouseinfo) )
92 // Not a 3 button mouse, oops
97 Video_SetCursorPos( mouseinfo.Axies[0].CursorPos, mouseinfo.Axies[1].CursorPos );
100 // TODO: Handle button presses