Does touchpads have buttons?

Søren Hauberg hauberg at
Mon Sep 29 06:08:00 PDT 2008

2008/9/29 Simon Thum <simon.thum at>:
> Søren Hauberg wrote:
>> Ahh, I (think I) see. The attached patch should handle this. It also
>> adds support for clicking the screen, and for my setup it works quite
> I meant this:
>        case EV_ABS:
> +            abs = 1;
>            switch (ev.code) {
>            case ABS_X:
> -               pEvdev->abs_x = value;
> -               abs = 1;
> you're assigning abs = 1 even if none of the absolute axes the device
> advertises has a meaning to the driver. Given you later rely on it, that's
> going to bust someone. Or is that intentional?

Ohh, that? That's just me being stupid :-) I've changed it back to the
way it was. This stuff is new to me, so I'm doing this by trial and
error, to get to know the system.

>> use device properties (that's what I've been told they're called) to
>> set these parameters, how would I go about doing that?
> Look at EvdevInitProperties(). Touchscreen-specifics should be only
> available on
> touchscreens, of course.

This stuff seems to only be in git. It's not in any releases, right?

> Regarding BTN_TOUCH: If you're getting a range here, you're better off with
> a hysteresis to decide a button press/release. Synaptics does that, for
> example.

I don't quite understand (to me 'hysteresis' is part of the Canny edge
detector in image processing -- I have no idea what it means here).
The information I seem to get from the kernel is (BTN_TOUCH, 1) when
the stylus is pressed to the screen, and (BTN_TOUCH, 0) when the
stylus is removed. When I move the stylus around (when its pressed
onto the screen), I don't get any BTN_TOUCH's.


More information about the xorg mailing list