X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Usermode%2FApplications%2Faxwin3_src%2FWM%2Fwm_input.c;h=5f6ef85384002a92886b69cfca6b0efa6d482572;hb=8dcc3e209d0d728565a18c8dca2b0ba220b74a6f;hp=232407aef85da8c827717484743821035b0298fe;hpb=24cfd20bdec5f1f3a23a2e5cba9cba984e12683e;p=tpg%2Facess2.git diff --git a/Usermode/Applications/axwin3_src/WM/wm_input.c b/Usermode/Applications/axwin3_src/WM/wm_input.c index 232407ae..5f6ef853 100644 --- a/Usermode/Applications/axwin3_src/WM/wm_input.c +++ b/Usermode/Applications/axwin3_src/WM/wm_input.c @@ -8,6 +8,7 @@ #include #include #include +#include #define MAX_BUTTONS 3 @@ -33,8 +34,8 @@ tWindow *WM_int_GetWindowAtPos(int X, int Y) for(win = ret->FirstChild; win; win = win->NextSibling) { if( !(win->Flags & WINFLAG_SHOW) ) continue ; - if( X < win->X || X >= win->X + win->W ) continue; - if( Y < win->Y || Y >= win->Y + win->H ) continue; + if( X < win->X || X >= win->X + win->RealW ) continue; + if( Y < win->Y || Y >= win->Y + win->RealH ) continue; next_win = win; // Overwrite as we want the final rendered window } } @@ -70,7 +71,7 @@ void WM_Input_MouseMoved(int OldX, int OldY, int NewX, int NewY) WM_SendMessage(NULL, win, WNDMSG_MOUSEMOVE, sizeof(msg), &msg); } -inline void WM_Input_int_SendBtnMsg(tWindow *Win, int X, int Y, int Index, int Pressed) +void WM_Input_int_SendBtnMsg(tWindow *Win, int X, int Y, int Index, int Pressed) { struct sWndMsg_MouseButton msg; @@ -114,6 +115,9 @@ void WM_Input_MouseButton(int X, int Y, int ButtonIndex, int Pressed) void WM_Input_KeyDown(uint32_t Character, uint32_t Scancode) { struct sWndMsg_KeyAction msg; + + WM_Hotkey_KeyDown(Scancode); + msg.KeySym = Scancode; msg.UCS32 = Character; WM_SendMessage(NULL, gpWM_FocusedWindow, WNDMSG_KEYDOWN, sizeof(msg), &msg); @@ -125,8 +129,6 @@ void WM_Input_KeyFire(uint32_t Character, uint32_t Scancode) // TODO: Properly translate into KeySyms and Unicode - // TODO: Shortcuts - msg.KeySym = Scancode; msg.UCS32 = Character; WM_SendMessage(NULL, gpWM_FocusedWindow, WNDMSG_KEYFIRE, sizeof(msg), &msg); @@ -135,6 +137,9 @@ void WM_Input_KeyFire(uint32_t Character, uint32_t Scancode) void WM_Input_KeyUp(uint32_t Character, uint32_t Scancode) { struct sWndMsg_KeyAction msg; + + WM_Hotkey_KeyUp(Scancode); + msg.KeySym = Scancode; msg.UCS32 = Character; WM_SendMessage(NULL, gpWM_FocusedWindow, WNDMSG_KEYUP, sizeof(msg), &msg);