diff --git a/src/platform/windows/input.cpp b/src/platform/windows/input.cpp index 483bfd81..bd6265e4 100644 --- a/src/platform/windows/input.cpp +++ b/src/platform/windows/input.cpp @@ -177,6 +177,7 @@ struct input_raw_t { vigem_t *vigem; HKL keyboard_layout; + HKL active_layout; }; input_t input() { @@ -197,6 +198,13 @@ input_t input() { raw.keyboard_layout = NULL; } + // Activate layout for current process only + raw.active_layout = ActivateKeyboardLayout(raw.keyboard_layout, KLF_SETFORPROCESS); + if(!raw.active_layout) { + BOOST_LOG(warning) << "Unable to activate US English keyboard layout for scancode translation. Keyboard input may not work in games."sv; + raw.keyboard_layout = NULL; + } + return result; }