You are not logged in.

#1 2015-10-11 13:37:51

vasa1
Member
Registered: 2015-09-29
Posts: 176

[Solved] "Detect and configure touchpad" in BL autostart

After reading Head_on_a_Stick's post in Quirky keybinds, I thought it very convenient and tried to implement synclient TapButton2=2 on my system (not BL but Lubuntu). I couldn't because it seems to be limited to certain -- probably the majority -- of Synaptics Incorporated touchpads and mine is "AlpsPS/2 ALPS GlidePoint" (common on a lot of older Dell laptops).

So, if I (and probably others with older Dell laptops) run

egrep -i 'touchpad' /proc/bus/input/devices

I'd get a blank.

But if I run

xinput list-props "AlpsPS/2 ALPS GlidePoint" | grep Capabilities

I get this:

Synaptics Capabilities (308):  1, 1, 1, 0, 0, 1, 0

According to the Arch wiki, the seven values mean this:

From left to right, this shows:
    (1) device has a physical left button
    (1) device has a physical middle button
    (1) device has a physical right button
    (0) device does not support two-finger detection    <<<<<
    (0) device does not support three-finger detection  <<<<<
    (1) device can configure vertical resolution
    (0) device can't configure horizontal resolution

What I'm getting at is that the comment

## Detect and configure touchpad. See 'man synclient' for more info.

in https://github.com/BunsenLabs/bunsen-co … /autostart could be a little more verbose or could point to something more informative than man synclient which is a bit cryptic.

Last edited by vasa1 (2015-10-14 08:29:54)


Using the Openbox (3.5.2) session of Lubuntu 14.04 LTS but very interested in BL :)

Offline

#2 2015-10-11 15:02:23

ohnonot
...again
Registered: 2015-09-29
Posts: 3,907
Website

Re: [Solved] "Detect and configure touchpad" in BL autostart

vasa1 wrote:

After reading Head_on_a_Stick's post in Quirky keybinds, I thought it very convenient and tried to implement synclient TapButton2=2 on my system (not BL but Lubuntu). I couldn't because...
[...]
But
[...]

    (1) device has a physical middle button

if that touchpad has a physical middle button, you don't need the fix, no?

https://github.com/BunsenLabs/bunsen-co … /autostart could be a little more verbose or could point to something more informative than man synclient which is a bit cryptic.

first of all it's not cryptic.
but, what would you suggest instead? i'm sure it can be added.

Online

#3 2015-10-11 16:11:58

Head_on_a_Stick
Member
From: London
Registered: 2015-09-29
Posts: 8,759
Website

Re: [Solved] "Detect and configure touchpad" in BL autostart

vasa1 wrote:

After reading Head_on_a_Stick's post in Quirky keybinds, I thought it very convenient and tried to implement synclient TapButton2=2 on my system (not BL but Lubuntu). I couldn't because it seems to be limited to certain -- probably the majority -- of Synaptics Incorporated touchpads and mine is "AlpsPS/2 ALPS GlidePoint" (common on a lot of older Dell laptops).

You can check the available synaptics options and their applied values by opening a terminal window and running this command:

synclient

To find out more about the synaptics driver and it's configuration, run this command and read the output:

man synclient

You may also wish to read:

man man
man apropos
info info

The man pages are the reference documentation for the software on your system.


“Et ignotas animum dimittit in artes.” — Ovid, Metamorphoses, VIII., 18.

Forum Rules   •   How to report a problem   •   Software that rocks

Offline

#4 2015-10-12 04:26:50

vasa1
Member
Registered: 2015-09-29
Posts: 176

Re: [Solved] "Detect and configure touchpad" in BL autostart

ohnonot wrote:

... if that touchpad has a physical middle button, you don't need the fix, no?

Well, the way to access the "physical" middle button on my system is to press the left and right mouse buttons together and I feel it's less "ergonomic" than a two-finger tap on the touchpad or even pressing the menu key to evoke the keybind involving xdotool but that's just my opinion.

ohnonot wrote:

https://github.com/BunsenLabs/bunsen-co … /autostart could be a little more verbose or could point to something more informative than man synclient which is a bit cryptic.

first of all it's not cryptic.
but, what would you suggest instead? i'm sure it can be added.

May I should have phrased things better.

First, as I pointed out, by grepping for "touchpad", my touchpad isn't detected even though it's present and functional. Other users of Dell laptops may have the same experience. I don't have much knowledge to suggest how the search pattern in

## Detect and configure touchpad. See 'man synclient' for more info.
if egrep -iq 'touchpad' /proc/bus/input/devices; then

could be expanded but as it stands, at least some users will find that their touchpads are not being detected. If they're savvy enough they'll figure things out eventually and so maybe this is a non-issue smile

Here's the whole output of

/proc/bus/input/devices

for my Dell Inspiron 1545 laptop with a few "<<<" to point to the relevant line:

$ cat /proc/bus/input/devices
I: Bus=0019 Vendor=0000 Product=0005 Version=0000
N: Name="Lid Switch"
P: Phys=PNP0C0D/button/input0
S: Sysfs=/devices/LNXSYSTM:00/device:00/PNP0C0D:00/input/input0
U: Uniq=
H: Handlers=event0 
B: PROP=0
B: EV=21
B: SW=1

I: Bus=0019 Vendor=0000 Product=0001 Version=0000
N: Name="Power Button"
P: Phys=PNP0C0C/button/input0
S: Sysfs=/devices/LNXSYSTM:00/device:00/PNP0C0C:00/input/input1
U: Uniq=
H: Handlers=kbd event1 
B: PROP=0
B: EV=3
B: KEY=10000000000000 0

I: Bus=0019 Vendor=0000 Product=0003 Version=0000
N: Name="Sleep Button"
P: Phys=PNP0C0E/button/input0
S: Sysfs=/devices/LNXSYSTM:00/device:00/PNP0C0E:00/input/input2
U: Uniq=
H: Handlers=kbd event2 
B: PROP=0
B: EV=3
B: KEY=4000 0 0

I: Bus=0011 Vendor=0001 Product=0001 Version=ab41
N: Name="AT Translated Set 2 keyboard"
P: Phys=isa0060/serio0/input0
S: Sysfs=/devices/platform/i8042/serio0/input/input3
U: Uniq=
H: Handlers=sysrq kbd event3 
B: PROP=0
B: EV=120013
B: KEY=1100f02902000 8380307cf910f001 feffffdfffefffff fffffffffffffffe
B: MSC=10
B: LED=7

I: Bus=0011 Vendor=0002 Product=0008 Version=0000
N: Name="ALPS PS/2 Device"
P: Phys=isa0060/serio2/input1
S: Sysfs=/devices/platform/i8042/serio2/input/input10
U: Uniq=
H: Handlers=mouse0 event4 
B: PROP=0
B: EV=7
B: KEY=70000 0 0 0 0
B: REL=3

I: Bus=0011 Vendor=0002 Product=0008 Version=0200
N: Name="AlpsPS/2 ALPS GlidePoint"  <<<<<<<<<<<<<<<<<<<<<<<<<<<<<
P: Phys=isa0060/serio2/input0
S: Sysfs=/devices/platform/i8042/serio2/input/input9
U: Uniq=
H: Handlers=mouse1 event5 
B: PROP=0
B: EV=b
B: KEY=420 70000 0 0 0 0
B: ABS=1000003

I: Bus=0003 Vendor=093a Product=2510 Version=0111
N: Name="PixArt USB Optical Mouse"
P: Phys=usb-0000:00:1d.0-1/input0
S: Sysfs=/devices/pci0000:00/0000:00:1d.0/usb6/6-1/6-1:1.0/input/input13
U: Uniq=
H: Handlers=mouse2 event6 
B: PROP=0
B: EV=17
B: KEY=70000 0 0 0 0
B: REL=103
B: MSC=10

I: Bus=0003 Vendor=413c Product=8161 Version=0111
N: Name="HID 413c:8161"
P: Phys=usb-0000:00:1a.0-1.1/input0
S: Sysfs=/devices/pci0000:00/0000:00:1a.0/usb3/3-1/3-1.1/3-1.1:1.0/input/input14
U: Uniq=
H: Handlers=sysrq kbd event7 
B: PROP=0
B: EV=120013
B: KEY=1000000000007 ff800000000007ff febeffdff3cfffff fffffffffffffffe
B: MSC=10
B: LED=7

I: Bus=0019 Vendor=0000 Product=0000 Version=0000
N: Name="Dell WMI hotkeys"
P: Phys=wmi/input0
S: Sysfs=/devices/virtual/input/input16
U: Uniq=
H: Handlers=kbd event9 
B: PROP=0
B: EV=13
B: KEY=1100b00000400 100000 e000000000000 0
B: MSC=10

I: Bus=0019 Vendor=0000 Product=0006 Version=0000
N: Name="Video Bus"
P: Phys=LNXVIDEO/video/input0
S: Sysfs=/devices/LNXSYSTM:00/device:00/PNP0A03:00/LNXVIDEO:01/input/input17
U: Uniq=
H: Handlers=kbd event8 
B: PROP=0
B: EV=3
B: KEY=3e000b00000000 0 0 0

I: Bus=0003 Vendor=0c45 Product=63ee Version=8808
N: Name="Integrated_Webcam_1.3M"
P: Phys=usb-0000:00:1a.7-6/button
S: Sysfs=/devices/pci0000:00/0000:00:1a.7/usb1/1-6/1-6:1.0/input/input18
U: Uniq=
H: Handlers=kbd event10 
B: PROP=0
B: EV=3
B: KEY=100000 0 0 0

I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name="HDA Intel Headphone"
P: Phys=ALSA
S: Sysfs=/devices/pci0000:00/0000:00:1b.0/sound/card0/input20
U: Uniq=
H: Handlers=event11 
B: PROP=0
B: EV=21
B: SW=4

I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name="HDA Intel Mic"
P: Phys=ALSA
S: Sysfs=/devices/pci0000:00/0000:00:1b.0/sound/card0/input19
U: Uniq=
H: Handlers=event12 
B: PROP=0
B: EV=21
B: SW=10

$ 

As for something more informative than man synclient, may I suggest man synaptics. I suspect verbose and cryptic are red flags and I shouldn't have used those terms smile


Using the Openbox (3.5.2) session of Lubuntu 14.04 LTS but very interested in BL :)

Offline

#5 2015-10-12 07:16:02

ohnonot
...again
Registered: 2015-09-29
Posts: 3,907
Website

Re: [Solved] "Detect and configure touchpad" in BL autostart

vasa1 wrote:

Well, the way to access the "physical" middle button on my system is to press the left and right mouse buttons together and I feel it's less "ergonomic" than a two-finger tap on the touchpad or even pressing the menu key to evoke the keybind involving xdotool but that's just my opinion.

yes, i agree with that.

As for something more informative than man synclient, may I suggest man synaptics. I suspect verbose and cryptic are red flags and I shouldn't have used those terms smile

why red flags?
i think you just used the wrong word. for someone who is able to open & edit their autostart, there's nothing cryptic about typing "man synclient" in a terminal.

in any case, you do have a point there.

how is yours working now?

does synclient even detect the touchpad, i.e. can you make changes to the configuration?
(maybe you posted that already)
it is quite possible that your touchpad isn't recognized and runs on some sort of minimum compatibility mode (akin to the default graphics driver you get when installing debian).

Online

#6 2015-10-12 07:18:12

Head_on_a_Stick
Member
From: London
Registered: 2015-09-29
Posts: 8,759
Website

Re: [Solved] "Detect and configure touchpad" in BL autostart

vasa1 wrote:

As for something more informative than man synclient, may I suggest man synaptics

Good call, I agree.


“Et ignotas animum dimittit in artes.” — Ovid, Metamorphoses, VIII., 18.

Forum Rules   •   How to report a problem   •   Software that rocks

Offline

#7 2015-10-12 12:10:52

vasa1
Member
Registered: 2015-09-29
Posts: 176

Re: [Solved] "Detect and configure touchpad" in BL autostart

ohnonot wrote:

...
how is yours working now?

does synclient even detect the touchpad, i.e. can you make changes to the configuration?
(maybe you posted that already)
it is quite possible that your touchpad isn't recognized and runs on some sort of minimum compatibility mode (akin to the default graphics driver you get when installing debian).

Re. "can you make changes to the configuration?"
Yes, I can. With reference to

## Detect and configure touchpad. See 'man synclient' for more info.
if egrep -iq 'touchpad' /proc/bus/input/devices; then
    synclient VertEdgeScroll=1 &
    synclient HorizEdgeScroll=1 &
    synclient TapButton1=1 &
fi

I can toggle both VertEdgeScroll and HorizEdgeScroll. As for TapButton1, I have TapButton1=1 as default in the terminal output of synclient. I can change that
to TapButton1=2 in which case tapping the touchpad results in a middle-click
or
to TapButton1=3 in which case tapping the touchpad results in a right-click
and
going back to TapButton1=1 brings things back to normal.

To summarize, I'd say my touchpad is functional but may not provide all the bells and whistles some other touchpads may afford: no multitouch or gestures or circular scrolling.

Here's my default synclient output:

Parameter settings:
    LeftEdge                = 153
    RightEdge               = 870
    TopEdge                 = 115
    BottomEdge              = 652
    FingerLow               = 12
    FingerHigh              = 15
    MaxTapTime              = 180
    MaxTapMove              = 56
    MaxDoubleTapTime        = 180
    SingleTapTimeout        = 180
    ClickTime               = 100
    EmulateMidButtonTime    = 75
    EmulateTwoFingerMinZ    = 141
    EmulateTwoFingerMinW    = 7
    VertScrollDelta         = 25
    HorizScrollDelta        = 25
    VertEdgeScroll          = 1
    HorizEdgeScroll         = 0
    CornerCoasting          = 0
    VertTwoFingerScroll     = 0
    HorizTwoFingerScroll    = 0
    MinSpeed                = 1
    MaxSpeed                = 1.75
    AccelFactor             = 0.156495
    TouchpadOff             = 0
    LockedDrags             = 0
    LockedDragTimeout       = 5000
    RTCornerButton          = 2
    RBCornerButton          = 3
    LTCornerButton          = 0
    LBCornerButton          = 0
    TapButton1              = 1
    TapButton2              = 3
    TapButton3              = 0
    ClickFinger1            = 1
    ClickFinger2            = 1
    ClickFinger3            = 0
    CircularScrolling       = 0
    CircScrollDelta         = 0.1
    CircScrollTrigger       = 0
    CircularPad             = 0
    PalmDetect              = 0
    PalmMinWidth            = 10
    PalmMinZ                = 100
    CoastingSpeed           = 20
    CoastingFriction        = 50
    PressureMotionMinZ      = 15
    PressureMotionMaxZ      = 80
    PressureMotionMinFactor = 1
    PressureMotionMaxFactor = 1
    ResolutionDetect        = 1
    GrabEventDevice         = 1
    TapAndDragGesture       = 1
    AreaLeftEdge            = 0
    AreaRightEdge           = 0
    AreaTopEdge             = 0
    AreaBottomEdge          = 0
    HorizHysteresis         = 6
    VertHysteresis          = 6
    ClickPad                = 0

Coming back to

## Detect and configure touchpad. See 'man synclient' for more info.
if egrep -iq 'touchpad' /proc/bus/input/devices; then
    synclient VertEdgeScroll=1 &
    synclient HorizEdgeScroll=1 &
    synclient TapButton1=1 &
fi

I feel that grepping for 'touchpad' will make the subsequent three synclient settings unavailable to some users, probably users with some Dell laptops, because the string 'touchpad' would be missing from /proc/bus/input/devices even though those users have laptops capable of modifying/setting VertEdgeScroll, HorizEdgeScroll, and TapButton1.


Using the Openbox (3.5.2) session of Lubuntu 14.04 LTS but very interested in BL :)

Offline

#8 2015-10-12 21:03:47

ohnonot
...again
Registered: 2015-09-29
Posts: 3,907
Website

Re: [Solved] "Detect and configure touchpad" in BL autostart

vasa1 wrote:

Coming back to

## Detect and configure touchpad. See 'man synclient' for more info.
if egrep -iq 'touchpad' /proc/bus/input/devices; then
    synclient VertEdgeScroll=1 &
    synclient HorizEdgeScroll=1 &
    synclient TapButton1=1 &
fi

I feel that grepping for 'touchpad' will make the subsequent three synclient settings unavailable to some users, probably users with some Dell laptops, because the string 'touchpad' would be missing from /proc/bus/input/devices even though those users have laptops capable of modifying/setting VertEdgeScroll, HorizEdgeScroll, and TapButton1.

i agree. i'm not familiar with egrep, but in grep it could be:

grep -E 'Touchpad|ALPS' ...

(i wouldn't grep case-insensitively)
but the list should be longer, and maybe the synclient options should be different for different devices...
talk about fine-tuning.
every bunsen user should provide their own

/proc/bus/input/devices

Online

#9 2015-10-13 06:51:55

Head_on_a_Stick
Member
From: London
Registered: 2015-09-29
Posts: 8,759
Website

Re: [Solved] "Detect and configure touchpad" in BL autostart

ohnonot wrote:

i'm not familiar with egrep, but in grep it could be:

grep -E 'Touchpad|ALPS' ...
man grep wrote:

the  variant programs egrep and fgrep are the same as grep -E and grep -F, respectively.These variants are  deprecated,  but  are  provided  for backward compatibility.

big_smile

@OP: the `synclient` output you have posted shows that your touchpad supports circular scrolling & multitouch.

All the values listed in the output are available for the user to alter -- a "0" in the line just means that it is currently disabled.

So try:

synclient tapbutton1=1 tapbutton2=2 tapbutton3=3 circularscrolling=1

This will enable circular scrolling and give a left-click with a one-finger tap, a right-click with a three-finger tap, etc.


“Et ignotas animum dimittit in artes.” — Ovid, Metamorphoses, VIII., 18.

Forum Rules   •   How to report a problem   •   Software that rocks

Offline

#10 2015-10-13 10:30:40

vasa1
Member
Registered: 2015-09-29
Posts: 176

Re: [Solved] "Detect and configure touchpad" in BL autostart

Head_on_a_Stick wrote:

...

@OP: the `synclient` output you have posted shows that your touchpad supports circular scrolling & multitouch.

All the values listed in the output are available for the user to alter -- a "0" in the line just means that it is currently disabled.

So try:

synclient tapbutton1=1 tapbutton2=2 tapbutton3=3 circularscrolling=1

This will enable circular scrolling and give a left-click with a one-finger tap, a right-click with a three-finger tap, etc.

I'm a bit rushed these days, but I've tried to get tapbutton2=2 going because I would really like to have that working but no luck...

I'll try to figure out why later.

Thanks to both of you for your feedback smile


Using the Openbox (3.5.2) session of Lubuntu 14.04 LTS but very interested in BL :)

Offline

#11 2015-10-13 18:10:19

vasa1
Member
Registered: 2015-09-29
Posts: 176

Re: [Solved] "Detect and configure touchpad" in BL autostart

Head_on_a_Stick wrote:

...
So try:

synclient tapbutton1=1 tapbutton2=2 tapbutton3=3 circularscrolling=1

This will enable circular scrolling and give a left-click with a one-finger tap, a right-click with a three-finger tap, etc.

Circular scrolling works but I'm not sure I like it. TapButton1=1 works but TapButton2=2 and TapButton3=3 don't even though syclient's output suggests they should. I get the impression my touchpad/hardware doesn't support multitouch no matter what synclient says.


Using the Openbox (3.5.2) session of Lubuntu 14.04 LTS but very interested in BL :)

Offline

#12 2015-10-13 19:06:50

hhh
Meep!
Registered: 2015-09-17
Posts: 8,312
Website

Re: [Solved] "Detect and configure touchpad" in BL autostart

https://wiki.debian.org/SynapticsTouchpad#Multitouch

On my laptop...

$ grep "TouchPad: buttons:" /var/log/Xorg.0.log
[    20.504] (--) synaptics: SynPS/2 Synaptics TouchPad: buttons: left right

So I created /etc/X11/xorg.conf.d/50-synaptics.conf...

Section "InputClass"
        Identifier      "Touchpad"                      # required
        MatchIsTouchpad "yes"                           # required
        Driver          "synaptics"                     # required
        Option          "MinSpeed"              "0.5"
        Option          "MaxSpeed"              "1.0"
        Option          "AccelFactor"           "0.075"
        Option          "TapButton1"            "1"
        Option          "TapButton2"            "3"     # multitouch
        Option          "VertEdgeScroll"        "0"
        Option          "HorizEdgeScroll"       "0"
        Option          "EmulateTwoFingerMinZ"  "35"
        Option          "EmulateTwoFingerMinW"  "8"
EndSection

After a reboot I have two-finger tap for right-click actions. It's worth a shot for you to try something similar.

Offline

#13 2015-10-14 06:38:49

vasa1
Member
Registered: 2015-09-29
Posts: 176

Re: [Solved] "Detect and configure touchpad" in BL autostart

ohnonot wrote:

...

grep -E 'Touchpad|ALPS' ...

(i wouldn't grep case-insensitively)
but the list should be longer, and maybe the synclient options should be different for different devices...
talk about fine-tuning.
every bunsen user should provide their own

/proc/bus/input/devices

hhh kindly provided a link to the Debian wiki on touchpads and that has a broader (more inclusive)

egrep -i 'synap|alps|etps' /proc/bus/input/devices

For my Dell's touchpad to be detected and keeping in mind that egrep seems to be deprecated in favor of grep -E, I'd suggest

grep -E 'something|GlidePoint|something|something' /proc/bus/input/devices

because "alps" or "Alps" occurs elsewhere as well:

$ xinput --list --long | grep -Ei alps
⎜   ↳ ALPS PS/2 Device                        	id=13	[slave  pointer  (2)]
⎜   ↳ AlpsPS/2 ALPS GlidePoint                	id=14	[slave  pointer  (2)]

I know from the effect of xinput --disable 14 and xinput --enable 14 that the line with "GlidePoint" is relevant.

If users of laptops with other touchpads replace the "something", the BL autostart script would be more helpful.

hhh, thanks for your suggestion. I'll give it a try to see if I can get around having not having multitouch by default:

$ grep -E "GlidePoint: buttons" /var/log/Xorg.0.log
[    29.944] (--) synaptics: AlpsPS/2 ALPS GlidePoint: buttons: left right middle
$ 

because the Debian wiki has this:

You can check which buttons are reported in Xorg.0.log to see if you have multitouch. A touchpad without this capability reports only the usual "left", "right" and "middle" buttons:

$ grep "TouchPad: buttons:" /var/log/Xorg.0.log
(II) SynPS/2 Synaptics TouchPad: buttons: left right middle

A touchpad with multitouch reports "double" for two-finger multitouch and "triple" for three-finger multitouch:

$ grep "TouchPad: buttons:" /var/log/Xorg.0.log
(II) SynPS/2 Synaptics TouchPad: buttons: left right middle double triple

Last edited by vasa1 (2015-10-14 06:39:47)


Using the Openbox (3.5.2) session of Lubuntu 14.04 LTS but very interested in BL :)

Offline

#14 2015-10-14 06:41:02

Head_on_a_Stick
Member
From: London
Registered: 2015-09-29
Posts: 8,759
Website

Re: [Solved] "Detect and configure touchpad" in BL autostart

Or we could just run `synclient` without the if block and pipe STDERR to /dev/null

synclient VertEdgeScroll=1 HorizEdgeScroll=1 TapButton1=1 2>/dev/null &

(or something)


“Et ignotas animum dimittit in artes.” — Ovid, Metamorphoses, VIII., 18.

Forum Rules   •   How to report a problem   •   Software that rocks

Offline

#15 2015-10-14 06:59:32

ohnonot
...again
Registered: 2015-09-29
Posts: 3,907
Website

Re: [Solved] "Detect and configure touchpad" in BL autostart

^ i was thinking the same. wouldn't it just gracefully fail if there's no compatible device?

Online

#16 2015-10-14 07:01:35

Head_on_a_Stick
Member
From: London
Registered: 2015-09-29
Posts: 8,759
Website

Re: [Solved] "Detect and configure touchpad" in BL autostart

^ I think so, yes.


“Et ignotas animum dimittit in artes.” — Ovid, Metamorphoses, VIII., 18.

Forum Rules   •   How to report a problem   •   Software that rocks

Offline

#17 2015-10-14 08:29:14

vasa1
Member
Registered: 2015-09-29
Posts: 176

Re: [Solved] "Detect and configure touchpad" in BL autostart

Head_on_a_Stick wrote:

Or we could just run `synclient` without the if block and pipe STDERR to /dev/null. ...

The best solutions are often simple!

Anyway, I learned quite a bit here. Thanks once again, everyone!


Using the Openbox (3.5.2) session of Lubuntu 14.04 LTS but very interested in BL :)

Offline

Board footer

Powered by FluxBB