diff --git a/gsd-2.26.1-left-handed-touchpad.patch b/gsd-2.26.1-left-handed-touchpad.patch new file mode 100644 index 0000000..07a006d --- /dev/null +++ b/gsd-2.26.1-left-handed-touchpad.patch @@ -0,0 +1,33 @@ +--- gnome-settings-daemon-2.26.1.old/plugins/mouse/gsd-mouse-manager.c 2009-05-08 02:25:09.000000000 +0100 ++++ gnome-settings-daemon-2.26.1/plugins/mouse/gsd-mouse-manager.c 2009-05-08 02:34:53.000000000 +0100 +@@ -549,12 +549,24 @@ set_tap_to_click (gboolean state) + + if (rc == Success && type == XA_INTEGER && format == 8 && nitems >= 7) + { +- /* Set RLM mapping for 1/2/3 fingers*/ +- data[4] = (state) ? 1 : 0; +- data[5] = (state) ? 3 : 0; +- data[6] = (state) ? 2 : 0; +- XChangeDeviceProperty(GDK_DISPLAY(), device, prop, XA_INTEGER, 8, +- PropModeReplace, data, nitems); ++ GConfClient *client = gconf_client_get_default (); ++ gboolean left_handed; ++ ++ if (gconf_client_get_bool (client, KEY_LEFT_HANDED, NULL)) { ++ /* Set RLM mapping for 1/2/3 fingers*/ ++ data[4] = (state) ? 1 : 0; ++ data[5] = (state) ? 3 : 0; ++ data[6] = (state) ? 2 : 0; ++ } else { ++ /* Set RLM mapping for 1/2/3 fingers, but swap ++ * the left and right, so tapping left-handed is ++ * still a left-click */ ++ data[4] = (state) ? 3 : 0; ++ data[5] = (state) ? 1 : 0; ++ data[6] = (state) ? 2 : 0; ++ } ++ XChangeDeviceProperty(GDK_DISPLAY(), device, prop, XA_INTEGER, 8, ++ PropModeReplace, data, nitems); + } + + if (rc == Success)