X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Usermode%2FApplications%2Faxwin3_src%2FWM%2Finput.c;h=469c08eb270a93b05c15ecd5e7c4ebcde33d6a52;hb=6312f7425503f27821671cb0aef9403f27ce7aca;hp=bd23c0b2c5342746a975f16fbba4a6d7a0ea30a0;hpb=8c12dd82f2a4e01d8de5d29db6d4fdd0802c7e83;p=tpg%2Facess2.git diff --git a/Usermode/Applications/axwin3_src/WM/input.c b/Usermode/Applications/axwin3_src/WM/input.c index bd23c0b2..469c08eb 100644 --- a/Usermode/Applications/axwin3_src/WM/input.c +++ b/Usermode/Applications/axwin3_src/WM/input.c @@ -8,6 +8,7 @@ #include #include #include +#include // TODO: Move out to a common header typedef struct @@ -21,7 +22,7 @@ typedef struct // === IMPORTS === extern void Video_SetCursorPos(short X, short Y); const char *gsMouseDevice; -extern int giTerminalFD; +extern int giTerminalFD_Input; extern int giScreenWidth; extern int giScreenHeight; @@ -57,24 +58,25 @@ int Input_Init(void) void Input_FillSelect(int *nfds, fd_set *set) { - if(*nfds < giTerminalFD) *nfds = giTerminalFD; + if(*nfds < giTerminalFD_Input) *nfds = giTerminalFD_Input; if(*nfds < giMouseFD) *nfds = giMouseFD; - FD_SET(giTerminalFD, set); + FD_SET(giTerminalFD_Input, set); FD_SET(giMouseFD, set); } void Input_HandleSelect(fd_set *set) { - if(FD_ISSET(giTerminalFD, set)) + if(FD_ISSET(giTerminalFD_Input, set)) { uint32_t codepoint; static uint32_t scancode; #define KEY_CODEPOINT_MASK 0x3FFFFFFF - if( read(giTerminalFD, &codepoint, sizeof(codepoint)) != sizeof(codepoint) ) + size_t readlen = read(giTerminalFD_Input, &codepoint, sizeof(codepoint)); + if( readlen != sizeof(codepoint) ) { // oops, error - _SysDebug("Terminal read failed?"); + _SysDebug("Terminal read failed? (%i != %i)", readlen, sizeof(codepoint)); } // _SysDebug("Keypress 0x%x", codepoint);