From 61904280a384f06e24cad774d36e447d3bf658b9 Mon Sep 17 00:00:00 2001 From: whitequark Date: Mon, 27 Jun 2016 10:35:17 +0000 Subject: [PATCH] GTK: make Space Navigator actually work. Before this commit, no events would actually be received. --- CHANGELOG.md | 1 + src/gtk/gtkmain.cpp | 11 +++++++++++ 2 files changed, 12 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1ce481e..36374ae 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,7 @@ Bug fixes: * Unbreak the "Show degrees of freedom" command. * Three.js: correctly respond to controls when browser zoom is used. * OS X: do not completely hide main window when defocused. + * GTK: unbreak 3Dconnexion support. 2.1 --- diff --git a/src/gtk/gtkmain.cpp b/src/gtk/gtkmain.cpp index 7090c30..0f67fb7 100644 --- a/src/gtk/gtkmain.cpp +++ b/src/gtk/gtkmain.cpp @@ -1578,6 +1578,17 @@ int main(int argc, char** argv) { TW->show_all(); GW->show_all(); +#ifdef HAVE_SPACEWARE +#ifdef HAVE_GTK3 + // We don't care if it can't be opened; just continue without. + spnav_x11_open(gdk_x11_get_default_xdisplay(), + gdk_x11_window_get_xid(GW->get_window()->gobj())); +#else + spnav_x11_open(gdk_x11_get_default_xdisplay(), + GDK_WINDOW_XWINDOW(GW->get_window()->gobj())); +#endif +#endif + SS.Init(); if(argc >= 2) {