Index: /trunk/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsInput.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsInput.cpp	(revision 35861)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsInput.cpp	(revision 35862)
@@ -18,4 +18,7 @@
  */
 
+/* Global includes */
+#include <QShortcut>
+
 /* Local includes */
 #include "UIGlobalSettingsInput.h"
@@ -27,4 +30,9 @@
     /* Apply UI decorations: */
     Ui::UIGlobalSettingsInput::setupUi(this);
+
+    /* Set the new shortcut for the eraze-host-combo button: */
+    m_pResetHostCombinationButton->setShortcut(QKeySequence());
+    new QShortcut(QKeySequence(Qt::Key_Delete), m_pResetHostCombinationButton, SLOT(animateClick()));
+    new QShortcut(QKeySequence(Qt::Key_Backspace), m_pResetHostCombinationButton, SLOT(animateClick()));
 
     /* Apply language settings: */
@@ -84,5 +92,6 @@
 {
     setTabOrder(pWidget, m_pHostKeyEditor);
-    setTabOrder(m_pHostKeyEditor, m_pEnableAutoGrabCheckbox);
+    setTabOrder(m_pHostKeyEditor, m_pResetHostCombinationButton);
+    setTabOrder(m_pResetHostCombinationButton, m_pEnableAutoGrabCheckbox);
 }
 
Index: /trunk/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsInput.ui
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsInput.ui	(revision 35861)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsInput.ui	(revision 35862)
@@ -66,5 +66,18 @@
     </widget>
    </item>
-   <item row="1" column="2">
+   <item row="0" column="3">
+    <widget class="UIResetButton" name="m_pResetHostCombinationButton">
+     <property name="focusPolicy">
+      <enum>Qt::StrongFocus</enum>
+     </property>
+     <property name="toolTip">
+      <string>Reset host combination</string>
+     </property>
+     <property name="whatsThis">
+      <string>Resets the key combination used as the host combination in the VM window.</string>
+     </property>
+    </widget>
+   </item>
+   <item row="1" column="2" colspan="2">
     <widget class="QCheckBox" name="m_pEnableAutoGrabCheckbox">
      <property name="whatsThis">
@@ -76,5 +89,5 @@
     </widget>
    </item>
-   <item row="2" column="0" colspan="3">
+   <item row="2" column="0" colspan="4">
     <spacer>
      <property name="orientation">
@@ -103,13 +116,11 @@
   </customwidget>
  </customwidgets>
- <resources>
-  <include location="../VirtualBox1.qrc"/>
- </resources>
+ <resources/>
  <connections>
   <connection>
-   <sender>m_pResetHostKeyButton</sender>
+   <sender>m_pResetHostCombinationButton</sender>
    <signal>clicked(bool)</signal>
    <receiver>m_pHostKeyEditor</receiver>
-   <slot>clear()</slot>
+   <slot>sltClear()</slot>
    <hints>
     <hint type="sourcelabel">
Index: /trunk/src/VBox/Frontends/VirtualBox/src/widgets/UIHotKeyEditor.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/widgets/UIHotKeyEditor.cpp	(revision 35861)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/widgets/UIHotKeyEditor.cpp	(revision 35862)
@@ -390,4 +390,10 @@
 }
 
+void UIHotKeyEditor::sltClear()
+{
+    m_shownKeys.clear();
+    updateText();
+}
+
 #ifdef Q_WS_WIN
 bool UIHotKeyEditor::winEvent(MSG *pMsg, long* /* pResult */)
@@ -496,4 +502,61 @@
 #endif /* Q_WS_MAC */
 
+void UIHotKeyEditor::focusInEvent(QFocusEvent *pEvent)
+{
+    QLabel::focusInEvent(pEvent);
+
+    QPalette p = palette();
+    p.setColor(QPalette::Active, QPalette::Foreground, p.color(QPalette::Active, QPalette::HighlightedText));
+    p.setColor(QPalette::Active, QPalette::Background, p.color(QPalette::Active, QPalette::Highlight));
+    setPalette(p);
+}
+
+void UIHotKeyEditor::focusOutEvent(QFocusEvent *pEvent)
+{
+    QLabel::focusOutEvent(pEvent);
+
+    QPalette p = palette();
+    p.setColor(QPalette::Active, QPalette::Foreground, p.color(QPalette::Active, QPalette::Text));
+    p.setColor(QPalette::Active, QPalette::Background, p.color(QPalette::Active, QPalette::Base));
+    setPalette(p);
+}
+
+void UIHotKeyEditor::paintEvent(QPaintEvent *pEvent)
+{
+    if (hasFocus())
+    {
+        QStylePainter painter(this);
+        QStyleOptionFocusRect option;
+        option.initFrom(this);
+        option.backgroundColor = palette().color(QPalette::Background);
+        option.rect = contentsRect();
+        painter.drawPrimitive(QStyle::PE_FrameFocusRect, option);
+    }
+    QLabel::paintEvent(pEvent);
+}
+
+void UIHotKeyEditor::sltReleasePendingKeys()
+{
+    /* Stop the timer, we process all pending keys at once: */
+    m_pReleaseTimer->stop();
+    /* Something to do? */
+    if (!m_releasedKeys.isEmpty())
+    {
+        /* Remove every key: */
+        QSetIterator<int> iterator(m_releasedKeys);
+        while (iterator.hasNext())
+        {
+            int iKeyCode = iterator.next();
+            m_pressedKeys.remove(iKeyCode);
+            m_shownKeys.remove(iKeyCode);
+        }
+        m_releasedKeys.clear();
+        if (m_pressedKeys.isEmpty())
+            m_fStartNewSequence = true;
+    }
+    /* Make sure the user see what happens: */
+    updateText();
+}
+
 bool UIHotKeyEditor::processKeyEvent(int iKeyCode, bool fKeyPress)
 {
@@ -549,76 +612,4 @@
 }
 
-void UIHotKeyEditor::keyPressEvent(QKeyEvent *pEvent)
-{
-    switch (pEvent->key())
-    {
-        case Qt::Key_Delete:
-        case Qt::Key_Backspace:
-            m_shownKeys.clear();
-            updateText();
-            break;
-        default:
-            QWidget::keyPressEvent(pEvent);
-            break;
-    }
-}
-
-void UIHotKeyEditor::focusInEvent(QFocusEvent *pEvent)
-{
-    QLabel::focusInEvent(pEvent);
-
-    QPalette p = palette();
-    p.setColor(QPalette::Active, QPalette::Foreground, p.color(QPalette::Active, QPalette::HighlightedText));
-    p.setColor(QPalette::Active, QPalette::Background, p.color(QPalette::Active, QPalette::Highlight));
-    setPalette(p);
-}
-
-void UIHotKeyEditor::focusOutEvent(QFocusEvent *pEvent)
-{
-    QLabel::focusOutEvent(pEvent);
-
-    QPalette p = palette();
-    p.setColor(QPalette::Active, QPalette::Foreground, p.color(QPalette::Active, QPalette::Text));
-    p.setColor(QPalette::Active, QPalette::Background, p.color(QPalette::Active, QPalette::Base));
-    setPalette(p);
-}
-
-void UIHotKeyEditor::paintEvent(QPaintEvent *pEvent)
-{
-    if (hasFocus())
-    {
-        QStylePainter painter(this);
-        QStyleOptionFocusRect option;
-        option.initFrom(this);
-        option.backgroundColor = palette().color(QPalette::Background);
-        option.rect = contentsRect();
-        painter.drawPrimitive(QStyle::PE_FrameFocusRect, option);
-    }
-    QLabel::paintEvent(pEvent);
-}
-
-void UIHotKeyEditor::sltReleasePendingKeys()
-{
-    /* Stop the timer, we process all pending keys at once: */
-    m_pReleaseTimer->stop();
-    /* Something to do? */
-    if (!m_releasedKeys.isEmpty())
-    {
-        /* Remove every key: */
-        QSetIterator<int> iterator(m_releasedKeys);
-        while (iterator.hasNext())
-        {
-            int iKeyCode = iterator.next();
-            m_pressedKeys.remove(iKeyCode);
-            m_shownKeys.remove(iKeyCode);
-        }
-        m_releasedKeys.clear();
-        if (m_pressedKeys.isEmpty())
-            m_fStartNewSequence = true;
-    }
-    /* Make sure the user see what happens: */
-    updateText();
-}
-
 void UIHotKeyEditor::updateText()
 {
Index: /trunk/src/VBox/Frontends/VirtualBox/src/widgets/UIHotKeyEditor.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/widgets/UIHotKeyEditor.h	(revision 35861)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/widgets/UIHotKeyEditor.h	(revision 35862)
@@ -63,4 +63,8 @@
     QSize minimumSizeHint() const;
 
+public slots:
+
+    void sltClear();
+
 protected:
 
@@ -76,7 +80,4 @@
 #endif /* Q_WS_MAC */
 
-    bool processKeyEvent(int iKeyCode, bool fKeyPress);
-
-    void keyPressEvent(QKeyEvent *pEvent);
     void focusInEvent(QFocusEvent *pEvent);
     void focusOutEvent(QFocusEvent *pEvent);
@@ -89,4 +90,5 @@
 private:
 
+    bool processKeyEvent(int iKeyCode, bool fKeyPress);
     void updateText();
 
