diff --git a/src/yuzu/util/overlay_dialog.cpp b/src/yuzu/util/overlay_dialog.cpp
index 95b1485450..c66dfbdff0 100644
--- a/src/yuzu/util/overlay_dialog.cpp
+++ b/src/yuzu/util/overlay_dialog.cpp
@@ -6,7 +6,8 @@
 #include <QScreen>
 
 #include "core/core.h"
-#include "core/frontend/input_interpreter.h"
+#include "core/hid/hid_types.h"
+#include "core/hid/input_interpreter.h"
 #include "ui_overlay_dialog.h"
 #include "yuzu/util/overlay_dialog.h"
 
@@ -179,9 +180,9 @@ void OverlayDialog::MoveAndResizeWindow() {
     QDialog::resize(width, height);
 }
 
-template <HIDButton... T>
+template <Core::HID::NpadButton... T>
 void OverlayDialog::HandleButtonPressedOnce() {
-    const auto f = [this](HIDButton button) {
+    const auto f = [this](Core::HID::NpadButton button) {
         if (input_interpreter->IsButtonPressedOnce(button)) {
             TranslateButtonPress(button);
         }
@@ -190,7 +191,7 @@ void OverlayDialog::HandleButtonPressedOnce() {
     (f(T), ...);
 }
 
-void OverlayDialog::TranslateButtonPress(HIDButton button) {
+void OverlayDialog::TranslateButtonPress(Core::HID::NpadButton button) {
     QPushButton* left_button = use_rich_text ? ui->button_cancel_rich : ui->button_cancel;
     QPushButton* right_button = use_rich_text ? ui->button_ok_rich : ui->button_ok_label;
 
@@ -198,20 +199,20 @@ void OverlayDialog::TranslateButtonPress(HIDButton button) {
     // TODO (Morph): focusPrevious/NextChild() doesn't work well with the rich text dialog, fix it
 
     switch (button) {
-    case HIDButton::A:
-    case HIDButton::B:
+    case Core::HID::NpadButton::A:
+    case Core::HID::NpadButton::B:
         if (left_button->hasFocus()) {
             left_button->click();
         } else if (right_button->hasFocus()) {
             right_button->click();
         }
         break;
-    case HIDButton::DLeft:
-    case HIDButton::LStickLeft:
+    case Core::HID::NpadButton::Left:
+    case Core::HID::NpadButton::StickLLeft:
         focusPreviousChild();
         break;
-    case HIDButton::DRight:
-    case HIDButton::LStickRight:
+    case Core::HID::NpadButton::Right:
+    case Core::HID::NpadButton::StickLRight:
         focusNextChild();
         break;
     default:
@@ -241,8 +242,10 @@ void OverlayDialog::InputThread() {
     while (input_thread_running) {
         input_interpreter->PollInput();
 
-        HandleButtonPressedOnce<HIDButton::A, HIDButton::B, HIDButton::DLeft, HIDButton::DRight,
-                                HIDButton::LStickLeft, HIDButton::LStickRight>();
+        HandleButtonPressedOnce<Core::HID::NpadButton::A, Core::HID::NpadButton::B,
+                                Core::HID::NpadButton::Left, Core::HID::NpadButton::Right,
+                                Core::HID::NpadButton::StickLLeft,
+                                Core::HID::NpadButton::StickLRight>();
 
         std::this_thread::sleep_for(std::chrono::milliseconds(50));
     }
diff --git a/src/yuzu/util/overlay_dialog.h b/src/yuzu/util/overlay_dialog.h
index e8c388bd01..d8a140ff3f 100644
--- a/src/yuzu/util/overlay_dialog.h
+++ b/src/yuzu/util/overlay_dialog.h
@@ -13,14 +13,16 @@
 
 #include "common/common_types.h"
 
-enum class HIDButton : u8;
-
 class InputInterpreter;
 
 namespace Core {
 class System;
 }
 
+namespace Core::HID {
+enum class NpadButton : u64;
+}
+
 namespace Ui {
 class OverlayDialog;
 }
@@ -79,7 +81,7 @@ private:
      *
      * @tparam HIDButton The list of buttons that can be converted into keyboard input.
      */
-    template <HIDButton... T>
+    template <Core::HID::NpadButton... T>
     void HandleButtonPressedOnce();
 
     /**
@@ -87,7 +89,7 @@ private:
      *
      * @param button The button press to process.
      */
-    void TranslateButtonPress(HIDButton button);
+    void TranslateButtonPress(Core::HID::NpadButton button);
 
     void StartInputThread();
     void StopInputThread();