X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Usermode%2FApplications%2Faxwin2_src%2FWM%2Fmain.c;h=48e47ff7d5e592c137247feac7b1b2fe59a694e5;hb=e02f66c7125bf18f77c6c53587238cbd49da2c89;hp=7d26b399d7ab374d3aa6086c1e2f83b7efbf2deb;hpb=b3fa9a08edcbc459bd8e9df73186e292470ebfc3;p=tpg%2Facess2.git diff --git a/Usermode/Applications/axwin2_src/WM/main.c b/Usermode/Applications/axwin2_src/WM/main.c index 7d26b399..48e47ff7 100644 --- a/Usermode/Applications/axwin2_src/WM/main.c +++ b/Usermode/Applications/axwin2_src/WM/main.c @@ -6,12 +6,12 @@ #include // === IMPORTS === -extern void ParseCommandline(int argc, char *argv[]); -extern void Video_Setup(); +extern void WM_Update(void); +extern int Input_Init(void); // === GLOBALS === -char *gsTerminalDevice = NULL; -char *gsMouseDevice = NULL; +const char *gsTerminalDevice = NULL; +const char *gsMouseDevice = NULL; int giScreenWidth = 640; int giScreenHeight = 480; @@ -30,16 +30,35 @@ int main(int argc, char *argv[]) ParseCommandline(argc, argv); if( gsTerminalDevice == NULL ) { - gsTerminalDevice = "/Devices/VTerm/7"; + gsTerminalDevice = "/Devices/VTerm/6"; + } + if( gsMouseDevice == NULL ) { + gsMouseDevice = "/Devices/PS2Mouse"; } Video_Setup(); + Interface_Init(); + IPC_Init(); + Input_Init(); + + WM_Update(); // Main Loop for(;;) { - Messages_PollIPC(); - //yield(); + fd_set fds; + int nfds = 0; + FD_ZERO(&fds); + + Input_FillSelect(&nfds, &fds); + IPC_FillSelect(&nfds, &fds); + + nfds ++; + select(nfds, &fds, NULL, NULL, NULL); + + Input_HandleSelect(&fds); + IPC_HandleSelect(&fds); } return 0; } +