Index: mythcontrols.cpp
===================================================================
--- mythcontrols.cpp	(revision 7735)
+++ mythcontrols.cpp	(working copy)
@@ -43,6 +43,7 @@
 using namespace std;
 
 #include "mythcontrols.h"
+#include "keylistdialog.h"
 #include "keygrabber.h"
 
 
@@ -205,8 +206,13 @@
     refreshKeyInformation();
 }
 
+void MythControls::showKeyList()
+{
+    bool success;
+    KeyListDialog kld(gContext->GetMainWindow(), getCurrentContext(), success);
+    if (success) kld.exec();
+}
 
-
 void MythControls::keyPressEvent(QKeyEvent *e)
 {
     bool handled = false;
@@ -221,7 +227,16 @@
         if (action == "MENU" || action == "INFO")
         {
             OptionsMenu popup(gContext->GetMainWindow());
-            if (popup.getOption() == OptionsMenu::SAVE) save();
+            int a = (int)popup.getOption();
+            switch (a) {
+                case (int)OptionsMenu::SAVE:
+                    save();
+                    break;
+                case (int)OptionsMenu::KEYLIST:
+                    showKeyList();
+                    break;
+            }
+//            if (popup.getOption() == OptionsMenu::SAVE) save();
         }
         else if (action == "SELECT")
         {
@@ -305,7 +320,7 @@
         MythThemedDialog::keyPressEvent(e);
 }
 
-void MythControls::contextSelected(UIListBtnTypeItem *item)
+void MythControls::contextSelected(UIListBtnTypeItem*)
 {
     ActionList->blockSignals(true);
     refreshActionList(getCurrentContext());
@@ -313,7 +328,7 @@
     ActionList->blockSignals(false);
 }
 
-void MythControls::actionSelected(UIListBtnTypeItem *item)
+void MythControls::actionSelected(UIListBtnTypeItem*)
 {
     repaintButtonLists();
     refreshKeyInformation();
@@ -349,7 +364,7 @@
 
 
 /* method description in header */
-void MythControls::refreshActionList(const QString & context)
+void MythControls::refreshActionList(const QString &)
 {
     ActionList->Reset();
 
Index: mythcontrols.h
===================================================================
--- mythcontrols.h	(revision 7735)
+++ mythcontrols.h	(working copy)
@@ -108,6 +108,11 @@
     void refreshActionList(const QString & context);
 
     /**
+     * @brief Show list of keys allocated in current context
+     */
+    void showKeyList();
+
+    /**
      * @brief Load the settings for a particular host.
      * @param hostname The host to load settings for.
      */
Index: keygrabber.cpp
===================================================================
--- keygrabber.cpp	(revision 7735)
+++ keygrabber.cpp	(working copy)
@@ -132,6 +132,7 @@
 {
     addLabel(tr("Options"), Large, false);
     addButton(tr("Save"), this, SLOT(save()));
+    addButton(tr("Used Keys"), this, SLOT(keylist()));
     addButton(tr("Cancel"), this, SLOT(cancel()))->setFocus();
 }
     
Index: keygrabber.h
===================================================================
--- keygrabber.h	(revision 7735)
+++ keygrabber.h	(working copy)
@@ -141,7 +141,7 @@
 
 public:
 
-    enum actons { SAVE, CANCEL };
+    enum actions { SAVE, CANCEL, KEYLIST };
 
     /**
      * @brief Create a new action window.
@@ -165,6 +165,10 @@
      */
     inline void cancel(void) { done(OptionsMenu::CANCEL); }
 
+/**
+ * @brief Slot to connect to when the keylist button is pressed.
+ */
+inline void keylist(void) { done(OptionsMenu::KEYLIST); }
 };
 
 
@@ -180,7 +184,7 @@
 
 public:
 
-    enum actons { SET, REMOVE, CANCEL };
+    enum actions { SET, REMOVE, CANCEL };
 
     /**
      * @brief Create a new action window.
@@ -222,7 +226,7 @@
 
 public:
 
-    enum actons { SAVE, EXIT };
+    enum actions { SAVE, EXIT };
 
     /**
      * @brief Create a new action window.
Index: mythcontrols.pro
===================================================================
--- mythcontrols.pro	(revision 7735)
+++ mythcontrols.pro	(working copy)
@@ -16,8 +16,9 @@
 
 # Input
 HEADERS += action.h actionid.h mythcontrols.h keybindings.h keygrabber.h
+HEADERS += keylistdialog.h
 SOURCES += action.cpp actionset.cpp keybindings.cpp mythcontrols.cpp
-SOURCES += keygrabber.cpp main.cpp 
+SOURCES += keygrabber.cpp main.cpp keylistdialog.cpp
 
 macx {
     QMAKE_LFLAGS += -flat_namespace -undefined suppress
Index: controls-ui.xml
===================================================================
--- controls-ui.xml	(revision 7735)
+++ controls-ui.xml	(working copy)
@@ -98,4 +98,72 @@
   </container>
 
  </window>
+
+ <window name="keylist">
+
+  <font name="active" face="Arial">
+   <color>#ffffff</color>
+   <size>14</size>
+   <bold>yes</bold>
+  </font>
+
+  <font name="inactive" face="Arial">
+   <color>#9999cc</color>
+   <size>14</size>
+   <bold>yes</bold>
+  </font>
+
+  <font name="keys" face="Arial">
+   <color>#000000</color>
+   <size>18</size>
+   <shadow>1,1</shadow>
+   <bold>yes</bold>
+  </font>
+
+  <font name="info" face="Arial">
+   <color>#ffffff</color>
+   <size>18</size>
+   <shadow>1,1</shadow>
+   <bold>yes</bold>
+  </font>
+
+  <font name="infotitle" face="Arial">
+   <color>#ffffff</color>
+   <size>24</size>
+   <shadow>10,10</shadow>
+   <bold>yes</bold>
+  </font>
+
+  <container name="controls">
+   <area>20,20,780,380</area>
+
+   <listbtnarea name="keylist" draworder="0">
+    <area>0,0,370,360</area>
+    <gradient type="unselected" start="#505050" end="#000000" alpha="100"/>
+    <gradient type="selected" start="#52CA38" end="#349838" alpha="255"/>
+    <fcnfont name="active" function="active"/>
+    <fcnfont name="inactive" function="inactive"/>
+    <showarrow>no</showarrow>
+   </listbtnarea>
+
+   <listbtnarea name="keylist2" draworder="0">
+    <area>390,0,370,360</area>
+    <gradient type="unselected" start="#505050" end="#000000" alpha="100"/>
+    <gradient type="selected" start="#52CA38" end="#349838" alpha="255"/>
+    <fcnfont name="active" function="active"/>
+    <fcnfont name="inactive" function="inactive"/>
+    <showarrow>no</showarrow>
+   </listbtnarea>
+
+  </container>
+
+  <container name="text">
+   <textarea name="context" draworder="1" allign="left">
+    <font>info</font>
+    <area>30,20,370,140</area>
+   </textarea>
+
+  </container>
+
+ </window>
 </mythuitheme>
