[PATCH 1/5] syndaemon: remove enable/disable_touchpad(), use toggle_touchpad instead
Henrik Rydberg
rydberg at euromail.se
Wed Mar 4 16:08:19 PST 2009
Peter Hutterer wrote:
> On Mon, Mar 02, 2009 at 11:24:11PM +0100, Henrik Rydberg wrote:
>> Having toggle_touchpad(0) actually enabling it seems somewhat counter
>> intuitive - or some more specific name?
>
> Sure, see below for the amended patch.
> ---
> tools/syndaemon.c | 62 ++++++++++++++++++++++++++--------------------------
> 1 files changed, 31 insertions(+), 31 deletions(-)
>
> diff --git a/tools/syndaemon.c b/tools/syndaemon.c
> index ec36f11..65112ab 100644
> --- a/tools/syndaemon.c
> +++ b/tools/syndaemon.c
> @@ -46,6 +46,13 @@
>
> #include "synaptics.h"
>
> +enum TouchpadState {
> + TouchpadOn = 0,
> + TouchpadOff = 1,
> + TappingOff = 2
> +};
> +
> +
> static SynapticsSHM *synshm;
> static int pad_disabled;
> static int disable_taps_only;
> @@ -74,22 +81,32 @@ usage(void)
> exit(1);
> }
>
> -static int
> -enable_touchpad(void)
> +/**
> + * Toggle touchpad enabled/disabled state, decided by value.
> + */
> +static void
> +toggle_touchpad(enum TouchpadState value)
> {
> - int ret = 0;
> - if (pad_disabled) {
> - synshm->touchpad_off = 0;
> - pad_disabled = 0;
> - ret = 1;
> - }
> - return ret;
> + if (pad_disabled && !value)
> + {
> + if (!background)
> + printf("Enable\n");
> + } else if (!pad_disabled && value)
> + {
> + if (!background)
> + printf("Disable\n");
> + } else
> + return;
> +
> + pad_disabled = value;
> + synshm->touchpad_off = value;
> }
>
> static void
> signal_handler(int signum)
> {
> - enable_touchpad();
> + toggle_touchpad(TouchpadOn);
> +
> if (pid_file)
> unlink(pid_file);
> kill(getpid(), signum);
> @@ -202,20 +219,9 @@ main_loop(Display *display, double idle_time, int poll_delay)
> last_activity = 0.0;
>
> if (current_time > last_activity + idle_time) { /* Enable touchpad */
> - if (enable_touchpad()) {
> - if (!background)
> - printf("Enable\n");
> - }
> + toggle_touchpad(TouchpadOn);
> } else { /* Disable touchpad */
> - if (!pad_disabled && !synshm->touchpad_off) {
> - if (!background)
> - printf("Disable\n");
> - pad_disabled = 1;
> - if (disable_taps_only)
> - synshm->touchpad_off = 2;
> - else
> - synshm->touchpad_off = 1;
> - }
> + toggle_touchpad(disable_taps_only ? TappingOff : TouchpadOff);
> }
>
> usleep(poll_delay);
> @@ -418,17 +424,11 @@ void record_main_loop(Display* display, double idle_time) {
> timeout.tv_sec = (int)idle_time;
> timeout.tv_usec = (idle_time-(double)timeout.tv_sec) * 1.e6;
>
> - if (!pad_disabled) {
> - pad_disabled=1;
> - if (!background) printf("disable touchpad\n");
> -
> - if (!synshm->touchpad_off)
> - synshm->touchpad_off = disable_taps_only ? 2 : 1;
> - }
> + toggle_touchpad(disable_taps_only ? TappingOff : TouchpadOff);
> }
>
> if (ret == 0 && pad_disabled) { /* timeout => enable event */
> - enable_touchpad();
> + toggle_touchpad(TouchpadOn);
> if (!background) printf("enable touchpad\n");
> }
>
ACK, thanks
Henrik
More information about the xorg-devel
mailing list