On Thu, Feb 09, 2012 at 06:52:55PM -0800, Chase Douglas wrote: > Add it as a writable device property. We may not know how to probe some > clickpads so allow the user to override it. > > Signed-off-by: Chase Douglas <[email protected]>
the commit message should state that this is write-only and not yet hooked up. Reviewed-by: Peter Hutterer <[email protected]> otherwise. Cheers, Peter > --- > include/synaptics-properties.h | 3 +++ > man/synaptics.man | 10 ++++++++++ > src/properties.c | 7 +++++++ > src/synaptics.c | 1 + > src/synapticsstr.h | 1 + > 5 files changed, 22 insertions(+), 0 deletions(-) > > diff --git a/include/synaptics-properties.h b/include/synaptics-properties.h > index c550cef..140f14b 100644 > --- a/include/synaptics-properties.h > +++ b/include/synaptics-properties.h > @@ -49,6 +49,9 @@ > #define SYNAPTICS_PROP_TAP_DURATIONS "Synaptics Tap Durations" > > /* 8 bit (BOOL) */ > +#define SYNAPTICS_PROP_CLICKPAD "Synaptics ClickPad" > + > +/* 8 bit (BOOL) */ > #define SYNAPTICS_PROP_TAP_FAST "Synaptics Tap FastTap" > > /* 32 bit */ > diff --git a/man/synaptics.man b/man/synaptics.man > index b6b1dce..8edc2f0 100644 > --- a/man/synaptics.man > +++ b/man/synaptics.man > @@ -143,6 +143,12 @@ Maximum time (in milliseconds) for detecting a double > tap. Property: > The duration of the mouse click generated by tapping. Property: "Synaptics > Tap > Durations" > .TP 7 > +.BI "Option \*qClickPad\*q \*q" boolean \*q > +Whether the device is a click pad. A click pad device has button(s) > integrated > +into the touchpad surface. The user must press downward on the touchpad in > order > +to generated a button press. This property may be set automatically if a > click > +pad device is detected at initialization time. Property: "Synaptics ClickPad" > +.TP 7 > .BI "Option \*qFastTaps\*q \*q" boolean \*q > Makes the driver react faster to a single tap, but also makes double > clicks caused by double tapping slower. Property: "Synaptics Tap FastTap" > @@ -785,6 +791,10 @@ Properties supported: > duration of a single click. > > .TP 7 > +.BI "Synaptics ClickPad" > +8 bit (Bool). > + > +.TP 7 > .BI "Synaptics Tap FastTap" > 8 bit (BOOL). > > diff --git a/src/properties.c b/src/properties.c > index 0a52801..38f21b2 100644 > --- a/src/properties.c > +++ b/src/properties.c > @@ -58,6 +58,7 @@ Atom prop_finger = 0; > Atom prop_tap_time = 0; > Atom prop_tap_move = 0; > Atom prop_tap_durations = 0; > +Atom prop_clickpad = 0; > Atom prop_tap_fast = 0; > Atom prop_middle_timeout = 0; > Atom prop_twofinger_pressure = 0; > @@ -189,6 +190,8 @@ InitDeviceProperties(InputInfoPtr pInfo) > values[2] = para->click_time; > > prop_tap_durations = InitAtom(pInfo->dev, SYNAPTICS_PROP_TAP_DURATIONS, > 32, 3, values); > + prop_clickpad = InitAtom(pInfo->dev, SYNAPTICS_PROP_CLICKPAD, 8, 1, > + ¶->clickpad); > prop_tap_fast = InitAtom(pInfo->dev, SYNAPTICS_PROP_TAP_FAST, 8, 1, > ¶->fast_taps); > prop_middle_timeout = InitAtom(pInfo->dev, SYNAPTICS_PROP_MIDDLE_TIMEOUT, > 32, 1, ¶->emulate_mid_button_time); > @@ -392,7 +395,11 @@ SetProperty(DeviceIntPtr dev, Atom property, > XIPropertyValuePtr prop, > para->single_tap_timeout = timeouts[0]; > para->tap_time_2 = timeouts[1]; > para->click_time = timeouts[2]; > + } else if (property == prop_clickpad) { > + if (prop->size != 1 || prop->format != 8 || prop->type != XA_INTEGER) > + return BadMatch; > > + para->clickpad = *(BOOL*)prop->data; > } else if (property == prop_tap_fast) > { > if (prop->size != 1 || prop->format != 8 || prop->type != XA_INTEGER) > diff --git a/src/synaptics.c b/src/synaptics.c > index 48e7e25..b5ab8dc 100644 > --- a/src/synaptics.c > +++ b/src/synaptics.c > @@ -534,6 +534,7 @@ static void set_default_parameters(InputInfoPtr pInfo) > pars->tap_move = xf86SetIntOption(opts, "MaxTapMove", tapMove); > pars->tap_time_2 = xf86SetIntOption(opts, "MaxDoubleTapTime", 180); > pars->click_time = xf86SetIntOption(opts, "ClickTime", 100); > + pars->clickpad = xf86SetIntOption(opts, "ClickPad", FALSE); > pars->fast_taps = xf86SetBoolOption(opts, "FastTaps", FALSE); > pars->emulate_mid_button_time = xf86SetIntOption(opts, > "EmulateMidButtonTime", 75); > pars->emulate_twofinger_z = xf86SetIntOption(opts, > "EmulateTwoFingerMinZ", emulateTwoFingerMinZ); > diff --git a/src/synapticsstr.h b/src/synapticsstr.h > index ba1eb13..8f33b95 100644 > --- a/src/synapticsstr.h > +++ b/src/synapticsstr.h > @@ -125,6 +125,7 @@ typedef struct _SynapticsParameters > int single_tap_timeout; /* timeout to recognize a single > tap */ > int tap_time_2; /* max. tapping time for double > taps */ > int click_time; /* The duration of a single click */ > + Bool clickpad; /* Device is a has integrated > buttons */ > Bool fast_taps; /* Faster reaction to single taps */ > int emulate_mid_button_time; /* Max time between left and right > button presses to > emulate a middle button press. */ > -- > 1.7.8.3 > _______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
