From 9d90b26020af83d11ec0900117495901d445e907 Mon Sep 17 00:00:00 2001 From: Daniel Lundqvist Date: Fri, 26 Dec 2014 02:37:52 +0100 Subject: Allow focus on the Qt render widget By default widgets are set to the focus policy Qt::NoFocus which disallows manually focusing it. Changing the policy to allow clicking the widget to set focus to it allows for keyboard input when not rendering to a popout window. This commit also sets focus to the widget when showing it. Fixes issue #158. --- src/citra_qt/bootmanager.cpp | 3 +++ src/citra_qt/main.cpp | 1 + 2 files changed, 4 insertions(+) (limited to 'src/citra_qt') diff --git a/src/citra_qt/bootmanager.cpp b/src/citra_qt/bootmanager.cpp index 6d08d6af..d44ddb09 100644 --- a/src/citra_qt/bootmanager.cpp +++ b/src/citra_qt/bootmanager.cpp @@ -123,6 +123,9 @@ GRenderWindow::GRenderWindow(QWidget* parent) : QWidget(parent), emu_thread(this std::string window_title = Common::StringFromFormat("Citra | %s-%s", Common::g_scm_branch, Common::g_scm_desc); setWindowTitle(QString::fromStdString(window_title)); + // Allow manually setting focus to the widget. + setFocusPolicy(Qt::ClickFocus); + keyboard_id = KeyMap::NewDeviceId(); ReloadSetKeymaps(); diff --git a/src/citra_qt/main.cpp b/src/citra_qt/main.cpp index 23d4925b..9fc8705e 100644 --- a/src/citra_qt/main.cpp +++ b/src/citra_qt/main.cpp @@ -170,6 +170,7 @@ void GMainWindow::BootGame(std::string filename) render_window->GetEmuThread().start(); render_window->show(); + render_window->setFocus(); OnStartGame(); } -- cgit v1.2.3