From 845749d5258500bc2fb321597683638e1abc68d7 Mon Sep 17 00:00:00 2001
From: Conn O'Griofa <connogriofa@gmail.com>
Date: Sat, 25 Feb 2023 19:08:42 +0000
Subject: [PATCH] windows: input: activate US keyboard layout for scancode
 mapping (#975)

---
 src/platform/windows/input.cpp | 8 ++++++++
 1 file changed, 8 insertions(+)

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;
 }