diff --git a/src/wx/guiinit.cpp b/src/wx/guiinit.cpp
index 2137e7a9..e1b6a5d4 100644
--- a/src/wx/guiinit.cpp
+++ b/src/wx/guiinit.cpp
@@ -1646,6 +1646,18 @@ public:
{
bool clear = ev.GetId() == XRCID("Clear");
+ // For the individual clear buttons, we assume their name is
+ // "Clear" + joynames[i]
+ // ClearUp for Up; ClearR for R etc
+ for (int i = 0; i < NUM_KEYS; ++i) {
+ wxJoyKeyTextCtrl* tc = XRCCTRL_D(*p, joynames[i], wxJoyKeyTextCtrl);
+ wxString singleClearButton("Clear" + joynames[i]);
+ if (ev.GetId() == XRCID(singleClearButton)) {
+ tc->SetValue(wxEmptyString);
+ return;
+ }
+ }
+
for (int i = 0; i < NUM_KEYS; i++) {
wxJoyKeyTextCtrl* tc = XRCCTRL_D(*p, joynames[i], wxJoyKeyTextCtrl);
@@ -3725,6 +3737,12 @@ bool MainFrame::BindControls()
w->Connect(XRCID("Clear"), wxEVT_COMMAND_BUTTON_CLICKED,
wxCommandEventHandler(JoyPadConfig_t::JoypadConfigButtons),
NULL, &JoyPadConfigHandler[i]);
+ for (int j = 0; j < NUM_KEYS; ++j) {
+ w->Connect(XRCID(wxString("Clear" + joynames[j])),
+ wxEVT_COMMAND_BUTTON_CLICKED,
+ wxCommandEventHandler(JoyPadConfig_t::JoypadConfigButtons),
+ NULL, &JoyPadConfigHandler[i]);
+ }
joyDialog->Fit();
}
diff --git a/src/wx/xrc/JoyPanel.xrc b/src/wx/xrc/JoyPanel.xrc
index 9d11b18f..79aa1bf5 100644
--- a/src/wx/xrc/JoyPanel.xrc
+++ b/src/wx/xrc/JoyPanel.xrc
@@ -24,6 +24,14 @@
wxALL|wxEXPAND
5
+
@@ -39,6 +47,14 @@
wxALL|wxEXPAND
5
+
+
+
+
+
+ wxALL
+ 5
+
@@ -54,6 +70,14 @@
wxALL|wxEXPAND
5
+
+
+
+
+
+ wxALL
+ 5
+
@@ -69,6 +93,14 @@
wxALL|wxEXPAND
5
+
+
+
+
+
+ wxALL
+ 5
+
@@ -84,6 +116,14 @@
wxALL|wxEXPAND
5
+
+
+
+
+
+ wxALL
+ 5
+
@@ -99,6 +139,14 @@
wxALL|wxEXPAND
5
+
+
+
+
+
+ wxALL
+ 5
+
@@ -114,6 +162,14 @@
wxALL|wxEXPAND
5
+
+
+
+
+
+ wxALL
+ 5
+
@@ -130,6 +186,14 @@
wxALL|wxEXPAND
5
+
+
+
+
+
+ wxALL
+ 5
+
@@ -145,6 +209,14 @@
wxALL|wxEXPAND
5
+
+
+
+
+
+ wxALL
+ 5
+
@@ -160,8 +232,16 @@
wxALL|wxEXPAND
5
- 4
- 1,3
+
+
+
+
+
+ wxALL
+ 5
+
+ 6
+ 1,2,4,5
@@ -183,6 +263,14 @@
wxALL|wxEXPAND
5
+
+
+
+
+
+ wxALL
+ 5
+
@@ -197,6 +285,14 @@
wxALL|wxEXPAND
5
+
+
+
+
+
+ wxALL
+ 5
+
@@ -211,6 +307,14 @@
wxALL|wxEXPAND
5
+
+
+
+
+
+ wxALL
+ 5
+
@@ -225,6 +329,14 @@
wxALL|wxEXPAND
5
+
+
+
+
+
+ wxALL
+ 5
+
@@ -239,6 +351,14 @@
wxALL|wxEXPAND
5
+
+
+
+
+
+ wxALL
+ 5
+
@@ -253,6 +373,14 @@
wxALL|wxEXPAND
5
+
+
+
+
+
+ wxALL
+ 5
+
@@ -267,6 +395,14 @@
wxALL|wxGROW
5
+
+
+
+
+
+ wxALL
+ 5
+
@@ -281,6 +417,14 @@
wxALL|wxEXPAND
5
+
+
+
+
+
+ wxALL
+ 5
+
@@ -295,6 +439,17 @@
wxALL|wxEXPAND
5
+
+
+
+
+
+ wxALL
+ 5
+
+
+ wxEXPAND
+
wxEXPAND
@@ -315,6 +470,14 @@
wxALL|wxGROW
5
+
+
+
+
+
+ wxALL
+ 5
+
@@ -329,8 +492,16 @@
wxALL|wxEXPAND
5
- 4
- 1,3
+
+
+
+
+
+ wxALL
+ 5
+
+ 6
+ 1,2,4,5
@@ -355,7 +526,7 @@
-
+
wxALL
5