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
22 const char *gsMouseDevice;
36 giMouseFD = open(gsMouseDevice, 3);
39 // TODO: Update these if the screen resolution changes
40 num_value.Num = 0; num_value.Value = giScreenWidth;
41 ioctl(giMouseFD, JOY_IOCTL_GETSETAXISLIMIT, &num_value);
42 num_value.Value = giScreenWidth/2;
43 ioctl(giMouseFD, JOY_IOCTL_GETSETAXISPOSITION, &num_value);
45 num_value.Num = 1; num_value.Value = giScreenHeight;
46 ioctl(giMouseFD, JOY_IOCTL_GETSETAXISLIMIT, &num_value);
47 num_value.Value = giScreenHeight/2;
48 ioctl(giMouseFD, JOY_IOCTL_GETSETAXISPOSITION, &num_value);
53 void Input_FillSelect(int *nfds, fd_set *set)
55 if(*nfds < giTerminalFD) *nfds = giTerminalFD;
56 if(*nfds < giMouseFD) *nfds = giMouseFD;
57 FD_SET(giTerminalFD, set);
58 FD_SET(giMouseFD, set);
61 void Input_HandleSelect(fd_set *set)
63 if(FD_ISSET(giTerminalFD, set))
66 if( read(giTerminalFD, &codepoint, sizeof(codepoint)) != sizeof(codepoint) )
70 // TODO: pass on to message handler
71 _SysDebug("Keypress 0x%x", codepoint);
74 if(FD_ISSET(giMouseFD, set))
88 seek(giMouseFD, 0, SEEK_SET);
89 if( read(giMouseFD, &mouseinfo, sizeof(mouseinfo)) != sizeof(mouseinfo) )
91 // Not a 3 button mouse, oops
96 Video_SetCursorPos( mouseinfo.Axies[0].CursorPos, mouseinfo.Axies[1].CursorPos );
99 // TODO: Handle button presses