1
0
mirror of synced 2025-01-11 05:42:15 +01:00

fix: Certain shortcuts not being captured by ImHex Web

This commit is contained in:
WerWolv 2024-12-25 12:36:06 +01:00
parent 9b12232e9f
commit 6ead8d8b49
2 changed files with 20 additions and 12 deletions

View File

@ -262,3 +262,7 @@ function js_resizeCanvas() {
canvas.width = Math.min(document.documentElement.clientWidth, window.innerWidth || 0);
canvas.height = Math.min(document.documentElement.clientHeight, window.innerHeight || 0);
}
// Prevent default browser shortcuts from preventing ImHex ones to work
document.addEventListener('keydown', e => { e.preventDefault(); })
document.addEventListener('keyup', e => { e.preventDefault(); })

View File

@ -890,6 +890,7 @@ namespace hex {
glfwSetKeyCallback(m_window, [](GLFWwindow *window, int key, int scanCode, int action, int mods) {
std::ignore = mods;
#if !defined(OS_WEB)
// Handle A-Z keys using their ASCII value instead of the keycode
if (key >= GLFW_KEY_A && key <= GLFW_KEY_Z) {
std::string_view name = glfwGetKeyName(key, scanCode);
@ -904,6 +905,9 @@ namespace hex {
}
}
}
#else
// Emscripten doesn't support glfwGetKeyName. Just pass the value through.
#endif
if (key == GLFW_KEY_UNKNOWN) return;