diff --git a/plugins/onepad/CMakeLists.txt b/plugins/onepad/CMakeLists.txt
index 7482424e6e..789205e0a0 100644
--- a/plugins/onepad/CMakeLists.txt
+++ b/plugins/onepad/CMakeLists.txt
@@ -35,7 +35,6 @@ endif(CMAKE_BUILD_TYPE STREQUAL Release)
set(onepadSources
analog.cpp
controller.cpp
- dialog.cpp
joystick.cpp
keyboard.cpp
onepad.cpp)
@@ -51,18 +50,13 @@ set(onepadHeaders
# onepad Linux sources
set(onepadLinuxSources
-# Linux/callbacks.c
- Linux/gui.cpp
Linux/ini.cpp
- Linux/interface.c
- Linux/linux.cpp
- Linux/support.c)
+ Linux/dialog.cpp
+ Linux/linux.cpp)
# onepad Linux headers
set(onepadLinuxHeaders
- Linux/callbacks.h
- Linux/interface.h
- Linux/support.h)
+ Linux/linux.h)
# onepad Windows sources
set(onepadWindowsSources
diff --git a/plugins/onepad/Linux/OnePad.cbp b/plugins/onepad/Linux/OnePad.cbp
index 9e2204bd67..069de1c6ef 100644
--- a/plugins/onepad/Linux/OnePad.cbp
+++ b/plugins/onepad/Linux/OnePad.cbp
@@ -48,21 +48,11 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/plugins/onepad/Linux/callbacks.c b/plugins/onepad/Linux/callbacks.c
deleted file mode 100644
index 6980761b81..0000000000
--- a/plugins/onepad/Linux/callbacks.c
+++ /dev/null
@@ -1,139 +0,0 @@
-#ifdef HAVE_CONFIG_H
-# include
-#endif
-
-#include
-
-#include "callbacks.h"
-#include "interface.h"
-#include "support.h"
-
-
-void
-OnAbout_Ok (GtkDialog *dialog,
- gint response_id,
- gpointer user_data)
-{
-
-}
-
-
-void
-OnConf_Pad1 (GtkButton *button,
- gpointer user_data)
-{
-
-}
-
-
-void
-OnConf_Pad2 (GtkButton *button,
- gpointer user_data)
-{
-
-}
-
-
-void
-OnConf_Pad3 (GtkButton *button,
- gpointer user_data)
-{
-
-}
-
-
-void
-OnConf_Pad4 (GtkButton *button,
- gpointer user_data)
-{
-
-}
-
-
-void
-on_joydevicescombo_changed (GtkComboBox *combobox,
- gpointer user_data)
-{
-
-}
-
-
-void
-OnConf_Key (GtkButton *button,
- gpointer user_data)
-{
-
-}
-
-
-void
-on_checkbutton_reverselx_toggled (GtkToggleButton *togglebutton,
- gpointer user_data)
-{
-
-}
-
-
-void
-on_forcefeedback_toggled (GtkToggleButton *togglebutton,
- gpointer user_data)
-{
-
-}
-
-
-void
-on_checkbutton_reverserx_toggled (GtkToggleButton *togglebutton,
- gpointer user_data)
-{
-
-}
-
-
-void
-on_checkbutton_reversery_toggled (GtkToggleButton *togglebutton,
- gpointer user_data)
-{
-
-}
-
-
-void
-on_checkbutton_reversely_toggled (GtkToggleButton *togglebutton,
- gpointer user_data)
-{
-
-}
-
-
-void
-on_Clear (GtkButton *button,
- gpointer user_data)
-{
-
-}
-
-
-void
-on_Remove (GtkButton *button,
- gpointer user_data)
-{
-
-}
-
-
-void
-OnConf_Ok (GtkButton *button,
- gpointer user_data)
-{
-
-}
-
-
-void
-OnConf_Cancel (GtkButton *button,
- gpointer user_data)
-{
-
-}
-
diff --git a/plugins/onepad/Linux/callbacks.h b/plugins/onepad/Linux/callbacks.h
deleted file mode 100644
index cd214e4c48..0000000000
--- a/plugins/onepad/Linux/callbacks.h
+++ /dev/null
@@ -1,68 +0,0 @@
-#include
-
-#define VERSION "0.1"
-
-void
-OnAbout_Ok (GtkDialog *dialog,
- gint response_id,
- gpointer user_data);
-
-void
-OnConf_Pad1 (GtkButton *button,
- gpointer user_data);
-
-void
-OnConf_Pad2 (GtkButton *button,
- gpointer user_data);
-
-void
-OnConf_Pad3 (GtkButton *button,
- gpointer user_data);
-
-void
-OnConf_Pad4 (GtkButton *button,
- gpointer user_data);
-
-void
-on_joydevicescombo_changed (GtkComboBox *combobox,
- gpointer user_data);
-
-void
-OnConf_Key (GtkButton *button,
- gpointer user_data);
-
-void
-on_checkbutton_reverselx_toggled (GtkToggleButton *togglebutton,
- gpointer user_data);
-
-void
-on_forcefeedback_toggled (GtkToggleButton *togglebutton,
- gpointer user_data);
-
-void
-on_checkbutton_reverserx_toggled (GtkToggleButton *togglebutton,
- gpointer user_data);
-
-void
-on_checkbutton_reversery_toggled (GtkToggleButton *togglebutton,
- gpointer user_data);
-
-void
-on_checkbutton_reversely_toggled (GtkToggleButton *togglebutton,
- gpointer user_data);
-
-void
-on_Clear (GtkButton *button,
- gpointer user_data);
-
-void
-on_Remove (GtkButton *button,
- gpointer user_data);
-
-void
-OnConf_Ok (GtkButton *button,
- gpointer user_data);
-
-void
-OnConf_Cancel (GtkButton *button,
- gpointer user_data);
diff --git a/plugins/onepad/Linux/dialog.cpp b/plugins/onepad/Linux/dialog.cpp
index cc94aea343..0a18080396 100644
--- a/plugins/onepad/Linux/dialog.cpp
+++ b/plugins/onepad/Linux/dialog.cpp
@@ -23,13 +23,26 @@
#include
extern string KeyName(int pad, int key);
-extern const char* s_pGuiKeyMap[];
+int current_pad = 0;
+GtkWidget *rev_lx_check, *rev_ly_check, *force_feedback_check, *rev_rx_check, *rev_ry_check;
+
+const char* s_pGuiKeyMap[] =
+{
+ "L2", "R2", "L1", "R1",
+ "Triangle", "Circle", "Cross", "Square",
+ "Select", "L3", "R3", "Start",
+ "Up", "Right", "Down", "Left",
+ "Lx", "Rx", "Ly", "Ry",
+ "L_Up", "L_Right", "L_Down", "L_Left",
+ "R_Up", "R_Right", "R_Down", "R_Left"
+};
enum
{
COL_PAD = 0,
COL_BUTTON,
COL_KEY,
+ COL_PAD_NUM,
COL_VALUE,
NUM_COLS
};
@@ -39,10 +52,10 @@ class keys_tree
private:
GtkTreeStore *treestore;
GtkTreeModel *model;
+ GtkTreeView *view;
bool has_columns;
- public:
- GtkWidget *keys_tree_view;
- void populate_tree_view()
+
+ void populate()
{
GtkTreeIter toplevel;
@@ -54,11 +67,21 @@ class keys_tree
{
if (get_key(pad, key) != 0)
{
+ string pad_value;
+ switch(pad)
+ {
+ case 0: pad_value = "Pad 1"; break;
+ case 2: pad_value = "Pad 1"; break;
+ case 1: pad_value = "Pad 2"; break;
+ case 3: pad_value = "Pad 2"; break;
+ default: pad_value = "Invalid"; break;
+ }
gtk_tree_store_append(treestore, &toplevel, NULL);
gtk_tree_store_set(treestore, &toplevel,
- COL_PAD, pad,
+ COL_PAD, pad_value.c_str(),
COL_BUTTON, s_pGuiKeyMap[key],
COL_KEY, KeyName(pad, key).c_str(),
+ COL_PAD_NUM, pad,
COL_VALUE, key,
-1);
}
@@ -66,7 +89,7 @@ class keys_tree
}
}
- void create_a_column(GtkWidget *view, const char *name, int num, bool visible)
+ void create_a_column(const char *name, int num, bool visible)
{
GtkCellRenderer *renderer;
GtkTreeViewColumn *col;
@@ -75,7 +98,7 @@ class keys_tree
gtk_tree_view_column_set_title(col, name);
/* pack tree view column into tree view */
- gtk_tree_view_append_column(GTK_TREE_VIEW(view), col);
+ gtk_tree_view_append_column(view, col);
renderer = gtk_cell_renderer_text_new();
@@ -92,32 +115,45 @@ class keys_tree
{
if (!has_columns)
{
- create_a_column(view, "Pad #", COL_PAD, true);
- create_a_column(view, "Pad Button", COL_BUTTON, true);
- create_a_column(view, "Key Value", COL_KEY, true);
- create_a_column(view, "Internal", COL_VALUE, false);
+ create_a_column("Pad #", COL_PAD, true);
+ create_a_column("Pad Button", COL_BUTTON, true);
+ create_a_column("Key Value", COL_KEY, true);
+ create_a_column("Pad Num", COL_PAD_NUM, false);
+ create_a_column("Internal", COL_VALUE, false);
has_columns = true;
}
}
-
- void init_tree_view()
+ public:
+ GtkWidget *view_widget()
{
+ return GTK_WIDGET(view);
+ }
+
+ void new_tree()
+ {
+ view = GTK_TREE_VIEW(gtk_tree_view_new());
+ }
+
+ void init()
+ {
+
treestore = gtk_tree_store_new(NUM_COLS,
- G_TYPE_UINT,
G_TYPE_STRING,
G_TYPE_STRING,
- G_TYPE_UINT);
+ G_TYPE_STRING,
+ G_TYPE_UINT,
+ G_TYPE_UINT);
- populate_tree_view();
- create_columns(keys_tree_view);
+ populate();
+ create_columns(GTK_WIDGET(view));
model = GTK_TREE_MODEL(treestore);
- gtk_tree_view_set_model(GTK_TREE_VIEW(keys_tree_view), model);
+ gtk_tree_view_set_model(view, model);
g_object_unref(model); /* destroy model automatically with view */
- gtk_tree_selection_set_mode(gtk_tree_view_get_selection(GTK_TREE_VIEW(keys_tree_view)),
+ gtk_tree_selection_set_mode(gtk_tree_view_get_selection(view),
GTK_SELECTION_SINGLE);
}
@@ -125,7 +161,7 @@ class keys_tree
void clear_all()
{
clearPAD();
- init_tree_view();
+ init();
}
void remove_selected()
@@ -133,15 +169,15 @@ class keys_tree
GtkTreeSelection *selection;
GtkTreeIter iter;
- selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(keys_tree_view));
+ selection = gtk_tree_view_get_selection(view);
if (gtk_tree_selection_get_selected(selection, &model, &iter))
{
int pad;
int key;
- gtk_tree_model_get(model, &iter, COL_PAD, &pad, COL_VALUE, &key,-1);
+ gtk_tree_model_get(model, &iter, COL_PAD_NUM, &pad, COL_VALUE, &key,-1);
set_key(pad, key, 0);
- init_tree_view();
+ init();
}
else
{
@@ -189,7 +225,7 @@ typedef struct
{
GtkWidget *widget;
int index;
- void put(char* lbl, int i, GtkFixed *fix, int x, int y)
+ void put(const char* lbl, int i, GtkFixed *fix, int x, int y)
{
widget = gtk_button_new_with_label(lbl);
gtk_fixed_put(fix, widget, x, y);
@@ -208,8 +244,8 @@ void on_conf_key(GtkButton *button, gpointer user_data)
if (id == -1) return;
- int pad = id / MAX_KEYS;
- int key = id % MAX_KEYS;
+ int pad = current_pad; //id / MAX_KEYS;
+ int key = id; // % MAX_KEYS;
// save the joystick states
UpdateJoysticks();
@@ -281,7 +317,7 @@ void on_conf_key(GtkButton *button, gpointer user_data)
}
}
- fir->init_tree_view();
+ fir->init();
}
void on_remove_clicked(GtkButton *button, gpointer user_data)
@@ -294,6 +330,91 @@ void on_clear_clicked(GtkButton *button, gpointer user_data)
fir->clear_all();
}
+
+void joy_changed(GtkComboBox *box, gpointer user_data)
+{
+ int joyid = gtk_combo_box_get_active(box);
+
+ // unassign every joystick with this pad
+ for (int i = 0; i < (int)s_vjoysticks.size(); ++i)
+ {
+ if (s_vjoysticks[i]->GetPAD() == s_selectedpad) s_vjoysticks[i]->Assign(-1);
+ }
+
+ if (joyid >= 0 && joyid < (int)s_vjoysticks.size()) s_vjoysticks[joyid]->Assign(current_pad);
+}
+
+void pad_changed(GtkComboBox *box, gpointer user_data)
+{
+ int temp = gtk_combo_box_get_active(box);
+ if (temp != -1) current_pad = temp;
+ fir->init();
+ int options = (conf.options >> (16 * current_pad));
+
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(rev_lx_check), (options & PADOPTION_REVERTLX));
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(rev_ly_check), (options & PADOPTION_REVERTLY));
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(rev_rx_check), (options & PADOPTION_REVERTRX));
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(rev_ry_check), (options & PADOPTION_REVERTRY));
+}
+
+void on_rev_lx(GtkComboBox *box, gpointer user_data)
+{
+ int mask = (PADOPTION_REVERTLX << (16 * current_pad));
+
+ if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(rev_lx_check)))
+ conf.options |= mask;
+ else
+ conf.options &= ~mask;
+}
+
+void on_rev_ly(GtkComboBox *box, gpointer user_data)
+{
+ int mask = (PADOPTION_REVERTLY << (16 * current_pad));
+
+ if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(rev_ly_check)))
+ conf.options |= mask;
+ else
+ conf.options &= ~mask;
+}
+
+void on_rev_rx(GtkComboBox *box, gpointer user_data)
+{
+ int mask = (PADOPTION_REVERTRX << (16 * current_pad));
+
+ if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(rev_rx_check)))
+ conf.options |= mask;
+ else
+ conf.options &= ~mask;
+}
+
+void on_rev_ry(GtkComboBox *box, gpointer user_data)
+{
+ int mask = (PADOPTION_REVERTRY << (16 * current_pad));
+
+ if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(rev_ry_check)))
+ conf.options |= mask;
+ else
+ conf.options &= ~mask;
+}
+
+//void on_forcefeedback_toggled(GtkToggleButton *togglebutton, gpointer user_data)
+//{
+// int mask = PADOPTION_REVERTLX << (16 * s_selectedpad);
+//
+// if (gtk_toggle_button_get_active(togglebutton))
+// {
+// conf.options |= mask;
+//
+// int joyid = gtk_combo_box_get_active(GTK_COMBO_BOX(s_devicecombo));
+//
+// if (joyid >= 0 && joyid < (int)s_vjoysticks.size()) s_vjoysticks[joyid]->TestForce();
+// }
+// else
+// {
+// conf.options &= ~mask;
+// }
+//}
+
void DisplayDialog()
{
int return_value;
@@ -316,7 +437,7 @@ void DisplayDialog()
GtkWidget *keys_static_frame, *keys_static_box;
GtkWidget *keys_static_area;
dialog_buttons btn[29];
- GtkWidget *rev_lx_check, *rev_ly_check, *force_feedback_check, *rev_rx_check, *rev_ry_check;
+
fir = new keys_tree;
/* Create the widgets */
@@ -336,17 +457,23 @@ void DisplayDialog()
gtk_combo_box_append_text(GTK_COMBO_BOX(pad_choose_cbox), "Pad 1 (alt)");
gtk_combo_box_append_text(GTK_COMBO_BOX(pad_choose_cbox), "Pad 2 (alt)");
gtk_combo_box_set_active(GTK_COMBO_BOX(pad_choose_cbox), 0);
+ current_pad = 0;
+ g_signal_connect(GTK_OBJECT (pad_choose_cbox), "changed", G_CALLBACK(pad_changed), NULL);
joy_choose_cbox = gtk_combo_box_new_text ();
populate_new_joysticks(GTK_COMBO_BOX(joy_choose_cbox));
gtk_combo_box_set_active(GTK_COMBO_BOX(joy_choose_cbox), Get_Current_Joystick());
-
- fir->keys_tree_view = gtk_tree_view_new();
+ g_signal_connect(GTK_OBJECT (joy_choose_cbox), "changed", G_CALLBACK(joy_changed), NULL);
+
+ fir->new_tree();
keys_tree_clear_btn = gtk_button_new_with_label("Clear All");
g_signal_connect(GTK_OBJECT (keys_tree_clear_btn), "clicked", G_CALLBACK(on_clear_clicked), NULL);
+ gtk_widget_set_size_request(keys_tree_clear_btn, 64, 24);
+
keys_tree_remove_btn = gtk_button_new_with_label("Remove");
g_signal_connect(GTK_OBJECT (keys_tree_remove_btn), "clicked", G_CALLBACK(on_remove_clicked), NULL);
-
+ gtk_widget_set_size_request(keys_tree_remove_btn, 64, 24);
+
main_box = gtk_vbox_new(false, 5);
main_frame = gtk_frame_new ("Onepad Config");
gtk_container_add (GTK_CONTAINER(main_frame), main_box);
@@ -414,11 +541,32 @@ void DisplayDialog()
btn[26].put("Down", 26, GTK_FIXED(keys_static_area), static_offset + 392, 312);
btn[27].put("Left", 27, GTK_FIXED(keys_static_area), static_offset + 328, 272);
+ int options = (conf.options >> (16 * current_pad));
+ rev_lx_check = gtk_check_button_new_with_label("Reverse Lx");
+ gtk_fixed_put(GTK_FIXED(keys_static_area), rev_lx_check, static_offset + 40, 344);
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(rev_lx_check), (options & PADOPTION_REVERTLX));
+ g_signal_connect(GTK_OBJECT (rev_lx_check), "toggled", G_CALLBACK(on_rev_lx), NULL);
+
+ rev_ly_check = gtk_check_button_new_with_label("Reverse Ly");
+ gtk_fixed_put(GTK_FIXED(keys_static_area), rev_ly_check, static_offset + 40, 368);
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(rev_ly_check), (options & PADOPTION_REVERTLY));
+ g_signal_connect(GTK_OBJECT (rev_ly_check), "toggled", G_CALLBACK(on_rev_ly), NULL);
+
+ rev_rx_check = gtk_check_button_new_with_label("Reverse Rx");
+ gtk_fixed_put(GTK_FIXED(keys_static_area), rev_rx_check, static_offset + 368, 344);
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(rev_rx_check), (options & PADOPTION_REVERTRX));
+ g_signal_connect(GTK_OBJECT (rev_rx_check), "toggled", G_CALLBACK(on_rev_rx), NULL);
+
+ rev_ry_check = gtk_check_button_new_with_label("Reverse Ry");
+ gtk_fixed_put(GTK_FIXED(keys_static_area), rev_ry_check, static_offset + 368, 368);
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(rev_ry_check), (options & PADOPTION_REVERTRY));
+ g_signal_connect(GTK_OBJECT (rev_ry_check), "toggled", G_CALLBACK(on_rev_ry), NULL);
+
keys_box = gtk_hbox_new(false, 5);
keys_frame = gtk_frame_new ("Key Settings");
gtk_container_add (GTK_CONTAINER(keys_frame), keys_box);
- gtk_box_pack_start (GTK_BOX (keys_tree_box), fir->keys_tree_view, true, true, 0);
+ gtk_box_pack_start (GTK_BOX (keys_tree_box), fir->view_widget(), true, true, 0);
gtk_box_pack_end (GTK_BOX (keys_btn_box), keys_tree_clear_btn, false, false, 0);
gtk_box_pack_end (GTK_BOX (keys_btn_box), keys_tree_remove_btn, false, false, 0);
@@ -434,7 +582,7 @@ void DisplayDialog()
gtk_container_add (GTK_CONTAINER (GTK_DIALOG(dialog)->vbox), main_frame);
- fir->init_tree_view();
+ fir->init();
gtk_widget_show_all (dialog);
@@ -443,24 +591,6 @@ void DisplayDialog()
if (return_value == GTK_RESPONSE_ACCEPT)
{
SaveConfig();
-// DebugEnabled = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(debug_check));
-// if (gtk_combo_box_get_active(GTK_COMBO_BOX(int_box)) != -1)
-// Interpolation = gtk_combo_box_get_active(GTK_COMBO_BOX(int_box));
-//
-// EffectsDisabled = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(effects_check));
-//
-// if (gtk_combo_box_get_active(GTK_COMBO_BOX(reverb_box)) != -1)
-// ReverbBoost = gtk_combo_box_get_active(GTK_COMBO_BOX(reverb_box));
-//
-// if (gtk_combo_box_get_active(GTK_COMBO_BOX(mod_box)) != 1)
-// OutputModule = 0;
-// else
-// OutputModule = FindOutputModuleById( PortaudioOut->GetIdent() );
-//
-// SndOutLatencyMS = gtk_range_get_value(GTK_RANGE(latency_slide));
-//
-// if (gtk_combo_box_get_active(GTK_COMBO_BOX(sync_box)) != -1)
-// SynchMode = gtk_combo_box_get_active(GTK_COMBO_BOX(sync_box));
}
LoadConfig();
diff --git a/plugins/onepad/Linux/gui.cpp b/plugins/onepad/Linux/gui.cpp
deleted file mode 100644
index 167b95744c..0000000000
--- a/plugins/onepad/Linux/gui.cpp
+++ /dev/null
@@ -1,371 +0,0 @@
-/* OnePAD - author: arcum42(@gmail.com)
- * Copyright (C) 2009
- *
- * Based on ZeroPAD, author zerofrog@gmail.com
- * Copyright (C) 2006-2007
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
- #include
-#include
-#include
-
-#include "joystick.h"
-
-#include "onepad.h"
-#include "linux.h"
-
-extern "C"
-{
-#include "interface.h"
-#include "support.h"
-#include "callbacks.h"
-}
-
-GtkWidget *Conf, *About, *MsgDlg;
-GtkWidget *s_devicecombo;
-
-GtkTreeStore *treestore;
-GtkTreeModel *model;
-
-bool has_columns = false;
-
-extern string KeyName(int pad, int key);
-extern const char* s_pGuiKeyMap[];
-extern void UpdateConf(int pad);
-
-enum
-{
- COL_PAD = 0,
- COL_BUTTON,
- COL_KEY,
- COL_VALUE,
- NUM_COLS
-};
-
-
-void populate_tree_view()
-{
- GtkTreeIter toplevel;
-
- gtk_tree_store_clear(treestore);
-
- for (int pad = 0; pad < 2 * MAX_SUB_KEYS; pad++)
- {
- for (int key = 0; key < MAX_KEYS; key++)
- {
- if (get_key(pad, key) != 0)
- {
- gtk_tree_store_append(treestore, &toplevel, NULL);
- gtk_tree_store_set(treestore, &toplevel,
- COL_PAD, pad,
- COL_BUTTON, s_pGuiKeyMap[key],
- COL_KEY, KeyName(pad, key).c_str(),
- COL_VALUE, key,
- -1);
- }
- }
- }
-}
-
-void create_a_column(GtkWidget *view, const char *name, int num, bool visible)
-{
- GtkCellRenderer *renderer;
- GtkTreeViewColumn *col;
-
- col = gtk_tree_view_column_new();
- gtk_tree_view_column_set_title(col, name);
-
- /* pack tree view column into tree view */
- gtk_tree_view_append_column(GTK_TREE_VIEW(view), col);
-
- renderer = gtk_cell_renderer_text_new();
-
- /* pack cell renderer into tree view column */
- gtk_tree_view_column_pack_start(col, renderer, TRUE);
-
- /* connect 'text' property of the cell renderer to
- * model column that contains the first name */
- gtk_tree_view_column_add_attribute(col, renderer, "text", num);
- gtk_tree_view_column_set_visible(col, visible);
-}
-
-void create_columns(GtkWidget *view)
-{
- if (!has_columns)
- {
- create_a_column(view, "Pad #", COL_PAD, true);
- create_a_column(view, "Pad Button", COL_BUTTON, true);
- create_a_column(view, "Key Value", COL_KEY, true);
- create_a_column(view, "Internal", COL_VALUE, false);
- has_columns = true;
- }
-}
-
-void init_tree_view()
-{
- GtkWidget *view;
-
- view = lookup_widget(Conf,"padtreeview");
-
- treestore = gtk_tree_store_new(NUM_COLS,
- G_TYPE_UINT,
- G_TYPE_STRING,
- G_TYPE_STRING,
- G_TYPE_UINT);
-
- populate_tree_view();
- create_columns(view);
-
- model = GTK_TREE_MODEL(treestore);
-
- gtk_tree_view_set_model(GTK_TREE_VIEW(view), model);
-
- g_object_unref(model); /* destroy model automatically with view */
-
- gtk_tree_selection_set_mode(gtk_tree_view_get_selection(GTK_TREE_VIEW(view)),
- GTK_SELECTION_SINGLE);
-
-}
-
-void destroy_tree_view()
-{
- has_columns = false;
- //g_object_unref(treestore);
-}
-
-/*void add_tree_row(int pad, int key)
-{
- GtkTreeIter toplevel;
-
- gtk_tree_store_append(treestore, &toplevel, NULL);
- gtk_tree_store_set(treestore, &toplevel,
- COL_PAD, pad,
- COL_BUTTON, s_pGuiKeyMap[key],
- COL_KEY, KeyName(pad, key).c_str(),
- COL_VALUE, key,
- -1);
-}
-
-void delete_tree_row()
-{
-}*/
-
-void OnMsg_Ok()
-{
- gtk_widget_destroy(MsgDlg);
- gtk_main_quit();
-}
-
-// GUI event handlers
-void on_joydevicescombo_changed(GtkComboBox *combobox, gpointer user_data)
-{
- int joyid = gtk_combo_box_get_active(combobox);
-
- // unassign every joystick with this pad
- for (int i = 0; i < (int)s_vjoysticks.size(); ++i)
- {
- if (s_vjoysticks[i]->GetPAD() == s_selectedpad) s_vjoysticks[i]->Assign(-1);
- }
-
- if (joyid >= 0 && joyid < (int)s_vjoysticks.size()) s_vjoysticks[joyid]->Assign(s_selectedpad);
-}
-
-void on_checkbutton_reverselx_toggled(GtkToggleButton *togglebutton, gpointer user_data)
-{
- int mask = PADOPTION_REVERTLX << (16 * s_selectedpad);
-
- if (gtk_toggle_button_get_active(togglebutton))
- conf.options |= mask;
- else
- conf.options &= ~mask;
-}
-
-void on_checkbutton_reversely_toggled(GtkToggleButton *togglebutton, gpointer user_data)
-{
- int mask = PADOPTION_REVERTLY << (16 * s_selectedpad);
-
- if (gtk_toggle_button_get_active(togglebutton))
- conf.options |= mask;
- else
- conf.options &= ~mask;
-}
-
-void on_checkbutton_reverserx_toggled(GtkToggleButton *togglebutton, gpointer user_data)
-{
- int mask = PADOPTION_REVERTRX << (16 * s_selectedpad);
- if (gtk_toggle_button_get_active(togglebutton))
- conf.options |= mask;
- else
- conf.options &= ~mask;
-}
-
-void on_checkbutton_reversery_toggled(GtkToggleButton *togglebutton, gpointer user_data)
-{
- int mask = PADOPTION_REVERTRY << (16 * s_selectedpad);
-
- if (gtk_toggle_button_get_active(togglebutton))
- conf.options |= mask;
- else
- conf.options &= ~mask;
-}
-
-void on_forcefeedback_toggled(GtkToggleButton *togglebutton, gpointer user_data)
-{
- int mask = PADOPTION_REVERTLX << (16 * s_selectedpad);
-
- if (gtk_toggle_button_get_active(togglebutton))
- {
- conf.options |= mask;
-
- int joyid = gtk_combo_box_get_active(GTK_COMBO_BOX(s_devicecombo));
-
- if (joyid >= 0 && joyid < (int)s_vjoysticks.size()) s_vjoysticks[joyid]->TestForce();
- }
- else
- {
- conf.options &= ~mask;
- }
-}
-
-void SysMessage(char *fmt, ...)
-{
- GtkWidget *Ok, *Txt;
- GtkWidget *Box, *Box1;
- va_list list;
- char msg[512];
-
- va_start(list, fmt);
- vsprintf(msg, fmt, list);
- va_end(list);
-
- if (msg[strlen(msg)-1] == '\n') msg[strlen(msg)-1] = 0;
-
- MsgDlg = gtk_window_new(GTK_WINDOW_TOPLEVEL);
- gtk_window_set_position(GTK_WINDOW(MsgDlg), GTK_WIN_POS_CENTER);
- gtk_window_set_title(GTK_WINDOW(MsgDlg), "ZeroPad");
- gtk_container_set_border_width(GTK_CONTAINER(MsgDlg), 5);
-
- Box = gtk_vbox_new(5, 0);
- gtk_container_add(GTK_CONTAINER(MsgDlg), Box);
- gtk_widget_show(Box);
-
- Txt = gtk_label_new(msg);
-
- gtk_box_pack_start(GTK_BOX(Box), Txt, FALSE, FALSE, 5);
- gtk_widget_show(Txt);
-
- Box1 = gtk_hbutton_box_new();
- gtk_box_pack_start(GTK_BOX(Box), Box1, FALSE, FALSE, 0);
- gtk_widget_show(Box1);
-
- Ok = gtk_button_new_with_label("Ok");
- gtk_signal_connect(GTK_OBJECT(Ok), "clicked", GTK_SIGNAL_FUNC(OnMsg_Ok), NULL);
- gtk_container_add(GTK_CONTAINER(Box1), Ok);
- GTK_WIDGET_SET_FLAGS(Ok, GTK_CAN_DEFAULT);
- gtk_widget_show(Ok);
-
- gtk_widget_show(MsgDlg);
-
- gtk_main();
-}
-
-void on_Clear(GtkButton *button, gpointer user_data)
-{
- clearPAD();
- init_tree_view();
-}
-
-void on_Remove(GtkButton *button, gpointer user_data)
-{
- GtkTreeSelection *selection;
- GtkTreeIter iter;
- GtkWidget *view;
-
- view = lookup_widget(Conf,"padtreeview");
-
- selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(view));
- if (gtk_tree_selection_get_selected(selection, &model, &iter))
- {
- int pad;
- int key;
-
- gtk_tree_model_get(model, &iter, COL_PAD, &pad, COL_VALUE, &key,-1);
- set_key(pad, key, 0);
- init_tree_view();
- }
- else
- {
- // Not selected.
- }
-}
-
-void OnConf_Pad1(GtkButton *button, gpointer user_data)
-{
- if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(button))) UpdateConf(0);
-}
-
-void OnConf_Pad2(GtkButton *button, gpointer user_data)
-{
- if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(button))) UpdateConf(1);
-}
-
-void OnConf_Pad3(GtkButton *button, gpointer user_data)
-{
- if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(button))) UpdateConf(2);
-}
-
-void OnConf_Pad4(GtkButton *button, gpointer user_data)
-{
- if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(button))) UpdateConf(3);
-}
-
-void OnConf_Ok(GtkButton *button, gpointer user_data)
-{
-// conf.analog = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(Analog));
- SaveConfig();
- destroy_tree_view();
- gtk_widget_destroy(Conf);
-
- gtk_main_quit();
-}
-
-void OnConf_Cancel(GtkButton *button, gpointer user_data)
-{
- gtk_widget_destroy(Conf);
- gtk_main_quit();
- LoadConfig(); // load previous config
-}
-
-void OnAbout_Ok(GtkDialog *About, gint response_id, gpointer user_data)
-{
- gtk_widget_destroy(GTK_WIDGET(About));
- gtk_main_quit();
-}
-
-EXPORT_C_(void) PADabout()
-{
-
- About = create_About();
-
- gtk_widget_show_all(About);
- gtk_main();
-}
-
-EXPORT_C_(s32) PADtest()
-{
- return 0;
-}
diff --git a/plugins/onepad/Linux/interface.c b/plugins/onepad/Linux/interface.c
deleted file mode 100644
index d568a76ba0..0000000000
--- a/plugins/onepad/Linux/interface.c
+++ /dev/null
@@ -1,721 +0,0 @@
-/*
- * DO NOT EDIT THIS FILE - it is generated by Glade.
- */
-
-#ifdef HAVE_CONFIG_H
-# include
-#endif
-
-#include
-#include
-#include
-#include
-#include
-
-#include
-#include
-
-#include "callbacks.h"
-#include "interface.h"
-#include "support.h"
-
-#define GLADE_HOOKUP_OBJECT(component,widget,name) \
- g_object_set_data_full (G_OBJECT (component), name, \
- gtk_widget_ref (widget), (GDestroyNotify) gtk_widget_unref)
-
-#define GLADE_HOOKUP_OBJECT_NO_REF(component,widget,name) \
- g_object_set_data (G_OBJECT (component), name, widget)
-
-GtkWidget*
-create_About (void)
-{
- GtkWidget *About;
- const gchar *authors[] = {
- "Author: arcum42(@gmail.com)",
- "Forked from ZeroPad, by:",
- "zerofrog(@gmail.com)",
- "Thanks to:",
- " linuzappz ",
- "florin sasu ",
- "and SSSPSXPad, TwinPad authors",
- NULL
- };
- /* TRANSLATORS: Replace this string with your names, one name per line. */
- gchar *translators = _("translator-credits");
-
- About = gtk_about_dialog_new ();
- gtk_widget_set_name (About, "About");
- gtk_container_set_border_width (GTK_CONTAINER (About), 5);
- gtk_window_set_destroy_with_parent (GTK_WINDOW (About), TRUE);
- gtk_about_dialog_set_version (GTK_ABOUT_DIALOG (About), VERSION);
- gtk_about_dialog_set_name (GTK_ABOUT_DIALOG (About), _("OnePAD"));
- gtk_about_dialog_set_authors (GTK_ABOUT_DIALOG (About), authors);
- gtk_about_dialog_set_translator_credits (GTK_ABOUT_DIALOG (About), translators);
-
- g_signal_connect ((gpointer) About, "response",
- G_CALLBACK (OnAbout_Ok),
- NULL);
-
- /* Store pointers to all widgets, for use by lookup_widget(). */
- GLADE_HOOKUP_OBJECT_NO_REF (About, About, "About");
-
- return About;
-}
-
-GtkWidget*
-create_Conf (void)
-{
- GtkWidget *Conf;
- GtkWidget *dialog_vbox1;
- GtkWidget *vbox1;
- GtkWidget *frame1;
- GtkWidget *alignment1;
- GtkWidget *hbox1;
- GtkWidget *PAD1;
- GSList *PAD1_group = NULL;
- GtkWidget *PAD2;
- GtkWidget *PAD3;
- GtkWidget *PAD4;
- GtkWidget *label2;
- GtkWidget *vbox2;
- GtkWidget *label5;
- GtkWidget *joydevicescombo;
- GtkWidget *fixed1;
- GtkWidget *vbox3;
- GtkWidget *hbox3;
- GtkWidget *fixed2;
- GtkWidget *fixed3;
- GtkWidget *Left;
- GtkWidget *Up;
- GtkWidget *Right;
- GtkWidget *Down;
- GtkWidget *L2;
- GtkWidget *L1;
- GtkWidget *Select;
- GtkWidget *Start;
- GtkWidget *L3;
- GtkWidget *R3;
- GtkWidget *Analog;
- GtkWidget *Square;
- GtkWidget *Triangle;
- GtkWidget *Circle;
- GtkWidget *Cross;
- GtkWidget *R2;
- GtkWidget *R1;
- GtkWidget *label3;
- GtkWidget *label6;
- GtkWidget *L_Left;
- GtkWidget *Lx;
- GtkWidget *Ly;
- GtkWidget *L_Down;
- GtkWidget *L_Right;
- GtkWidget *checkbutton_reverselx;
- GtkWidget *R_Up;
- GtkWidget *R_Left;
- GtkWidget *Rx;
- GtkWidget *Ry;
- GtkWidget *R_Right;
- GtkWidget *R_Down;
- GtkWidget *forcefeedback;
- GtkWidget *checkbutton_reverserx;
- GtkWidget *checkbutton_reversery;
- GtkWidget *frame2;
- GtkWidget *alignment2;
- GtkWidget *scrolledwindow2;
- GtkWidget *padtreeview;
- GtkWidget *label7;
- GtkWidget *checkbutton_reversely;
- GtkWidget *L_Up;
- GtkWidget *clear_button;
- GtkWidget *remove_button;
- GtkWidget *dialog_action_area1;
- GtkWidget *okbutton1;
- GtkWidget *cancelbutton1;
-
- Conf = gtk_dialog_new ();
- gtk_widget_set_name (Conf, "Conf");
- gtk_window_set_title (GTK_WINDOW (Conf), _("OnePAD Configuration Dialog"));
- gtk_window_set_type_hint (GTK_WINDOW (Conf), GDK_WINDOW_TYPE_HINT_DIALOG);
-
- dialog_vbox1 = GTK_DIALOG (Conf)->vbox;
- gtk_widget_set_name (dialog_vbox1, "dialog_vbox1");
- gtk_widget_show (dialog_vbox1);
-
- vbox1 = gtk_vbox_new (FALSE, 0);
- gtk_widget_set_name (vbox1, "vbox1");
- gtk_widget_show (vbox1);
- gtk_box_pack_start (GTK_BOX (dialog_vbox1), vbox1, TRUE, TRUE, 0);
-
- frame1 = gtk_frame_new (NULL);
- gtk_widget_set_name (frame1, "frame1");
- gtk_widget_show (frame1);
- gtk_box_pack_start (GTK_BOX (vbox1), frame1, FALSE, FALSE, 0);
-
- alignment1 = gtk_alignment_new (0.5, 0.5, 1, 1);
- gtk_widget_set_name (alignment1, "alignment1");
- gtk_widget_show (alignment1);
- gtk_container_add (GTK_CONTAINER (frame1), alignment1);
- gtk_alignment_set_padding (GTK_ALIGNMENT (alignment1), 0, 0, 12, 0);
-
- hbox1 = gtk_hbox_new (FALSE, 0);
- gtk_widget_set_name (hbox1, "hbox1");
- gtk_widget_show (hbox1);
- gtk_container_add (GTK_CONTAINER (alignment1), hbox1);
-
- PAD1 = gtk_radio_button_new_with_mnemonic (NULL, _("PAD1"));
- gtk_widget_set_name (PAD1, "PAD1");
- gtk_widget_show (PAD1);
- gtk_box_pack_start (GTK_BOX (hbox1), PAD1, FALSE, FALSE, 0);
- gtk_radio_button_set_group (GTK_RADIO_BUTTON (PAD1), PAD1_group);
- PAD1_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (PAD1));
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (PAD1), TRUE);
-
- PAD2 = gtk_radio_button_new_with_mnemonic (NULL, _("PAD2"));
- gtk_widget_set_name (PAD2, "PAD2");
- gtk_widget_show (PAD2);
- gtk_box_pack_start (GTK_BOX (hbox1), PAD2, FALSE, FALSE, 0);
- gtk_radio_button_set_group (GTK_RADIO_BUTTON (PAD2), PAD1_group);
- PAD1_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (PAD2));
-
- PAD3 = gtk_radio_button_new_with_mnemonic (NULL, _("PAD1 alt."));
- gtk_widget_set_name (PAD3, "PAD3");
- gtk_widget_show (PAD3);
- gtk_box_pack_start (GTK_BOX (hbox1), PAD3, FALSE, FALSE, 0);
- gtk_radio_button_set_group (GTK_RADIO_BUTTON (PAD3), PAD1_group);
- PAD1_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (PAD3));
-
- PAD4 = gtk_radio_button_new_with_mnemonic (NULL, _("PAD2 alt."));
- gtk_widget_set_name (PAD4, "PAD4");
- gtk_widget_show (PAD4);
- gtk_box_pack_start (GTK_BOX (hbox1), PAD4, FALSE, FALSE, 0);
- gtk_radio_button_set_group (GTK_RADIO_BUTTON (PAD4), PAD1_group);
- PAD1_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (PAD4));
-
- label2 = gtk_label_new (_("Choose PAD to modify"));
- gtk_widget_set_name (label2, "label2");
- gtk_widget_show (label2);
- gtk_frame_set_label_widget (GTK_FRAME (frame1), label2);
- gtk_label_set_use_markup (GTK_LABEL (label2), TRUE);
-
- vbox2 = gtk_vbox_new (FALSE, 0);
- gtk_widget_set_name (vbox2, "vbox2");
- gtk_widget_show (vbox2);
- gtk_box_pack_start (GTK_BOX (vbox1), vbox2, FALSE, TRUE, 0);
-
- label5 = gtk_label_new (_("Joystick to use for this PAD"));
- gtk_widget_set_name (label5, "label5");
- gtk_widget_show (label5);
- gtk_box_pack_start (GTK_BOX (vbox2), label5, FALSE, FALSE, 0);
-
- joydevicescombo = gtk_combo_box_entry_new_text ();
- gtk_widget_set_name (joydevicescombo, "joydevicescombo");
- gtk_widget_show (joydevicescombo);
- gtk_box_pack_start (GTK_BOX (vbox2), joydevicescombo, FALSE, TRUE, 0);
-
- fixed1 = gtk_fixed_new ();
- gtk_widget_set_name (fixed1, "fixed1");
- gtk_widget_show (fixed1);
- gtk_box_pack_start (GTK_BOX (vbox1), fixed1, TRUE, TRUE, 0);
-
- vbox3 = gtk_vbox_new (FALSE, 0);
- gtk_widget_set_name (vbox3, "vbox3");
- gtk_widget_show (vbox3);
- gtk_fixed_put (GTK_FIXED (fixed1), vbox3, 0, 0);
- gtk_widget_set_size_request (vbox3, 0, 0);
-
- hbox3 = gtk_hbox_new (FALSE, 0);
- gtk_widget_set_name (hbox3, "hbox3");
- gtk_widget_show (hbox3);
- gtk_box_pack_start (GTK_BOX (vbox3), hbox3, FALSE, FALSE, 0);
-
- fixed2 = gtk_fixed_new ();
- gtk_widget_set_name (fixed2, "fixed2");
- gtk_widget_show (fixed2);
- gtk_box_pack_start (GTK_BOX (hbox3), fixed2, FALSE, FALSE, 0);
-
- fixed3 = gtk_fixed_new ();
- gtk_widget_set_name (fixed3, "fixed3");
- gtk_widget_show (fixed3);
- gtk_box_pack_start (GTK_BOX (hbox3), fixed3, FALSE, FALSE, 0);
-
- Left = gtk_button_new_with_mnemonic (_("Left"));
- gtk_widget_set_name (Left, "Left");
- gtk_widget_show (Left);
- gtk_fixed_put (GTK_FIXED (fixed1), Left, 320, 104);
- gtk_widget_set_size_request (Left, 64, 24);
-
- Up = gtk_button_new_with_mnemonic (_("Up"));
- gtk_widget_set_name (Up, "Up");
- gtk_widget_show (Up);
- gtk_fixed_put (GTK_FIXED (fixed1), Up, 384, 80);
- gtk_widget_set_size_request (Up, 64, 24);
-
- Right = gtk_button_new_with_mnemonic (_("Right"));
- gtk_widget_set_name (Right, "Right");
- gtk_widget_show (Right);
- gtk_fixed_put (GTK_FIXED (fixed1), Right, 448, 104);
- gtk_widget_set_size_request (Right, 64, 24);
-
- Down = gtk_button_new_with_mnemonic (_("Down"));
- gtk_widget_set_name (Down, "Down");
- gtk_widget_show (Down);
- gtk_fixed_put (GTK_FIXED (fixed1), Down, 384, 128);
- gtk_widget_set_size_request (Down, 64, 24);
-
- L2 = gtk_button_new_with_mnemonic (_("L2"));
- gtk_widget_set_name (L2, "L2");
- gtk_widget_show (L2);
- gtk_fixed_put (GTK_FIXED (fixed1), L2, 384, 8);
- gtk_widget_set_size_request (L2, 64, 24);
-
- L1 = gtk_button_new_with_mnemonic (_("L1"));
- gtk_widget_set_name (L1, "L1");
- gtk_widget_show (L1);
- gtk_fixed_put (GTK_FIXED (fixed1), L1, 384, 32);
- gtk_widget_set_size_request (L1, 64, 24);
-
- Select = gtk_button_new_with_mnemonic (_("Select"));
- gtk_widget_set_name (Select, "Select");
- gtk_widget_show (Select);
- gtk_fixed_put (GTK_FIXED (fixed1), Select, 520, 48);
- gtk_widget_set_size_request (Select, 64, 24);
-
- Start = gtk_button_new_with_mnemonic (_("Start"));
- gtk_widget_set_name (Start, "Start");
- gtk_widget_show (Start);
- gtk_fixed_put (GTK_FIXED (fixed1), Start, 592, 48);
- gtk_widget_set_size_request (Start, 64, 24);
-
- L3 = gtk_button_new_with_mnemonic (_("L3"));
- gtk_widget_set_name (L3, "L3");
- gtk_widget_show (L3);
- gtk_fixed_put (GTK_FIXED (fixed1), L3, 520, 8);
- gtk_widget_set_size_request (L3, 64, 24);
-
- R3 = gtk_button_new_with_mnemonic (_("R3"));
- gtk_widget_set_name (R3, "R3");
- gtk_widget_show (R3);
- gtk_fixed_put (GTK_FIXED (fixed1), R3, 592, 8);
- gtk_widget_set_size_request (R3, 64, 24);
-
- Analog = gtk_button_new_with_mnemonic (_("Analog"));
- gtk_widget_set_name (Analog, "Analog");
- gtk_widget_show (Analog);
- gtk_fixed_put (GTK_FIXED (fixed1), Analog, 552, 104);
- gtk_widget_set_size_request (Analog, 64, 24);
-
- Square = gtk_button_new_with_mnemonic (_("Square"));
- gtk_widget_set_name (Square, "Square");
- gtk_widget_show (Square);
- gtk_fixed_put (GTK_FIXED (fixed1), Square, 648, 104);
- gtk_widget_set_size_request (Square, 64, 24);
-
- Triangle = gtk_button_new_with_mnemonic (_("Triangle"));
- gtk_widget_set_name (Triangle, "Triangle");
- gtk_widget_show (Triangle);
- gtk_fixed_put (GTK_FIXED (fixed1), Triangle, 712, 80);
- gtk_widget_set_size_request (Triangle, 64, 24);
-
- Circle = gtk_button_new_with_mnemonic (_("Circle"));
- gtk_widget_set_name (Circle, "Circle");
- gtk_widget_show (Circle);
- gtk_fixed_put (GTK_FIXED (fixed1), Circle, 776, 104);
- gtk_widget_set_size_request (Circle, 64, 24);
-
- Cross = gtk_button_new_with_mnemonic (_("Cross"));
- gtk_widget_set_name (Cross, "Cross");
- gtk_widget_show (Cross);
- gtk_fixed_put (GTK_FIXED (fixed1), Cross, 712, 128);
- gtk_widget_set_size_request (Cross, 64, 24);
-
- R2 = gtk_button_new_with_mnemonic (_("R2"));
- gtk_widget_set_name (R2, "R2");
- gtk_widget_show (R2);
- gtk_fixed_put (GTK_FIXED (fixed1), R2, 712, 8);
- gtk_widget_set_size_request (R2, 64, 24);
-
- R1 = gtk_button_new_with_mnemonic (_("R1"));
- gtk_widget_set_name (R1, "R1");
- gtk_widget_show (R1);
- gtk_fixed_put (GTK_FIXED (fixed1), R1, 712, 32);
- gtk_widget_set_size_request (R1, 64, 24);
-
- label3 = gtk_label_new (_("Analog Controls (move mouse or analog joystick to select)"));
- gtk_widget_set_name (label3, "label3");
- gtk_widget_show (label3);
- gtk_fixed_put (GTK_FIXED (fixed1), label3, 384, 168);
- gtk_widget_set_size_request (label3, 400, 24);
- gtk_label_set_line_wrap (GTK_LABEL (label3), TRUE);
- gtk_label_set_single_line_mode (GTK_LABEL (label3), TRUE);
-
- label6 = gtk_label_new (_("(Note: The analog key controls and joystick controls do not work well together currently, and should not be mixed. )"));
- gtk_widget_set_name (label6, "label6");
- gtk_widget_show (label6);
- gtk_fixed_put (GTK_FIXED (fixed1), label6, 352, 192);
- gtk_widget_set_size_request (label6, 448, 40);
- gtk_label_set_justify (GTK_LABEL (label6), GTK_JUSTIFY_CENTER);
- gtk_label_set_line_wrap (GTK_LABEL (label6), TRUE);
-
- L_Left = gtk_button_new_with_mnemonic (_("Left"));
- gtk_widget_set_name (L_Left, "L_Left");
- gtk_widget_show (L_Left);
- gtk_fixed_put (GTK_FIXED (fixed1), L_Left, 320, 272);
- gtk_widget_set_size_request (L_Left, 64, 24);
-
- Lx = gtk_button_new_with_mnemonic (_("Lx"));
- gtk_widget_set_name (Lx, "Lx");
- gtk_widget_show (Lx);
- gtk_fixed_put (GTK_FIXED (fixed1), Lx, 384, 264);
- gtk_widget_set_size_request (Lx, 64, 24);
-
- Ly = gtk_button_new_with_mnemonic (_("Ly"));
- gtk_widget_set_name (Ly, "Ly");
- gtk_widget_show (Ly);
- gtk_fixed_put (GTK_FIXED (fixed1), Ly, 384, 288);
- gtk_widget_set_size_request (Ly, 64, 24);
-
- L_Down = gtk_button_new_with_mnemonic (_("Down"));
- gtk_widget_set_name (L_Down, "L_Down");
- gtk_widget_show (L_Down);
- gtk_fixed_put (GTK_FIXED (fixed1), L_Down, 384, 312);
- gtk_widget_set_size_request (L_Down, 64, 24);
-
- L_Right = gtk_button_new_with_mnemonic (_("Right"));
- gtk_widget_set_name (L_Right, "L_Right");
- gtk_widget_show (L_Right);
- gtk_fixed_put (GTK_FIXED (fixed1), L_Right, 448, 272);
- gtk_widget_set_size_request (L_Right, 64, 24);
-
- checkbutton_reverselx = gtk_check_button_new_with_mnemonic (_("Reverse LX"));
- gtk_widget_set_name (checkbutton_reverselx, "checkbutton_reverselx");
- gtk_widget_show (checkbutton_reverselx);
- gtk_fixed_put (GTK_FIXED (fixed1), checkbutton_reverselx, 360, 344);
- gtk_widget_set_size_request (checkbutton_reverselx, 111, 22);
-
- R_Up = gtk_button_new_with_mnemonic (_("Up"));
- gtk_widget_set_name (R_Up, "R_Up");
- gtk_widget_show (R_Up);
- gtk_fixed_put (GTK_FIXED (fixed1), R_Up, 712, 240);
- gtk_widget_set_size_request (R_Up, 64, 24);
-
- R_Left = gtk_button_new_with_mnemonic (_("Left"));
- gtk_widget_set_name (R_Left, "R_Left");
- gtk_widget_show (R_Left);
- gtk_fixed_put (GTK_FIXED (fixed1), R_Left, 648, 272);
- gtk_widget_set_size_request (R_Left, 64, 24);
-
- Rx = gtk_button_new_with_mnemonic (_("Rx"));
- gtk_widget_set_name (Rx, "Rx");
- gtk_widget_show (Rx);
- gtk_fixed_put (GTK_FIXED (fixed1), Rx, 712, 264);
- gtk_widget_set_size_request (Rx, 64, 24);
-
- Ry = gtk_button_new_with_mnemonic (_("Ry"));
- gtk_widget_set_name (Ry, "Ry");
- gtk_widget_show (Ry);
- gtk_fixed_put (GTK_FIXED (fixed1), Ry, 712, 288);
- gtk_widget_set_size_request (Ry, 64, 24);
-
- R_Right = gtk_button_new_with_mnemonic (_("Right"));
- gtk_widget_set_name (R_Right, "R_Right");
- gtk_widget_show (R_Right);
- gtk_fixed_put (GTK_FIXED (fixed1), R_Right, 776, 272);
- gtk_widget_set_size_request (R_Right, 64, 24);
-
- R_Down = gtk_button_new_with_mnemonic (_("Down"));
- gtk_widget_set_name (R_Down, "R_Down");
- gtk_widget_show (R_Down);
- gtk_fixed_put (GTK_FIXED (fixed1), R_Down, 712, 312);
- gtk_widget_set_size_request (R_Down, 64, 24);
-
- forcefeedback = gtk_check_button_new_with_mnemonic (_("Enable Force\nFeedback"));
- gtk_widget_set_name (forcefeedback, "forcefeedback");
- gtk_widget_show (forcefeedback);
- gtk_fixed_put (GTK_FIXED (fixed1), forcefeedback, 528, 344);
- gtk_widget_set_size_request (forcefeedback, 112, 48);
-
- checkbutton_reverserx = gtk_check_button_new_with_mnemonic (_("Reverse RX"));
- gtk_widget_set_name (checkbutton_reverserx, "checkbutton_reverserx");
- gtk_widget_show (checkbutton_reverserx);
- gtk_fixed_put (GTK_FIXED (fixed1), checkbutton_reverserx, 688, 344);
- gtk_widget_set_size_request (checkbutton_reverserx, 111, 22);
-
- checkbutton_reversery = gtk_check_button_new_with_mnemonic (_("Reverse RY"));
- gtk_widget_set_name (checkbutton_reversery, "checkbutton_reversery");
- gtk_widget_show (checkbutton_reversery);
- gtk_fixed_put (GTK_FIXED (fixed1), checkbutton_reversery, 688, 368);
- gtk_widget_set_size_request (checkbutton_reversery, 111, 22);
-
- frame2 = gtk_frame_new (NULL);
- gtk_widget_set_name (frame2, "frame2");
- gtk_widget_show (frame2);
- gtk_fixed_put (GTK_FIXED (fixed1), frame2, 0, 8);
- gtk_widget_set_size_request (frame2, 312, 336);
-
- alignment2 = gtk_alignment_new (0.5, 0.5, 1, 1);
- gtk_widget_set_name (alignment2, "alignment2");
- gtk_widget_show (alignment2);
- gtk_container_add (GTK_CONTAINER (frame2), alignment2);
- gtk_alignment_set_padding (GTK_ALIGNMENT (alignment2), 0, 0, 12, 0);
-
- scrolledwindow2 = gtk_scrolled_window_new (NULL, NULL);
- gtk_widget_set_name (scrolledwindow2, "scrolledwindow2");
- gtk_widget_show (scrolledwindow2);
- gtk_container_add (GTK_CONTAINER (alignment2), scrolledwindow2);
- gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolledwindow2), GTK_SHADOW_IN);
-
- padtreeview = gtk_tree_view_new ();
- gtk_widget_set_name (padtreeview, "padtreeview");
- gtk_widget_show (padtreeview);
- gtk_container_add (GTK_CONTAINER (scrolledwindow2), padtreeview);
- gtk_widget_set_extension_events (padtreeview, GDK_EXTENSION_EVENTS_ALL);
- gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (padtreeview), TRUE);
- gtk_tree_view_set_enable_search (GTK_TREE_VIEW (padtreeview), FALSE);
- gtk_tree_view_set_hover_expand (GTK_TREE_VIEW (padtreeview), TRUE);
-
- label7 = gtk_label_new (_("Key Settings"));
- gtk_widget_set_name (label7, "label7");
- gtk_widget_show (label7);
- gtk_frame_set_label_widget (GTK_FRAME (frame2), label7);
-
- checkbutton_reversely = gtk_check_button_new_with_mnemonic (_("Reverse LY"));
- gtk_widget_set_name (checkbutton_reversely, "checkbutton_reversely");
- gtk_widget_show (checkbutton_reversely);
- gtk_fixed_put (GTK_FIXED (fixed1), checkbutton_reversely, 360, 368);
- gtk_widget_set_size_request (checkbutton_reversely, 111, 22);
-
- L_Up = gtk_button_new_with_mnemonic (_("Up"));
- gtk_widget_set_name (L_Up, "L_Up");
- gtk_widget_show (L_Up);
- gtk_fixed_put (GTK_FIXED (fixed1), L_Up, 384, 240);
- gtk_widget_set_size_request (L_Up, 64, 24);
-
- clear_button = gtk_button_new_with_mnemonic (_("Clear All"));
- gtk_widget_set_name (clear_button, "clear_button");
- gtk_widget_show (clear_button);
- gtk_fixed_put (GTK_FIXED (fixed1), clear_button, 168, 352);
- gtk_widget_set_size_request (clear_button, 70, 24);
-
- remove_button = gtk_button_new_with_mnemonic (_("Remove"));
- gtk_widget_set_name (remove_button, "remove_button");
- gtk_widget_show (remove_button);
- gtk_fixed_put (GTK_FIXED (fixed1), remove_button, 240, 352);
- gtk_widget_set_size_request (remove_button, 70, 24);
-
- dialog_action_area1 = GTK_DIALOG (Conf)->action_area;
- gtk_widget_set_name (dialog_action_area1, "dialog_action_area1");
- gtk_widget_show (dialog_action_area1);
- gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area1), GTK_BUTTONBOX_END);
-
- okbutton1 = gtk_button_new_from_stock ("gtk-ok");
- gtk_widget_set_name (okbutton1, "okbutton1");
- gtk_widget_show (okbutton1);
- gtk_dialog_add_action_widget (GTK_DIALOG (Conf), okbutton1, GTK_RESPONSE_OK);
- GTK_WIDGET_SET_FLAGS (okbutton1, GTK_CAN_DEFAULT);
-
- cancelbutton1 = gtk_button_new_from_stock ("gtk-cancel");
- gtk_widget_set_name (cancelbutton1, "cancelbutton1");
- gtk_widget_show (cancelbutton1);
- gtk_dialog_add_action_widget (GTK_DIALOG (Conf), cancelbutton1, GTK_RESPONSE_CANCEL);
- GTK_WIDGET_SET_FLAGS (cancelbutton1, GTK_CAN_DEFAULT);
-
- g_signal_connect ((gpointer) PAD1, "clicked",
- G_CALLBACK (OnConf_Pad1),
- NULL);
- g_signal_connect ((gpointer) PAD2, "clicked",
- G_CALLBACK (OnConf_Pad2),
- NULL);
- g_signal_connect ((gpointer) PAD3, "clicked",
- G_CALLBACK (OnConf_Pad3),
- NULL);
- g_signal_connect ((gpointer) PAD4, "clicked",
- G_CALLBACK (OnConf_Pad4),
- NULL);
- g_signal_connect ((gpointer) joydevicescombo, "changed",
- G_CALLBACK (on_joydevicescombo_changed),
- NULL);
- g_signal_connect ((gpointer) Left, "clicked",
- G_CALLBACK (OnConf_Key),
- NULL);
- g_signal_connect ((gpointer) Up, "clicked",
- G_CALLBACK (OnConf_Key),
- NULL);
- g_signal_connect ((gpointer) Right, "clicked",
- G_CALLBACK (OnConf_Key),
- NULL);
- g_signal_connect ((gpointer) Down, "clicked",
- G_CALLBACK (OnConf_Key),
- NULL);
- g_signal_connect ((gpointer) L2, "clicked",
- G_CALLBACK (OnConf_Key),
- NULL);
- g_signal_connect ((gpointer) L1, "clicked",
- G_CALLBACK (OnConf_Key),
- NULL);
- g_signal_connect ((gpointer) Select, "clicked",
- G_CALLBACK (OnConf_Key),
- NULL);
- g_signal_connect ((gpointer) Start, "clicked",
- G_CALLBACK (OnConf_Key),
- NULL);
- g_signal_connect ((gpointer) L3, "clicked",
- G_CALLBACK (OnConf_Key),
- NULL);
- g_signal_connect ((gpointer) R3, "clicked",
- G_CALLBACK (OnConf_Key),
- NULL);
- g_signal_connect ((gpointer) Analog, "clicked",
- G_CALLBACK (OnConf_Key),
- NULL);
- g_signal_connect ((gpointer) Square, "clicked",
- G_CALLBACK (OnConf_Key),
- NULL);
- g_signal_connect ((gpointer) Triangle, "clicked",
- G_CALLBACK (OnConf_Key),
- NULL);
- g_signal_connect ((gpointer) Circle, "clicked",
- G_CALLBACK (OnConf_Key),
- NULL);
- g_signal_connect ((gpointer) Cross, "clicked",
- G_CALLBACK (OnConf_Key),
- NULL);
- g_signal_connect ((gpointer) R2, "clicked",
- G_CALLBACK (OnConf_Key),
- NULL);
- g_signal_connect ((gpointer) R1, "clicked",
- G_CALLBACK (OnConf_Key),
- NULL);
- g_signal_connect ((gpointer) L_Left, "clicked",
- G_CALLBACK (OnConf_Key),
- NULL);
- g_signal_connect ((gpointer) Lx, "clicked",
- G_CALLBACK (OnConf_Key),
- NULL);
- g_signal_connect ((gpointer) Ly, "clicked",
- G_CALLBACK (OnConf_Key),
- NULL);
- g_signal_connect ((gpointer) L_Down, "clicked",
- G_CALLBACK (OnConf_Key),
- NULL);
- g_signal_connect ((gpointer) L_Right, "clicked",
- G_CALLBACK (OnConf_Key),
- NULL);
- g_signal_connect ((gpointer) checkbutton_reverselx, "toggled",
- G_CALLBACK (on_checkbutton_reverselx_toggled),
- NULL);
- g_signal_connect ((gpointer) R_Up, "clicked",
- G_CALLBACK (OnConf_Key),
- NULL);
- g_signal_connect ((gpointer) R_Left, "clicked",
- G_CALLBACK (OnConf_Key),
- NULL);
- g_signal_connect ((gpointer) Rx, "clicked",
- G_CALLBACK (OnConf_Key),
- NULL);
- g_signal_connect ((gpointer) Ry, "clicked",
- G_CALLBACK (OnConf_Key),
- NULL);
- g_signal_connect ((gpointer) R_Right, "clicked",
- G_CALLBACK (OnConf_Key),
- NULL);
- g_signal_connect ((gpointer) R_Down, "clicked",
- G_CALLBACK (OnConf_Key),
- NULL);
- g_signal_connect ((gpointer) forcefeedback, "toggled",
- G_CALLBACK (on_forcefeedback_toggled),
- NULL);
- g_signal_connect ((gpointer) checkbutton_reverserx, "toggled",
- G_CALLBACK (on_checkbutton_reverserx_toggled),
- NULL);
- g_signal_connect ((gpointer) checkbutton_reversery, "toggled",
- G_CALLBACK (on_checkbutton_reversery_toggled),
- NULL);
- g_signal_connect ((gpointer) checkbutton_reversely, "toggled",
- G_CALLBACK (on_checkbutton_reversely_toggled),
- NULL);
- g_signal_connect ((gpointer) L_Up, "clicked",
- G_CALLBACK (OnConf_Key),
- NULL);
- g_signal_connect ((gpointer) clear_button, "clicked",
- G_CALLBACK (on_Clear),
- NULL);
- g_signal_connect ((gpointer) remove_button, "clicked",
- G_CALLBACK (on_Remove),
- NULL);
- g_signal_connect ((gpointer) okbutton1, "clicked",
- G_CALLBACK (OnConf_Ok),
- NULL);
- g_signal_connect ((gpointer) cancelbutton1, "clicked",
- G_CALLBACK (OnConf_Cancel),
- NULL);
-
- /* Store pointers to all widgets, for use by lookup_widget(). */
- GLADE_HOOKUP_OBJECT_NO_REF (Conf, Conf, "Conf");
- GLADE_HOOKUP_OBJECT_NO_REF (Conf, dialog_vbox1, "dialog_vbox1");
- GLADE_HOOKUP_OBJECT (Conf, vbox1, "vbox1");
- GLADE_HOOKUP_OBJECT (Conf, frame1, "frame1");
- GLADE_HOOKUP_OBJECT (Conf, alignment1, "alignment1");
- GLADE_HOOKUP_OBJECT (Conf, hbox1, "hbox1");
- GLADE_HOOKUP_OBJECT (Conf, PAD1, "PAD1");
- GLADE_HOOKUP_OBJECT (Conf, PAD2, "PAD2");
- GLADE_HOOKUP_OBJECT (Conf, PAD3, "PAD3");
- GLADE_HOOKUP_OBJECT (Conf, PAD4, "PAD4");
- GLADE_HOOKUP_OBJECT (Conf, label2, "label2");
- GLADE_HOOKUP_OBJECT (Conf, vbox2, "vbox2");
- GLADE_HOOKUP_OBJECT (Conf, label5, "label5");
- GLADE_HOOKUP_OBJECT (Conf, joydevicescombo, "joydevicescombo");
- GLADE_HOOKUP_OBJECT (Conf, fixed1, "fixed1");
- GLADE_HOOKUP_OBJECT (Conf, vbox3, "vbox3");
- GLADE_HOOKUP_OBJECT (Conf, hbox3, "hbox3");
- GLADE_HOOKUP_OBJECT (Conf, fixed2, "fixed2");
- GLADE_HOOKUP_OBJECT (Conf, fixed3, "fixed3");
- GLADE_HOOKUP_OBJECT (Conf, Left, "Left");
- GLADE_HOOKUP_OBJECT (Conf, Up, "Up");
- GLADE_HOOKUP_OBJECT (Conf, Right, "Right");
- GLADE_HOOKUP_OBJECT (Conf, Down, "Down");
- GLADE_HOOKUP_OBJECT (Conf, L2, "L2");
- GLADE_HOOKUP_OBJECT (Conf, L1, "L1");
- GLADE_HOOKUP_OBJECT (Conf, Select, "Select");
- GLADE_HOOKUP_OBJECT (Conf, Start, "Start");
- GLADE_HOOKUP_OBJECT (Conf, L3, "L3");
- GLADE_HOOKUP_OBJECT (Conf, R3, "R3");
- GLADE_HOOKUP_OBJECT (Conf, Analog, "Analog");
- GLADE_HOOKUP_OBJECT (Conf, Square, "Square");
- GLADE_HOOKUP_OBJECT (Conf, Triangle, "Triangle");
- GLADE_HOOKUP_OBJECT (Conf, Circle, "Circle");
- GLADE_HOOKUP_OBJECT (Conf, Cross, "Cross");
- GLADE_HOOKUP_OBJECT (Conf, R2, "R2");
- GLADE_HOOKUP_OBJECT (Conf, R1, "R1");
- GLADE_HOOKUP_OBJECT (Conf, label3, "label3");
- GLADE_HOOKUP_OBJECT (Conf, label6, "label6");
- GLADE_HOOKUP_OBJECT (Conf, L_Left, "L_Left");
- GLADE_HOOKUP_OBJECT (Conf, Lx, "Lx");
- GLADE_HOOKUP_OBJECT (Conf, Ly, "Ly");
- GLADE_HOOKUP_OBJECT (Conf, L_Down, "L_Down");
- GLADE_HOOKUP_OBJECT (Conf, L_Right, "L_Right");
- GLADE_HOOKUP_OBJECT (Conf, checkbutton_reverselx, "checkbutton_reverselx");
- GLADE_HOOKUP_OBJECT (Conf, R_Up, "R_Up");
- GLADE_HOOKUP_OBJECT (Conf, R_Left, "R_Left");
- GLADE_HOOKUP_OBJECT (Conf, Rx, "Rx");
- GLADE_HOOKUP_OBJECT (Conf, Ry, "Ry");
- GLADE_HOOKUP_OBJECT (Conf, R_Right, "R_Right");
- GLADE_HOOKUP_OBJECT (Conf, R_Down, "R_Down");
- GLADE_HOOKUP_OBJECT (Conf, forcefeedback, "forcefeedback");
- GLADE_HOOKUP_OBJECT (Conf, checkbutton_reverserx, "checkbutton_reverserx");
- GLADE_HOOKUP_OBJECT (Conf, checkbutton_reversery, "checkbutton_reversery");
- GLADE_HOOKUP_OBJECT (Conf, frame2, "frame2");
- GLADE_HOOKUP_OBJECT (Conf, alignment2, "alignment2");
- GLADE_HOOKUP_OBJECT (Conf, scrolledwindow2, "scrolledwindow2");
- GLADE_HOOKUP_OBJECT (Conf, padtreeview, "padtreeview");
- GLADE_HOOKUP_OBJECT (Conf, label7, "label7");
- GLADE_HOOKUP_OBJECT (Conf, checkbutton_reversely, "checkbutton_reversely");
- GLADE_HOOKUP_OBJECT (Conf, L_Up, "L_Up");
- GLADE_HOOKUP_OBJECT (Conf, clear_button, "clear_button");
- GLADE_HOOKUP_OBJECT (Conf, remove_button, "remove_button");
- GLADE_HOOKUP_OBJECT_NO_REF (Conf, dialog_action_area1, "dialog_action_area1");
- GLADE_HOOKUP_OBJECT (Conf, okbutton1, "okbutton1");
- GLADE_HOOKUP_OBJECT (Conf, cancelbutton1, "cancelbutton1");
-
- return Conf;
-}
-
diff --git a/plugins/onepad/Linux/interface.h b/plugins/onepad/Linux/interface.h
deleted file mode 100644
index 3672165062..0000000000
--- a/plugins/onepad/Linux/interface.h
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
- * DO NOT EDIT THIS FILE - it is generated by Glade.
- */
-
-GtkWidget* create_About (void);
-GtkWidget* create_Conf (void);
diff --git a/plugins/onepad/Linux/linux.cpp b/plugins/onepad/Linux/linux.cpp
index c4eaf20862..e52284e412 100644
--- a/plugins/onepad/Linux/linux.cpp
+++ b/plugins/onepad/Linux/linux.cpp
@@ -24,19 +24,38 @@
Display *GSdsp;
-const char* s_pGuiKeyMap[] =
-{
- "L2", "R2", "L1", "R1",
- "Triangle", "Circle", "Cross", "Square",
- "Select", "L3", "R3", "Start",
- "Up", "Right", "Down", "Left",
- "Lx", "Rx", "Ly", "Ry",
- "L_Up", "L_Right", "L_Down", "L_Left",
- "R_Up", "R_Right", "R_Down", "R_Left"
-};
-
extern string KeyName(int pad, int key);
-extern void DisplayDialog();
+
+void __forceinline SysMessage(const char *fmt, ...)
+{
+ va_list list;
+ char msg[512];
+
+ va_start(list, fmt);
+ vsprintf(msg, fmt, list);
+ va_end(list);
+
+ if (msg[strlen(msg)-1] == '\n') msg[strlen(msg)-1] = 0;
+
+ GtkWidget *dialog;
+ dialog = gtk_message_dialog_new (NULL,
+ GTK_DIALOG_DESTROY_WITH_PARENT,
+ GTK_MESSAGE_INFO,
+ GTK_BUTTONS_OK,
+ "%s", msg);
+ gtk_dialog_run (GTK_DIALOG (dialog));
+ gtk_widget_destroy (dialog);
+}
+
+EXPORT_C_(void) PADabout()
+{
+ SysMessage("OnePad is a rewrite of Zerofrog's ZeroPad, done by arcum42.");
+}
+
+EXPORT_C_(s32) PADtest()
+{
+ return 0;
+}
s32 _PADopen(void *pDsp)
{
@@ -199,178 +218,11 @@ EXPORT_C_(void) PADupdate(int pad)
}
}
-void UpdateConf(int pad)
-{
- initLogging();
- s_selectedpad = pad;
- init_tree_view();
- int i;
- GtkWidget *Btn;
- for (i = 0; i < ArraySize(s_pGuiKeyMap); i++)
- {
-
- if (s_pGuiKeyMap[i] == NULL) continue;
-
- Btn = lookup_widget(Conf, s_pGuiKeyMap[i]);
- if (Btn == NULL)
- {
- PAD_LOG("OnePAD: cannot find key %s\n", s_pGuiKeyMap[i]);
- continue;
- }
-
- gtk_object_set_user_data(GTK_OBJECT(Btn), (void*)(MAX_KEYS * pad + i));
- }
-
- // check bounds
- int joyid = _GetJoystickIdFromPAD(pad);
-
- if (JoystickIdWithinBounds(joyid))
- gtk_combo_box_set_active(GTK_COMBO_BOX(s_devicecombo), joyid); // select the combo
- else
- gtk_combo_box_set_active(GTK_COMBO_BOX(s_devicecombo), s_vjoysticks.size()); // no gamepad
-
- int padopts = conf.options >> (16 * pad);
-
- set_checked(Conf, "checkbutton_reverselx", padopts & PADOPTION_REVERTLX);
- set_checked(Conf, "checkbutton_reversely", padopts & PADOPTION_REVERTLY);
- set_checked(Conf, "checkbutton_reverserx", padopts & PADOPTION_REVERTRX);
- set_checked(Conf, "checkbutton_reversery", padopts & PADOPTION_REVERTRY);
- set_checked(Conf, "forcefeedback", padopts & PADOPTION_FORCEFEEDBACK);
-}
-
-int GetLabelId(GtkWidget *label)
-{
- if (label == NULL)
- {
- PAD_LOG("couldn't find correct label\n");
- return -1;
- }
-
- return (int)(uptr)gtk_object_get_user_data(GTK_OBJECT(label));
-}
-
-void OnConf_Key(GtkButton *button, gpointer user_data)
-{
- bool captured = false;
-
- const char* buttonname = gtk_widget_get_name(GTK_WIDGET(button));
- GtkWidget* label = lookup_widget(Conf, buttonname);
-
- int id = GetLabelId(label);
-
- if (id == -1) return;
-
- int pad = id / MAX_KEYS;
- int key = id % MAX_KEYS;
-
- // save the joystick states
- UpdateJoysticks();
-
- while (!captured)
- {
- vector::iterator itjoy;
- char *tmp;
-
- u32 pkey = get_key(pad, key);
- if (PollX11Keyboard(tmp, pkey))
- {
- set_key(pad, key, pkey);
- PAD_LOG("%s\n", KeyName(pad, key).c_str());
- captured = true;
- break;
- }
-
- SDL_JoystickUpdate();
-
- itjoy = s_vjoysticks.begin();
- while ((itjoy != s_vjoysticks.end()) && (!captured))
- {
- int button_id, direction;
-
- pkey = get_key(pad, key);
- if ((*itjoy)->PollButtons(button_id, pkey))
- {
- set_key(pad, key, pkey);
- PAD_LOG("%s\n", KeyName(pad, key).c_str());
- captured = true;
- break;
- }
-
- bool sign = false;
- bool pov = (!((key == PAD_RY) || (key == PAD_LY) || (key == PAD_RX) || (key == PAD_LX)));
-
- int axis_id;
-
- if (pov)
- {
- if ((*itjoy)->PollPOV(axis_id, sign, pkey))
- {
- set_key(pad, key, pkey);
- PAD_LOG("%s\n", KeyName(pad, key).c_str());
- captured = true;
- break;
- }
- }
- else
- {
- if ((*itjoy)->PollAxes(axis_id, pkey))
- {
- set_key(pad, key, pkey);
- PAD_LOG("%s\n", KeyName(pad, key).c_str());
- captured = true;
- break;
- }
- }
-
- if ((*itjoy)->PollHats(axis_id, direction, pkey))
- {
- set_key(pad, key, pkey);
- PAD_LOG("%s\n", KeyName(pad, key).c_str());
- captured = true;
- break;
- }
- itjoy++;
- }
- }
-
- init_tree_view();
-}
-
-void populate_joysticks()
-{
- // recreate
- JoystickInfo::EnumerateJoysticks(s_vjoysticks);
-
- s_devicecombo = lookup_widget(Conf, "joydevicescombo");
-
- // fill the combo
- char str[255];
- vector::iterator it = s_vjoysticks.begin();
-
- // Delete everything in the vector vjoysticks.
- while (it != s_vjoysticks.end())
- {
- sprintf(str, "%d: %s - but: %d, axes: %d, hats: %d", (*it)->GetId(), (*it)->GetName().c_str(),
- (*it)->GetNumButtons(), (*it)->GetNumAxes(), (*it)->GetNumHats());
- gtk_combo_box_append_text(GTK_COMBO_BOX(s_devicecombo), str);
- it++;
- }
-
- gtk_combo_box_append_text(GTK_COMBO_BOX(s_devicecombo), "No Gamepad");
-
- UpdateConf(0);
-}
EXPORT_C_(void) PADconfigure()
{
LoadConfig();
- //DisplayDialog();
- //return;
- Conf = create_Conf();
-
- populate_joysticks();
-
- gtk_widget_show_all(Conf);
- gtk_main();
+ DisplayDialog();
+ return;
}
diff --git a/plugins/onepad/Linux/linux.h b/plugins/onepad/Linux/linux.h
index f48bcb09ae..0d41d826dd 100644
--- a/plugins/onepad/Linux/linux.h
+++ b/plugins/onepad/Linux/linux.h
@@ -36,9 +36,4 @@ extern "C"
#include "callbacks.h"
}
-extern GtkWidget *Conf, *s_devicecombo;
-extern void init_tree_view();
-extern void destroy_tree_view();
-
-#define is_checked(main_widget, widget_name) (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(lookup_widget(main_widget, widget_name))))
-#define set_checked(main_widget,widget_name, state) gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(lookup_widget(main_widget, widget_name)), state)
+extern void DisplayDialog();
diff --git a/plugins/onepad/Linux/onepad.glade b/plugins/onepad/Linux/onepad.glade
deleted file mode 100644
index 2f3e526522..0000000000
--- a/plugins/onepad/Linux/onepad.glade
+++ /dev/null
@@ -1,1154 +0,0 @@
-
-
-
-
-
-
- 5
- True
- True
- OnePAD
- False
- Author: arcum42(@gmail.com)
-
-Forked from ZeroPad, by:
-zerofrog(@gmail.com)
-Thanks to:
- linuzappz <linuzappz@hotmail.com>
-florin sasu <florinsasu@hotmail.com>
-and SSSPSXPad, TwinPad authors
- translator-credits
-
-
-
-
- True
- OnePAD Configuration Dialog
- GTK_WINDOW_TOPLEVEL
- GTK_WIN_POS_NONE
- False
- True
- False
- True
- False
- False
- GDK_WINDOW_TYPE_HINT_DIALOG
- GDK_GRAVITY_NORTH_WEST
- True
- False
- True
-
-
-
- True
- False
- 0
-
-
-
- True
- GTK_BUTTONBOX_END
-
-
-
- True
- True
- True
- gtk-ok
- True
- GTK_RELIEF_NORMAL
- True
- -5
-
-
-
-
-
-
- True
- True
- True
- gtk-cancel
- True
- GTK_RELIEF_NORMAL
- True
- -6
-
-
-
-
-
- 0
- False
- True
- GTK_PACK_END
-
-
-
-
-
- True
- False
- 0
-
-
-
- True
- 0
- 0.5
- GTK_SHADOW_ETCHED_IN
-
-
-
- True
- 0.5
- 0.5
- 1
- 1
- 0
- 0
- 12
- 0
-
-
-
- True
- False
- 0
-
-
-
- True
- True
- PAD1
- True
- GTK_RELIEF_NORMAL
- True
- True
- False
- True
-
-
-
- 0
- False
- False
-
-
-
-
-
- True
- True
- PAD2
- True
- GTK_RELIEF_NORMAL
- True
- False
- False
- True
- PAD1
-
-
-
- 0
- False
- False
-
-
-
-
-
- True
- True
- PAD1 alt.
- True
- GTK_RELIEF_NORMAL
- True
- False
- False
- True
- PAD1
-
-
-
- 0
- False
- False
-
-
-
-
-
- True
- True
- PAD2 alt.
- True
- GTK_RELIEF_NORMAL
- True
- False
- False
- True
- PAD1
-
-
-
- 0
- False
- False
-
-
-
-
-
-
-
-
-
- True
- <b>Choose PAD to modify</b>
- False
- True
- GTK_JUSTIFY_LEFT
- False
- False
- 0.5
- 0.5
- 0
- 0
- PANGO_ELLIPSIZE_NONE
- -1
- False
- 0
-
-
- label_item
-
-
-
-
- 0
- False
- False
-
-
-
-
-
- True
- False
- 0
-
-
-
- True
- Joystick to use for this PAD
- False
- False
- GTK_JUSTIFY_LEFT
- False
- False
- 0.5
- 0.5
- 0
- 0
- PANGO_ELLIPSIZE_NONE
- -1
- False
- 0
-
-
- 0
- False
- False
-
-
-
-
-
- True
-
- False
- True
- True
-
-
-
- 0
- False
- True
-
-
-
-
- 0
- False
- True
-
-
-
-
-
- True
-
-
-
- 0
- 0
- True
- False
- 0
-
-
-
- True
- False
- 0
-
-
-
- True
-
-
- 0
- False
- False
-
-
-
-
-
- True
-
-
- 0
- False
- False
-
-
-
-
- 0
- False
- False
-
-
-
-
- 0
- 0
-
-
-
-
-
- 64
- 24
- True
- True
- Left
- True
- GTK_RELIEF_NORMAL
- True
-
-
-
- 320
- 104
-
-
-
-
-
- 64
- 24
- True
- True
- Up
- True
- GTK_RELIEF_NORMAL
- True
-
-
-
- 384
- 80
-
-
-
-
-
- 64
- 24
- True
- True
- Right
- True
- GTK_RELIEF_NORMAL
- True
-
-
-
- 448
- 104
-
-
-
-
-
- 64
- 24
- True
- True
- Down
- True
- GTK_RELIEF_NORMAL
- True
-
-
-
- 384
- 128
-
-
-
-
-
- 64
- 24
- True
- True
- L2
- True
- GTK_RELIEF_NORMAL
- True
-
-
-
- 384
- 8
-
-
-
-
-
- 64
- 24
- True
- True
- L1
- True
- GTK_RELIEF_NORMAL
- True
-
-
-
- 384
- 32
-
-
-
-
-
- 64
- 24
- True
- True
- Select
- True
- GTK_RELIEF_NORMAL
- True
-
-
-
- 520
- 48
-
-
-
-
-
- 64
- 24
- True
- True
- Start
- True
- GTK_RELIEF_NORMAL
- True
-
-
-
- 592
- 48
-
-
-
-
-
- 64
- 24
- True
- True
- L3
- True
- GTK_RELIEF_NORMAL
- True
-
-
-
- 520
- 8
-
-
-
-
-
- 64
- 24
- True
- True
- R3
- True
- GTK_RELIEF_NORMAL
- True
-
-
-
- 592
- 8
-
-
-
-
-
- 64
- 24
- True
- True
- Analog
- True
- GTK_RELIEF_NORMAL
- True
-
-
-
- 552
- 104
-
-
-
-
-
- 64
- 24
- True
- True
- Square
- True
- GTK_RELIEF_NORMAL
- True
-
-
-
- 648
- 104
-
-
-
-
-
- 64
- 24
- True
- True
- Triangle
- True
- GTK_RELIEF_NORMAL
- True
-
-
-
- 712
- 80
-
-
-
-
-
- 64
- 24
- True
- True
- Circle
- True
- GTK_RELIEF_NORMAL
- True
-
-
-
- 776
- 104
-
-
-
-
-
- 64
- 24
- True
- True
- Cross
- True
- GTK_RELIEF_NORMAL
- True
-
-
-
- 712
- 128
-
-
-
-
-
- 64
- 24
- True
- True
- R2
- True
- GTK_RELIEF_NORMAL
- True
-
-
-
- 712
- 8
-
-
-
-
-
- 64
- 24
- True
- True
- R1
- True
- GTK_RELIEF_NORMAL
- True
-
-
-
- 712
- 32
-
-
-
-
-
- 400
- 24
- True
- Analog Controls (move mouse or analog joystick to select)
- False
- False
- GTK_JUSTIFY_LEFT
- True
- False
- 0.5
- 0.5
- 0
- 0
- PANGO_ELLIPSIZE_NONE
- -1
- True
- 0
-
-
- 384
- 168
-
-
-
-
-
- 448
- 40
- True
- (Note: The analog key controls and joystick controls do not work well together currently, and should not be mixed. )
- False
- False
- GTK_JUSTIFY_CENTER
- True
- False
- 0.5
- 0.5
- 0
- 0
- PANGO_ELLIPSIZE_NONE
- -1
- False
- 0
-
-
- 352
- 192
-
-
-
-
-
- 64
- 24
- True
- True
- Left
- True
- GTK_RELIEF_NORMAL
- True
-
-
-
- 320
- 272
-
-
-
-
-
- 64
- 24
- True
- True
- Lx
- True
- GTK_RELIEF_NORMAL
- True
-
-
-
- 384
- 264
-
-
-
-
-
- 64
- 24
- True
- True
- Ly
- True
- GTK_RELIEF_NORMAL
- True
-
-
-
- 384
- 288
-
-
-
-
-
- 64
- 24
- True
- True
- Down
- True
- GTK_RELIEF_NORMAL
- True
-
-
-
- 384
- 312
-
-
-
-
-
- 64
- 24
- True
- True
- Right
- True
- GTK_RELIEF_NORMAL
- True
-
-
-
- 448
- 272
-
-
-
-
-
- 111
- 22
- True
- True
- Reverse LX
- True
- GTK_RELIEF_NORMAL
- True
- False
- False
- True
-
-
-
- 360
- 344
-
-
-
-
-
- 64
- 24
- True
- True
- Up
- True
- GTK_RELIEF_NORMAL
- True
-
-
-
- 712
- 240
-
-
-
-
-
- 64
- 24
- True
- True
- Left
- True
- GTK_RELIEF_NORMAL
- True
-
-
-
- 648
- 272
-
-
-
-
-
- 64
- 24
- True
- True
- Rx
- True
- GTK_RELIEF_NORMAL
- True
-
-
-
- 712
- 264
-
-
-
-
-
- 64
- 24
- True
- True
- Ry
- True
- GTK_RELIEF_NORMAL
- True
-
-
-
- 712
- 288
-
-
-
-
-
- 64
- 24
- True
- True
- Right
- True
- GTK_RELIEF_NORMAL
- True
-
-
-
- 776
- 272
-
-
-
-
-
- 64
- 24
- True
- True
- Down
- True
- GTK_RELIEF_NORMAL
- True
-
-
-
- 712
- 312
-
-
-
-
-
- 112
- 48
- True
- True
- Enable Force
-Feedback
- True
- GTK_RELIEF_NORMAL
- True
- False
- False
- True
-
-
-
- 528
- 344
-
-
-
-
-
- 111
- 22
- True
- True
- Reverse RX
- True
- GTK_RELIEF_NORMAL
- True
- False
- False
- True
-
-
-
- 688
- 344
-
-
-
-
-
- 111
- 22
- True
- True
- Reverse RY
- True
- GTK_RELIEF_NORMAL
- True
- False
- False
- True
-
-
-
- 688
- 368
-
-
-
-
-
- 312
- 336
- True
- 0
- 0.5
- GTK_SHADOW_ETCHED_IN
-
-
-
- True
- 0.5
- 0.5
- 1
- 1
- 0
- 0
- 12
- 0
-
-
-
- True
- True
- GTK_POLICY_ALWAYS
- GTK_POLICY_ALWAYS
- GTK_SHADOW_IN
- GTK_CORNER_TOP_LEFT
-
-
-
- True
- True
- GDK_EXTENSION_EVENTS_ALL
- True
- True
- False
- False
- False
- False
- True
-
-
-
-
-
-
-
-
-
- True
- Key Settings
- False
- False
- GTK_JUSTIFY_LEFT
- False
- False
- 0.5
- 0.5
- 0
- 0
- PANGO_ELLIPSIZE_NONE
- -1
- False
- 0
-
-
- label_item
-
-
-
-
- 0
- 8
-
-
-
-
-
- 111
- 22
- True
- True
- Reverse LY
- True
- GTK_RELIEF_NORMAL
- True
- False
- False
- True
-
-
-
- 360
- 368
-
-
-
-
-
- 64
- 24
- True
- True
- Up
- True
- GTK_RELIEF_NORMAL
- True
-
-
-
- 384
- 240
-
-
-
-
-
- 70
- 24
- True
- True
- Clear All
- True
- GTK_RELIEF_NORMAL
- True
-
-
-
- 168
- 352
-
-
-
-
-
- 70
- 24
- True
- True
- Remove
- True
- GTK_RELIEF_NORMAL
- True
-
-
-
- 240
- 352
-
-
-
-
- 0
- True
- True
-
-
-
-
- 0
- True
- True
-
-
-
-
-
-
-
diff --git a/plugins/onepad/Linux/onepad.gladep b/plugins/onepad/Linux/onepad.gladep
deleted file mode 100644
index 543d022d0d..0000000000
--- a/plugins/onepad/Linux/onepad.gladep
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
- Linux
- linux
- FALSE
- TRUE
- FALSE
- FALSE
- FALSE
-
diff --git a/plugins/onepad/Linux/support.c b/plugins/onepad/Linux/support.c
deleted file mode 100644
index 00aff29822..0000000000
--- a/plugins/onepad/Linux/support.c
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
- * DO NOT EDIT THIS FILE - it is generated by Glade.
- */
-
-#ifdef HAVE_CONFIG_H
-# include
-#endif
-
-#include
-#include
-#include
-#include
-#include
-
-#include
-
-#include "support.h"
-
-GtkWidget*
-lookup_widget (GtkWidget *widget,
- const gchar *widget_name)
-{
- GtkWidget *parent, *found_widget;
-
- for (;;)
- {
- if (GTK_IS_MENU (widget))
- parent = gtk_menu_get_attach_widget (GTK_MENU (widget));
- else
- parent = widget->parent;
- if (!parent)
- parent = (GtkWidget*) g_object_get_data (G_OBJECT (widget), "GladeParentKey");
- if (parent == NULL)
- break;
- widget = parent;
- }
-
- found_widget = (GtkWidget*) g_object_get_data (G_OBJECT (widget),
- widget_name);
- if (!found_widget)
- g_warning ("Widget not found: %s", widget_name);
- return found_widget;
-}
-
-static GList *pixmaps_directories = NULL;
-
-/* Use this function to set the directory containing installed pixmaps. */
-void
-add_pixmap_directory (const gchar *directory)
-{
- pixmaps_directories = g_list_prepend (pixmaps_directories,
- g_strdup (directory));
-}
-
-/* This is an internally used function to find pixmap files. */
-static gchar*
-find_pixmap_file (const gchar *filename)
-{
- GList *elem;
-
- /* We step through each of the pixmaps directory to find it. */
- elem = pixmaps_directories;
- while (elem)
- {
- gchar *pathname = g_strdup_printf ("%s%s%s", (gchar*)elem->data,
- G_DIR_SEPARATOR_S, filename);
- if (g_file_test (pathname, G_FILE_TEST_EXISTS))
- return pathname;
- g_free (pathname);
- elem = elem->next;
- }
- return NULL;
-}
-
-/* This is an internally used function to create pixmaps. */
-GtkWidget*
-create_pixmap (GtkWidget *widget,
- const gchar *filename)
-{
- gchar *pathname = NULL;
- GtkWidget *pixmap;
-
- if (!filename || !filename[0])
- return gtk_image_new ();
-
- pathname = find_pixmap_file (filename);
-
- if (!pathname)
- {
- g_warning (_("Couldn't find pixmap file: %s"), filename);
- return gtk_image_new ();
- }
-
- pixmap = gtk_image_new_from_file (pathname);
- g_free (pathname);
- return pixmap;
-}
-
-/* This is an internally used function to create pixmaps. */
-GdkPixbuf*
-create_pixbuf (const gchar *filename)
-{
- gchar *pathname = NULL;
- GdkPixbuf *pixbuf;
- GError *error = NULL;
-
- if (!filename || !filename[0])
- return NULL;
-
- pathname = find_pixmap_file (filename);
-
- if (!pathname)
- {
- g_warning (_("Couldn't find pixmap file: %s"), filename);
- return NULL;
- }
-
- pixbuf = gdk_pixbuf_new_from_file (pathname, &error);
- if (!pixbuf)
- {
- fprintf (stderr, "Failed to load pixbuf file: %s: %s\n",
- pathname, error->message);
- g_error_free (error);
- }
- g_free (pathname);
- return pixbuf;
-}
-
-/* This is used to set ATK action descriptions. */
-void
-glade_set_atk_action_description (AtkAction *action,
- const gchar *action_name,
- const gchar *description)
-{
- gint n_actions, i;
-
- n_actions = atk_action_get_n_actions (action);
- for (i = 0; i < n_actions; i++)
- {
- if (!strcmp (atk_action_get_name (action, i), action_name))
- atk_action_set_description (action, i, description);
- }
-}
-
diff --git a/plugins/onepad/Linux/support.h b/plugins/onepad/Linux/support.h
deleted file mode 100644
index a32649e53c..0000000000
--- a/plugins/onepad/Linux/support.h
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * DO NOT EDIT THIS FILE - it is generated by Glade.
- */
-
-#ifdef HAVE_CONFIG_H
-# include
-#endif
-
-#include
-
-/*
- * Standard gettext macros.
- */
-#ifdef ENABLE_NLS
-# include
-# undef _
-# define _(String) dgettext (PACKAGE, String)
-# define Q_(String) g_strip_context ((String), gettext (String))
-# ifdef gettext_noop
-# define N_(String) gettext_noop (String)
-# else
-# define N_(String) (String)
-# endif
-#else
-# define textdomain(String) (String)
-# define gettext(String) (String)
-# define dgettext(Domain,Message) (Message)
-# define dcgettext(Domain,Message,Type) (Message)
-# define bindtextdomain(Domain,Directory) (Domain)
-# define _(String) (String)
-# define Q_(String) g_strip_context ((String), (String))
-# define N_(String) (String)
-#endif
-
-
-/*
- * Public Functions.
- */
-
-/*
- * This function returns a widget in a component created by Glade.
- * Call it with the toplevel widget in the component (i.e. a window/dialog),
- * or alternatively any widget in the component, and the name of the widget
- * you want returned.
- */
-GtkWidget* lookup_widget (GtkWidget *widget,
- const gchar *widget_name);
-
-
-/* Use this function to set the directory containing installed pixmaps. */
-void add_pixmap_directory (const gchar *directory);
-
-
-/*
- * Private Functions.
- */
-
-/* This is used to create the pixmaps used in the interface. */
-GtkWidget* create_pixmap (GtkWidget *widget,
- const gchar *filename);
-
-/* This is used to create the pixbufs used in the interface. */
-GdkPixbuf* create_pixbuf (const gchar *filename);
-
-/* This is used to set ATK action descriptions. */
-void glade_set_atk_action_description (AtkAction *action,
- const gchar *action_name,
- const gchar *description);
-