mirror of
https://github.com/ClassiCube/ClassiCube.git
synced 2025-09-16 11:06:06 -04:00
Intercept actions like ctrl+S in web client
This commit is contained in:
parent
feb3524bf9
commit
cb6fecd2a6
@ -2550,10 +2550,15 @@ static EM_BOOL Window_Key(int type, const EmscriptenKeyboardEvent* ev , void* da
|
|||||||
}
|
}
|
||||||
|
|
||||||
Key_SetPressed(key, type == EMSCRIPTEN_EVENT_KEYDOWN);
|
Key_SetPressed(key, type == EMSCRIPTEN_EVENT_KEYDOWN);
|
||||||
|
/* KeyUp always intercepted */
|
||||||
if (type != EMSCRIPTEN_EVENT_KEYDOWN) return true;
|
if (type != EMSCRIPTEN_EVENT_KEYDOWN) return true;
|
||||||
|
|
||||||
/* Must not intercept keydown for regular keys, otherwise KeyPress doesn't get raised */
|
/* If holding down Ctrl or Alt, keys aren't going to generate a KeyPress event anyways */
|
||||||
/* However, do want to prevent browser's behaviour on F11,F5, home etc */
|
/* This intercepts Ctrl + S, Ctrl + T, etc */
|
||||||
|
if (Key_IsControlPressed() || Key_IsAltPressed() || Key_IsWinPressed()) return true;
|
||||||
|
|
||||||
|
/* Must not intercept KeyDown for regular keys, otherwise KeyPress doesn't get raised */
|
||||||
|
/* However, do want to prevent browser's behaviour on F11, F5, home etc */
|
||||||
/* e.g. not preventing F11 means browser makes page fullscreen instead of just canvas */
|
/* e.g. not preventing F11 means browser makes page fullscreen instead of just canvas */
|
||||||
return (key >= KEY_F1 && key <= KEY_F35) || (key >= KEY_UP && key <= KEY_RIGHT) ||
|
return (key >= KEY_F1 && key <= KEY_F35) || (key >= KEY_UP && key <= KEY_RIGHT) ||
|
||||||
(key >= KEY_INSERT && key <= KEY_MENU) || (key >= KEY_ENTER && key <= KEY_NUMLOCK && key != KEY_SPACE);
|
(key >= KEY_INSERT && key <= KEY_MENU) || (key >= KEY_ENTER && key <= KEY_NUMLOCK && key != KEY_SPACE);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user