• R/O
  • SSH
  • HTTPS

gsynaptics: コミット


コミットメタ情報

リビジョン115 (tree)
日時2007-11-07 07:37:20
作者ikezoe

ログメッセージ

2007-11-07 Mackenzie Morgan <macoafi@gmail.com>

* src/main.c:
* src/gsynaptics.h:
* src/gsynaptics.c:
* data/gsynaptics.glade:
Added AccelFactor, MinSpeed, and MaxSpeed

変更サマリ

差分

--- gsynaptics/trunk/AUTHORS (revision 114)
+++ gsynaptics/trunk/AUTHORS (revision 115)
@@ -1,2 +1,3 @@
11 Hiroyuki Ikezoe <poincare@ikezoe.net>
22 Takuro Ashie <ashie@homa.ne.jp>
3+Mackenzie Morgan <macoafi@gmail.com> (AccelFactor and speed)
--- gsynaptics/trunk/ChangeLog (revision 114)
+++ gsynaptics/trunk/ChangeLog (revision 115)
@@ -1,3 +1,11 @@
1+2007-11-07 Mackenzie Morgan <macoafi@gmail.com>
2+
3+ * src/main.c:
4+ * src/gsynaptics.h:
5+ * src/gsynaptics.c:
6+ * data/gsynaptics.glade:
7+ Added AccelFactor, MinSpeed, and MaxSpeed
8+
19 2007-11-07 Pat suwalski <pats@xandros.com>
210
311 * src/gsynaptics.c: Fix value check for sensitivity.
--- gsynaptics/trunk/src/gsynaptics.c (revision 114)
+++ gsynaptics/trunk/src/gsynaptics.c (revision 115)
@@ -373,6 +373,57 @@
373373 }
374374 }
375375
376+gdouble
377+g_synaptics_accel_delta (GSynaptics *synaptics)
378+{
379+ GSynapticsPrivate *priv = G_SYNAPTICS_GET_PRIVATE (synaptics);
380+ if (!g_synaptics_is_valid(synaptics))
381+ return 0;
382+
383+ if (priv->synclient)
384+ {
385+ return (gdouble)g_synaptics_get_value_from_synclient ("AccelFactor");
386+ }
387+ else
388+ {
389+ return SYNSHM(synaptics)->accl;
390+ }
391+}
392+
393+gdouble
394+g_synaptics_min_speed_delta (GSynaptics *synaptics)
395+{
396+ GSynapticsPrivate *priv = G_SYNAPTICS_GET_PRIVATE (synaptics);
397+ if (!g_synaptics_is_valid(synaptics))
398+ return 0;
399+
400+ if (priv->synclient)
401+ {
402+ return (gdouble)g_synaptics_get_value_from_synclient ("MinSpeed");
403+ }
404+ else
405+ {
406+ return SYNSHM(synaptics)->min_speed;
407+ }
408+}
409+
410+gdouble
411+g_synaptics_max_speed_delta (GSynaptics *synaptics)
412+{
413+ GSynapticsPrivate *priv = G_SYNAPTICS_GET_PRIVATE (synaptics);
414+ if (!g_synaptics_is_valid(synaptics))
415+ return 0;
416+
417+ if (priv->synclient)
418+ {
419+ return (gdouble)g_synaptics_get_value_from_synclient ("MaxSpeed");
420+ }
421+ else
422+ {
423+ return SYNSHM(synaptics)->max_speed;
424+ }
425+}
426+
376427 gboolean
377428 g_synaptics_is_coasting_enabled (GSynaptics *synaptics)
378429 {
@@ -649,6 +700,72 @@
649700 }
650701
651702 void
703+g_synaptics_set_accel(GSynaptics *synaptics, gdouble delta)
704+{
705+ GSynapticsPrivate *priv = G_SYNAPTICS_GET_PRIVATE (synaptics);
706+ if (!g_synaptics_is_valid(synaptics))
707+ return;
708+
709+ if (priv->synclient)
710+ {
711+ gchar *command;
712+ command = g_strdup_printf ("synclient AccelFactor=%lf",
713+ delta);
714+ /* TODO check that %lf is right*/
715+ g_spawn_command_line_async (command, NULL);
716+ g_free (command);
717+ }
718+ else
719+ {
720+ SYNSHM(synaptics)->accl = delta;
721+ }
722+}
723+
724+void
725+g_synaptics_set_max_speed(GSynaptics *synaptics, gdouble delta)
726+{
727+ GSynapticsPrivate *priv = G_SYNAPTICS_GET_PRIVATE (synaptics);
728+ if (!g_synaptics_is_valid(synaptics))
729+ return;
730+
731+ if (priv->synclient)
732+ {
733+ gchar *command;
734+ command = g_strdup_printf ("synclient MaxSpeed=%lf",
735+ delta);
736+ /* TODO check that %lf is right */
737+ g_spawn_command_line_async (command, NULL);
738+ g_free (command);
739+ }
740+ else
741+ {
742+ SYNSHM(synaptics)->max_speed = delta;
743+ }
744+}
745+
746+void
747+g_synaptics_set_min_speed(GSynaptics *synaptics, gdouble delta)
748+{
749+ GSynapticsPrivate *priv = G_SYNAPTICS_GET_PRIVATE (synaptics);
750+ if (!g_synaptics_is_valid(synaptics))
751+ return;
752+
753+ if (priv->synclient)
754+ {
755+ gchar *command;
756+ command = g_strdup_printf ("synclient MinSpeed=%lf",
757+ delta);
758+ /* TODO check that %lf is right */
759+ g_spawn_command_line_async (command, NULL);
760+ g_free (command);
761+ }
762+ else
763+ {
764+ SYNSHM(synaptics)->min_speed = delta;
765+ }
766+}
767+
768+void
652769 g_synaptics_set_circular_scroll_enabled (GSynaptics *synaptics, gboolean enable)
653770 {
654771 GSynapticsPrivate *priv = G_SYNAPTICS_GET_PRIVATE (synaptics);
@@ -704,7 +821,7 @@
704821 if (priv->synclient)
705822 {
706823 gchar *command;
707- command = g_strdup_printf ("synclient CoastingSpeedThreashold=%f",
824+ command = g_strdup_printf ("synclient CoastingSpeedThreshold=%f",
708825 thresh);
709826 g_spawn_command_line_async (command, NULL);
710827 g_free (command);
--- gsynaptics/trunk/src/main.c (revision 114)
+++ gsynaptics/trunk/src/main.c (revision 115)
@@ -42,9 +42,9 @@
4242 };
4343
4444 static void
45-dialog_button_clicked_cb (GtkDialog *dialog, gint response_id)
45+dialog_button_clicked_cb (GtkDialog *dialog, gint response_id)
4646 {
47- if (response_id == GTK_RESPONSE_HELP)
47+ if (response_id == GTK_RESPONSE_HELP)
4848 {
4949 GError *error = NULL;
5050 GdkScreen *screen;
@@ -476,6 +476,45 @@
476476 gconf_client_set_bool (gconf, EDGEMOTIONUSEALWAYS_KEY, value, NULL);
477477 }
478478
479+static gboolean
480+cb_accel_change (GtkRange *range, GtkScrollType scroll,
481+ gdouble value, GladeXML *dialog)
482+{
483+ GSynaptics *synaptics;
484+
485+ synaptics = g_object_get_qdata (G_OBJECT(dialog), synaptics_quark);
486+
487+ g_synaptics_set_accel(synaptics, value);
488+
489+ return FALSE;
490+}
491+
492+static gboolean
493+cb_min_speed_change (GtkRange *range, GtkScrollType scroll,
494+ gdouble value, GladeXML *dialog)
495+{
496+ GSynaptics *synaptics;
497+
498+ synaptics = g_object_get_qdata (G_OBJECT(dialog), synaptics_quark);
499+
500+ g_synaptics_set_min_speed(synaptics, value);
501+
502+ return FALSE;
503+}
504+
505+static gboolean
506+cb_max_speed_change (GtkRange *range, GtkScrollType scroll,
507+ gdouble value, GladeXML *dialog)
508+{
509+ GSynaptics *synaptics;
510+
511+ synaptics = g_object_get_qdata (G_OBJECT(dialog), synaptics_quark);
512+
513+ g_synaptics_set_max_speed(synaptics, value);
514+
515+ return FALSE;
516+}
517+
479518 static void
480519 setup_dialog (GladeXML *dialog)
481520 {
@@ -490,7 +529,7 @@
490529
491530 synaptics = g_object_get_qdata (G_OBJECT(dialog), synaptics_quark);
492531
493- /* first pain */
532+ /* first pane */
494533 check = WID ("touchpad_check");
495534 g_signal_connect (G_OBJECT (check), "toggled",
496535 G_CALLBACK (cb_touchpad_toggled), dialog);
@@ -506,7 +545,7 @@
506545 g_signal_connect (G_OBJECT (scale), "change-value",
507546 G_CALLBACK (cb_sensitivity_change), dialog);
508547
509- /* second pain (tapping) */
548+ /* second pane (tapping) */
510549 check = WID ("faster_tapping_check");
511550 g_signal_connect (G_OBJECT (check), "toggled",
512551 G_CALLBACK (cb_fast_taps_toggled), dialog);
@@ -527,7 +566,7 @@
527566 gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (check),
528567 value);
529568
530- /* third pain (scroll) */
569+ /* third pane (scroll) */
531570 scale = WID ("vertical_scroll_scale");
532571 num = g_synaptics_vertical_scroll_delta (synaptics);
533572 gtk_range_set_value (GTK_RANGE (scale), num * -1);
@@ -579,6 +618,7 @@
579618 button = WID ("trigger_right_edge_toggle");
580619 g_signal_connect (G_OBJECT (button), "button_press_event",
581620 G_CALLBACK (cb_trigger_right_pressed),dialog);
621+
582622 button = WID ("trigger_top_left_corner_toggle");
583623 g_signal_connect (G_OBJECT (button), "button_press_event",
584624 G_CALLBACK (cb_trigger_top_left_pressed),dialog);
@@ -610,6 +650,27 @@
610650 g_signal_connect (G_OBJECT (check), "toggled",
611651 G_CALLBACK (cb_cursor_movement_toggled), dialog);
612652
653+ /* fourth pane */
654+ scale = WID ("accel_scale");
655+ /*num = g_synaptics_accel_delta (synaptics);*/
656+ /* TODO figure out what to do with this g_synaptics_*_delta bit
657+ * or if it's even needed... */
658+ /*gtk_range_set_value (GTK_RANGE (scale), num * -1);*/
659+ g_signal_connect (G_OBJECT (scale), "change-value",
660+ G_CALLBACK (cb_accel_change), dialog);
661+
662+ scale = WID ("min_speed_scale");
663+ num = g_synaptics_min_speed_delta (synaptics);
664+ gtk_range_set_value (GTK_RANGE (scale), num * -1);
665+ g_signal_connect (G_OBJECT (scale), "change-value",
666+ G_CALLBACK (cb_min_speed_change), dialog);
667+
668+ scale = WID ("max_speed_scale");
669+ num = g_synaptics_max_speed_delta (synaptics);
670+ gtk_range_set_value (GTK_RANGE (scale), num * -1);
671+ g_signal_connect (G_OBJECT (scale), "change-value",
672+ G_CALLBACK (cb_max_speed_change), dialog);
673+
613674 /* dialog window */
614675 widget = WID ("gsynaptics_dialog");
615676 g_signal_connect (G_OBJECT (widget), "response",
--- gsynaptics/trunk/src/gsynaptics.h (revision 114)
+++ gsynaptics/trunk/src/gsynaptics.h (revision 115)
@@ -84,6 +84,9 @@
8484 gint g_synaptics_vertical_scroll_delta (GSynaptics *synaptics);
8585 gboolean g_synaptics_is_edge_motion_enabled (GSynaptics *synaptics);
8686 gboolean g_synaptics_is_coasting_enabled (GSynaptics *synaptics);
87+gdouble g_synaptics_accel_delta (GSynaptics *synaptics);
88+gdouble g_synaptics_min_speed_delta (GSynaptics *synaptics);
89+gdouble g_synaptics_max_speed_delta (GSynaptics *synaptics);
8790 gboolean g_synaptics_is_circular_scroll_enabled (GSynaptics *synaptics);
8891 gint g_synaptics_circular_scroll_delta (GSynaptics *synaptics);
8992 ScrollTrigger g_synaptics_circular_scroll_trigger (GSynaptics *synaptics);
@@ -107,6 +110,12 @@
107110 gint delta);
108111 void g_synaptics_set_vertical_scroll_delta (GSynaptics *synaptics,
109112 gint delta);
113+void g_synaptics_set_accel (GSynaptics *synaptics,
114+ gdouble delta);
115+void g_synaptics_set_max_speed (GSynaptics *synaptics,
116+ gdouble delta);
117+void g_synaptics_set_min_speed (GSynaptics *synaptics,
118+ gdouble delta);
110119 void g_synaptics_set_circular_scroll_enabled (GSynaptics *synaptics,
111120 gboolean enable);
112121 void g_synaptics_set_edge_motion_enabled (GSynaptics *synaptics,
旧リポジトリブラウザで表示