Index: /trunk/src/VBox/Frontends/VirtualBox/src/VBoxGlobalSettings.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/VBoxGlobalSettings.cpp	(revision 66570)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/VBoxGlobalSettings.cpp	(revision 66571)
@@ -51,9 +51,4 @@
 {
     /* default settings */
-#if defined(VBOX_WS_X11) && defined(DEBUG)
-    autoCapture = false;
-#else
-    autoCapture = true;
-#endif
     guiFeatures = QString::null;
     languageId  = QString::null;
@@ -66,5 +61,4 @@
 VBoxGlobalSettingsData::VBoxGlobalSettingsData (const VBoxGlobalSettingsData &that)
 {
-    autoCapture = that.autoCapture;
     guiFeatures = that.guiFeatures;
     languageId  = that.languageId;
@@ -82,6 +76,5 @@
 {
     return this == &that ||
-        (autoCapture == that.autoCapture &&
-         guiFeatures == that.guiFeatures &&
+        (guiFeatures == that.guiFeatures &&
          languageId  == that.languageId &&
          maxGuestRes == that.maxGuestRes &&
@@ -110,5 +103,4 @@
 gPropertyMap[] =
 {
-    { "GUI/Input/AutoCapture",                     "autoCapture",             "true|false", true },
     { "GUI/Customizations",                        "guiFeatures",             "\\S+", true },
     { "GUI/LanguageID",                            "languageId",              gVBoxLangIDRegExp, true },
Index: /trunk/src/VBox/Frontends/VirtualBox/src/VBoxGlobalSettings.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/VBoxGlobalSettings.h	(revision 66570)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/VBoxGlobalSettings.h	(revision 66571)
@@ -37,5 +37,4 @@
 private:
 
-    bool autoCapture;
     QString guiFeatures;
     QString languageId;
@@ -53,5 +52,4 @@
 {
     Q_OBJECT
-    Q_PROPERTY (bool autoCapture READ autoCapture WRITE setAutoCapture)
     Q_PROPERTY (QString guiFeatures READ guiFeatures WRITE setGuiFeatures)
     Q_PROPERTY (QString languageId READ languageId WRITE setLanguageId)
@@ -73,11 +71,4 @@
 
     // Properties
-
-    bool autoCapture() const { return data()->autoCapture; }
-    void setAutoCapture (bool aAutoCapture)
-    {
-        mData()->autoCapture = aAutoCapture;
-        resetError();
-    }
 
     QString guiFeatures() const { return data()->guiFeatures; }
Index: /trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataDefs.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataDefs.cpp	(revision 66570)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataDefs.cpp	(revision 66571)
@@ -55,4 +55,5 @@
 const char* UIExtraDataDefs::GUI_Input_MachineShortcuts = "GUI/Input/MachineShortcuts";
 const char* UIExtraDataDefs::GUI_Input_HostKeyCombination = "GUI/Input/HostKeyCombination";
+const char* UIExtraDataDefs::GUI_Input_AutoCapture = "GUI/Input/AutoCapture";
 
 /* Settings: Storage: */
Index: /trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataDefs.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataDefs.h	(revision 66570)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataDefs.h	(revision 66571)
@@ -85,4 +85,6 @@
         /** Holds Runtime UI host-key combination. */
         extern const char* GUI_Input_HostKeyCombination;
+        /** Holds whether Runtime UI auto-capture is enabled. */
+        extern const char* GUI_Input_AutoCapture;
     /** @} */
 
Index: /trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.cpp	(revision 66570)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.cpp	(revision 66571)
@@ -2357,5 +2357,5 @@
 #endif
     }
-    /* Return host-combo: */
+    /* Return host-key combination: */
     return strHostCombo;
 }
@@ -2378,4 +2378,33 @@
         return extraDataStringList(GUI_Input_MachineShortcuts);
     return QStringList();
+}
+
+bool UIExtraDataManager::autoCaptureEnabled()
+{
+    /* Prepare auto-capture flag: */
+    bool fAutoCapture = true /* indifferently */;
+    /* Acquire whether the auto-capture is restricted: */
+    QString strAutoCapture = extraDataString(GUI_Input_AutoCapture);
+    /* Invent some sane default if it's empty: */
+    if (strAutoCapture.isEmpty())
+    {
+#if defined(VBOX_WS_X11) && defined(DEBUG)
+        fAutoCapture = false;
+#else
+        fAutoCapture = true;
+#endif
+    }
+    /* 'True' unless feature restricted: */
+    else
+        fAutoCapture = !isFeatureRestricted(GUI_Input_AutoCapture);
+    /* Return auto-capture flag: */
+    return fAutoCapture;
+}
+
+void UIExtraDataManager::setAutoCaptureEnabled(bool fEnabled)
+{
+    /* Store actual feature state, whether it is "true" or "false",
+     * because absent state means default, different on various hosts: */
+    setExtraDataString(GUI_Input_AutoCapture, toFeatureState(fEnabled));
 }
 
@@ -4230,4 +4259,9 @@
 }
 
+QString UIExtraDataManager::toFeatureState(bool fState)
+{
+    return fState ? QString("true") : QString("false");
+}
+
 QString UIExtraDataManager::toFeatureAllowed(bool fAllowed)
 {
Index: /trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.h	(revision 66570)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.h	(revision 66571)
@@ -202,4 +202,9 @@
         /** Returns shortcut overrides for shortcut-pool with @a strPoolExtraDataID. */
         QStringList shortcutOverrides(const QString &strPoolExtraDataID);
+
+        /** Returns whether the Runtime UI auto-capture is enabled. */
+        bool autoCaptureEnabled();
+        /** Defines whether the Runtime UI auto-capture is @a fEnabled. */
+        void setAutoCaptureEnabled(bool fEnabled);
     /** @} */
 
@@ -619,4 +624,6 @@
     bool isFeatureRestricted(const QString &strKey, const QString &strID = GlobalID);
 
+    /** Translates bool flag into QString value. */
+    QString toFeatureState(bool fState);
     /** Translates bool flag into 'allowed' value. */
     QString toFeatureAllowed(bool fAllowed);
Index: /trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIKeyboardHandler.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIKeyboardHandler.cpp	(revision 66570)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIKeyboardHandler.cpp	(revision 66571)
@@ -1544,5 +1544,4 @@
     , m_pMachineLogic(pMachineLogic)
     , m_iKeyboardCaptureViewIndex(-1)
-    , m_globalSettings(vboxGlobal().settings())
     , m_fIsKeyboardCaptured(false)
     , m_bIsHostComboPressed(false)
@@ -2476,5 +2475,5 @@
 bool UIKeyboardHandler::autoCaptureSetGlobally()
 {
-    return m_globalSettings.autoCapture() && !m_fDebuggerActive;
+    return gEDataManager->autoCaptureEnabled() && !m_fDebuggerActive;
 }
 
Index: /trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIKeyboardHandler.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIKeyboardHandler.h	(revision 66570)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIKeyboardHandler.h	(revision 66571)
@@ -37,5 +37,4 @@
 /* Forward declarations: */
 class QWidget;
-class VBoxGlobalSettings;
 class UIActionPool;
 class UISession;
@@ -212,5 +211,4 @@
     /* Other keyboard variables: */
     int m_iKeyboardCaptureViewIndex;
-    const VBoxGlobalSettings &m_globalSettings;
 
     uint8_t m_pressedKeys[128];
Index: /trunk/src/VBox/Frontends/VirtualBox/src/runtime/UISession.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/runtime/UISession.cpp	(revision 66570)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/runtime/UISession.cpp	(revision 66571)
@@ -167,5 +167,5 @@
 
     /* Notify user about mouse&keyboard auto-capturing: */
-    if (vboxGlobal().settings().autoCapture())
+    if (gEDataManager->autoCaptureEnabled())
         popupCenter().remindAboutAutoCapture(machineLogic()->activeMachineWindow());
 
Index: /trunk/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsInput.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsInput.cpp	(revision 66570)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsInput.cpp	(revision 66571)
@@ -36,5 +36,4 @@
 # include "UIShortcutPool.h"
 # include "UIExtraDataManager.h"
-# include "VBoxGlobalSettings.h"
 
 #endif /* !VBOX_WITH_PRECOMPILED_HEADERS */
@@ -906,5 +905,5 @@
                                                  shortcut.defaultSequence().toString(QKeySequence::NativeText));
     }
-    oldInputData.setAutoCapture(m_settings.autoCapture());
+    oldInputData.setAutoCapture(gEDataManager->autoCaptureEnabled());
 
     /* Cache old input data: */
@@ -972,5 +971,5 @@
         /* Save other new things from the cache: */
         if (m_pCache->data().autoCapture() != m_pCache->base().autoCapture())
-            m_settings.setAutoCapture(m_pCache->data().autoCapture());
+            gEDataManager->setAutoCaptureEnabled(m_pCache->data().autoCapture());
     }
 
