gpointing-device-settings r83 - trunk/modules
- From: hiikezoe svn gnome org
- To: svn-commits-list gnome org
- Subject: gpointing-device-settings r83 - trunk/modules
- Date: Sun, 1 Mar 2009 23:51:10 +0000 (UTC)
Author: hiikezoe
Date: Sun Mar 1 23:51:10 2009
New Revision: 83
URL: http://svn.gnome.org/viewvc/gpointing-device-settings?rev=83&view=rev
Log:
support new XInput.
The previous implementation seems to be for XInput-1.3.0.
Modified:
trunk/modules/gpds-trackpoint-definitions.h
trunk/modules/gpds-trackpoint-ui.c
trunk/modules/gsd-trackpoint-manager.c
Modified: trunk/modules/gpds-trackpoint-definitions.h
==============================================================================
--- trunk/modules/gpds-trackpoint-definitions.h (original)
+++ trunk/modules/gpds-trackpoint-definitions.h Sun Mar 1 23:51:10 2009
@@ -22,15 +22,16 @@
#define GPDS_TRACK_POINT_DEVICE_NAME "TPPS/2 IBM TrackPoint"
-#define GPDS_TRACK_POINT_MIDDLE_BUTTON_EMULATION "Middle Button Emulation"
-#define GPDS_TRACK_POINT_MIDDLE_BUTTON_TIMEOUT "Middle Button Timeout"
-#define GPDS_TRACK_POINT_WHEEL_EMULATION "Wheel Emulation"
-#define GPDS_TRACK_POINT_WHEEL_EMULATION_INERTIA "Wheel Emulation Inertia"
-#define GPDS_TRACK_POINT_WHEEL_EMULATION_X_AXIS "Wheel Emulation X Axis"
-#define GPDS_TRACK_POINT_WHEEL_EMULATION_Y_AXIS "Wheel Emulation Y Axis"
-#define GPDS_TRACK_POINT_WHEEL_EMULATION_TIMEOUT "Wheel Emulation Timeout"
-#define GPDS_TRACK_POINT_WHEEL_EMULATION_BUTTON "Wheel Emulation Button"
-#define GPDS_TRACK_POINT_DRAG_LOCK_BUTTONS "Drag Lock Buttons"
+#define GPDS_TRACK_POINT_MIDDLE_BUTTON_EMULATION "Evdev Middle Button Emulation"
+#define GPDS_TRACK_POINT_MIDDLE_BUTTON_TIMEOUT "Evdev Middle Button Timeout"
+#define GPDS_TRACK_POINT_WHEEL_EMULATION "Evdev Wheel Emulation"
+#define GPDS_TRACK_POINT_WHEEL_EMULATION_INERTIA "Evdev Wheel Emulation Inertia"
+#define GPDS_TRACK_POINT_WHEEL_EMULATION_X_AXIS "Evdev Wheel Emulation X Axis"
+#define GPDS_TRACK_POINT_WHEEL_EMULATION_Y_AXIS "Evdev Wheel Emulation Y Axis"
+#define GPDS_TRACK_POINT_WHEEL_EMULATION_AXES "Evdev Wheel Emulation Axes"
+#define GPDS_TRACK_POINT_WHEEL_EMULATION_TIMEOUT "Evdev Wheel Emulation Timeout"
+#define GPDS_TRACK_POINT_WHEEL_EMULATION_BUTTON "Evdev Wheel Emulation Button"
+#define GPDS_TRACK_POINT_DRAG_LOCK_BUTTONS "Evdev Drag Lock Buttons"
#define GPDS_TRACK_POINT_GCONF_DIR "/desktop/gnome/peripherals/trackpoint"
#define GPDS_TRACK_POINT_MIDDLE_BUTTON_EMULATION_KEY GPDS_TRACK_POINT_GCONF_DIR "/middle_button_emulation"
Modified: trunk/modules/gpds-trackpoint-ui.c
==============================================================================
--- trunk/modules/gpds-trackpoint-ui.c (original)
+++ trunk/modules/gpds-trackpoint-ui.c Sun Mar 1 23:51:10 2009
@@ -231,28 +231,30 @@
}
static void
-set_toggle_scroll_property (GpdsXInput *xinput, GtkToggleButton *button,
- const gchar *property_name,
- gint first_value, gint second_value)
+set_scroll_axes_property (GpdsTrackPointUI *ui)
{
+ GtkBuilder *builder;
+ GtkToggleButton *button;
GError *error = NULL;
- gboolean active;
+ gboolean horizontal_scroll_active;
+ gboolean vertical_scroll_active;
- active = gtk_toggle_button_get_active(button);
- if (active) {
- gpds_xinput_set_property(xinput,
- property_name,
- &error,
- first_value, second_value,
- NULL);
- } else {
- gpds_xinput_set_property(xinput,
- property_name,
- &error,
- -1, -1,
- NULL);
- }
+ builder = gpds_ui_get_builder(GPDS_UI(ui));
+
+ button = GTK_TOGGLE_BUTTON(gtk_builder_get_object(builder, "wheel_emulation_vertical"));
+ vertical_scroll_active = gtk_toggle_button_get_active(button);
+ button = GTK_TOGGLE_BUTTON(gtk_builder_get_object(builder, "wheel_emulation_horizontal"));
+ horizontal_scroll_active = gtk_toggle_button_get_active(button);
+
+ gpds_xinput_set_property(ui->xinput,
+ GPDS_TRACK_POINT_WHEEL_EMULATION_AXES,
+ &error,
+ vertical_scroll_active ? 6 : -1,
+ vertical_scroll_active ? 7 : -1,
+ horizontal_scroll_active ? 4 : -1,
+ horizontal_scroll_active ? 5 : -1,
+ NULL);
if (error) {
show_error(error);
g_error_free(error);
@@ -264,7 +266,7 @@
{
gboolean enable;
GpdsTrackPointUI *ui = GPDS_TRACK_POINT_UI(user_data);
- set_toggle_scroll_property(ui->xinput, button, GPDS_TRACK_POINT_WHEEL_EMULATION_Y_AXIS, 4, 5);
+ set_scroll_axes_property(ui);
enable = gtk_toggle_button_get_active(button);
gconf_client_set_bool(ui->gconf, GPDS_TRACK_POINT_WHEEL_EMULATION_Y_AXIS_KEY, enable, NULL);
@@ -275,7 +277,7 @@
{
gboolean enable;
GpdsTrackPointUI *ui = GPDS_TRACK_POINT_UI(user_data);
- set_toggle_scroll_property(ui->xinput, button, GPDS_TRACK_POINT_WHEEL_EMULATION_X_AXIS, 6, 7);
+ set_scroll_axes_property(ui);
enable = gtk_toggle_button_get_active(button);
gconf_client_set_bool(ui->gconf, GPDS_TRACK_POINT_WHEEL_EMULATION_X_AXIS_KEY, enable, NULL);
@@ -415,16 +417,14 @@
}
static void
-set_scroll_property_from_preference (GpdsTrackPointUI *ui,
- const gchar *property_name,
- const gchar *gconf_key_name,
- GtkBuilder *builder,
- const gchar *object_name)
+set_scroll_axes_property_from_preference (GpdsTrackPointUI *ui,
+ const gchar *property_name,
+ GtkBuilder *builder)
{
GObject *object;
gint *values;
gulong n_values;
- gboolean enable, dir_exists;
+ gboolean horizontal_enable = FALSE, vertical_enable = FALSE, dir_exists;
if (!get_integer_property(ui->xinput, property_name,
&values, &n_values)) {
@@ -432,13 +432,25 @@
}
dir_exists = gconf_client_dir_exists(ui->gconf, GPDS_TRACK_POINT_GCONF_DIR, NULL);
- if (dir_exists)
- enable = gconf_client_get_bool(ui->gconf, gconf_key_name, NULL);
- else
- enable = (values[0] != 0 && values[1] != 0);
-
- object = gtk_builder_get_object(builder, object_name);
- gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(object), enable);
+ if (dir_exists) {
+ horizontal_enable = gconf_client_get_bool(ui->gconf,
+ GPDS_TRACK_POINT_WHEEL_EMULATION_X_AXIS_KEY,
+ NULL);
+ vertical_enable = gconf_client_get_bool(ui->gconf,
+ GPDS_TRACK_POINT_WHEEL_EMULATION_Y_AXIS_KEY,
+ NULL);
+ } else {
+ if (n_values >= 2)
+ horizontal_enable = (values[0] != 0 && values[1] != 0);
+ if (n_values >= 4)
+ vertical_enable = (values[2] != 0 && values[3] != 0);
+ }
+
+ object = gtk_builder_get_object(builder, "wheel_emulation_horizontal");
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(object), horizontal_enable);
+ object = gtk_builder_get_object(builder, "wheel_emulation_vertical");
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(object), vertical_enable);
+
g_free(values);
}
@@ -473,16 +485,9 @@
builder,
"wheel_emulation_inertia");
- set_scroll_property_from_preference(track_point_ui,
- GPDS_TRACK_POINT_WHEEL_EMULATION_Y_AXIS,
- GPDS_TRACK_POINT_WHEEL_EMULATION_Y_AXIS_KEY,
- builder,
- "wheel_emulation_vertical");
- set_scroll_property_from_preference(track_point_ui,
- GPDS_TRACK_POINT_WHEEL_EMULATION_X_AXIS,
- GPDS_TRACK_POINT_WHEEL_EMULATION_X_AXIS_KEY,
- builder,
- "wheel_emulation_horizontal");
+ set_scroll_axes_property_from_preference(track_point_ui,
+ GPDS_TRACK_POINT_WHEEL_EMULATION_AXES,
+ builder);
}
static gboolean
Modified: trunk/modules/gsd-trackpoint-manager.c
==============================================================================
--- trunk/modules/gsd-trackpoint-manager.c (original)
+++ trunk/modules/gsd-trackpoint-manager.c Sun Mar 1 23:51:10 2009
@@ -105,23 +105,22 @@
NULL,
gconf_value_get_bool(value),
NULL);
- } else if (!strcmp(key, GPDS_TRACK_POINT_WHEEL_EMULATION_X_AXIS_KEY)) {
- gboolean enable;
- enable = gconf_value_get_bool(value);
+ } else if (!strcmp(key, GPDS_TRACK_POINT_WHEEL_EMULATION_X_AXIS_KEY) ||
+ !strcmp(key, GPDS_TRACK_POINT_WHEEL_EMULATION_Y_AXIS_KEY)) {
+ gboolean enable_vertical, enable_horizontal;
+ enable_vertical = gconf_client_get_bool(client,
+ GPDS_TRACK_POINT_WHEEL_EMULATION_Y_AXIS,
+ NULL);
+ enable_horizontal = gconf_client_get_bool(client,
+ GPDS_TRACK_POINT_WHEEL_EMULATION_X_AXIS,
+ NULL);
gpds_xinput_set_property(xinput,
- GPDS_TRACK_POINT_WHEEL_EMULATION_Y_AXIS,
+ GPDS_TRACK_POINT_WHEEL_EMULATION_AXES,
NULL,
- enable ? 6 : -1,
- enable ? 7 : -1,
- NULL);
- } else if (!strcmp(key, GPDS_TRACK_POINT_WHEEL_EMULATION_Y_AXIS_KEY)) {
- gboolean enable;
- enable = gconf_value_get_bool(value);
- gpds_xinput_set_property(xinput,
- GPDS_TRACK_POINT_WHEEL_EMULATION_Y_AXIS,
- NULL,
- enable ? 4 : -1,
- enable ? 5 : -1,
+ enable_vertical ? 6 : -1,
+ enable_vertical ? 7 : -1,
+ enable_horizontal ? 4 : -1,
+ enable_horizontal ? 5 : -1,
NULL);
}
break;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]