[Nix-dev] synaptics touchpad configuration question

Brandon Barker brandon.barker at cornell.edu
Tue Mar 17 03:06:49 CET 2015


Thanks for the helpful tips. synctl could change the relevant variable but
to no effect; the X log seems to indicate why (see the line (EE) synaptics:
ETPS/2 Elantech Touchpad: Synaptics driver unable to detect protocol). My
first reference at the end seems to indicate it may be a driver issue, that
I've so far been unable to resolve by playing with the xserver config, but
maybe I am missing something.

Original log:

[    36.061] (II) Module synaptics: vendor="X.Org Foundation"
[    36.061]    compiled for 1.16.4, module version = 1.8.1
[    36.061]    Module class: X.Org XInput Driver
[    36.061]    ABI class: X.Org XInput driver, version 21.0
[    36.061] (II) Using input driver 'synaptics' for 'ETPS/2 Elantech
Touchpad'
[    36.061] (**) ETPS/2 Elantech Touchpad: always reports core events
[    36.061] (**) Option "Device" "/dev/input/event10"
[    36.105] (II) synaptics: ETPS/2 Elantech Touchpad: found clickpad
property
[    36.105] (--) synaptics: ETPS/2 Elantech Touchpad: x-axis range 0 -
3260 (res 33)
[    36.105] (--) synaptics: ETPS/2 Elantech Touchpad: y-axis range 0 -
2119 (res 33)
[    36.105] (--) synaptics: ETPS/2 Elantech Touchpad: pressure range 0 -
255
[    36.105] (--) synaptics: ETPS/2 Elantech Touchpad: finger width range 0
- 15
[    36.105] (--) synaptics: ETPS/2 Elantech Touchpad: buttons: left double
triple
[    36.105] (--) synaptics: ETPS/2 Elantech Touchpad: Vendor 0x2 Product
0xe
[    36.105] (**) Option "MaxTapTime" "180"
[    36.105] (**) Option "MaxTapMove" "220"
[    36.105] (**) Option "VertEdgeScroll" "1"
[    36.105] (**) Option "VertTwoFingerScroll" "0"
[    36.105] (**) Option "HorizTwoFingerScroll" "0"
[    36.105] (**) Option "RBCornerButton" "3"
[    36.105] (**) Option "TapButton1" "1"
[    36.105] (**) Option "TapButton2" "2"
[    36.105] (**) Option "TapButton3" "3"
[    36.105] (**) Option "ClickFinger1" "1"
[    36.105] (**) Option "ClickFinger2" "2"
[    36.105] (**) Option "ClickFinger3" "3"
[    36.105] (**) Option "MinSpeed" "0.6"
[    36.105] (**) Option "MaxSpeed" "1.0"
[    36.105] (**) Option "AccelFactor" "0.001"
[    36.105] (--) synaptics: ETPS/2 Elantech Touchpad: touchpad found
[    36.105] (**) ETPS/2 Elantech Touchpad: always reports core events
[    36.105] (**) ETPS/2 Elantech Touchpad: always reports core events
[    36.121] (**) Option "config_info"
"udev:/sys/devices/platform/i8042/serio1/input/input10/event10"
[    36.121] (II) XINPUT: Adding extended input device "ETPS/2 Elantech
Touchpad" (type: TOUCHPAD, id 14)
[    36.121] (**) synaptics: ETPS/2 Elantech Touchpad: (accel) MinSpeed is
now constant deceleration 1.7
[    36.121] (**) synaptics: ETPS/2 Elantech Touchpad: (accel) MaxSpeed is
now 1.67
[    36.121] (**) synaptics: ETPS/2 Elantech Touchpad: (accel) AccelFactor
is now 0.001
[    36.121] (**) ETPS/2 Elantech Touchpad: (accel) keeping acceleration
scheme 1
[    36.121] (**) ETPS/2 Elantech Touchpad: (accel) acceleration profile 1
[    36.121] (**) ETPS/2 Elantech Touchpad: (accel) acceleration factor:
2.000
[    36.121] (**) ETPS/2 Elantech Touchpad: (accel) acceleration threshold:
4
[    36.122] (--) synaptics: ETPS/2 Elantech Touchpad: touchpad found
[    36.122] (II) config/udev: Adding input device ETPS/2 Elantech Touchpad
(/dev/input/mouse1)
[    36.122] (**) ETPS/2 Elantech Touchpad: Applying InputClass "synaptics
touchpad catchall"
[    36.122] (II) Using input driver 'synaptics' for 'ETPS/2 Elantech
Touchpad'
[    36.122] (**) ETPS/2 Elantech Touchpad: always reports core events
[    36.122] (**) Option "Device" "/dev/input/mouse1"
[    36.141] (EE) synaptics: ETPS/2 Elantech Touchpad: Synaptics driver
unable to detect protocol
[    36.141] (EE) PreInit returned 11 for "ETPS/2 Elantech Touchpad"
[    36.141] (II) UnloadModule: "synaptics"



Updated config:

  services.xserver = {
    enable = true;
    layout = "us";
    videoDrivers = [ "nvidia" ];
    config = ''
      Section "ServerLayout"
          Identifier     "Layout0"
          InputDevice    "ETPS/2 Elantech Touchpad" "CorePointer"

          # Reference the Screen sections for each driver.  This will
          # cause the X server to try each in turn.
          Screen "Screen-nvidia[0]"

      EndSection

      Section "InputDevice"
          Identifier     "ETPS/2 Elantech Touchpad"
          Driver         "synaptics"
          Option         "SendCoreEvents"   "true"
          Option         "Device" "/dev/input/event10"
          #Option        "Protocol" "auto" # Causes problems in recent X
      EndSection
    '';
    synaptics = {
      enable = true;
      additionalOptions =
      ''
        Option "RBCornerButton" "3"
      '';
    };
    desktopManager.xfce.enable = true;
  };



The config still results in the same protocol issue. Starting to look like
I may take this upstream...?


More references:

* https://bugs.freedesktop.org/show_bug.cgi?id=77480

http://forums.linuxmint.com/viewtopic.php?f=49&t=146115
http://support.lenovo.com/us/en/products/laptops-and-netbooks/ideapad-y-series-laptops/ideapad-y500-notebook/?tabName=Downloads
http://positon.org/lenovo-thinkpad-bios-update-with-linux-and-usb
https://nixos.org/wiki/Xserver


On Mon, Mar 16, 2015 at 8:05 AM, Kirill Elagin <kirelagin at gmail.com> wrote:

> Well, the next thing to check is the X log. When X detects an input
> device, it lists all the options it is going to apply, so check that
> RBCornerButton is actually applied.
> Also, does the option work if you set it manually (I mean, not in X
> config, but by actually calling `synclient` from the terminal)?
>
> P.S. As a side note I’d like to mention that `synclient` is an old tool
> (it basically just emulates the old interface on top of the new one for
> compatibility). XInput2 is the new interface and the command is `xinput`
> (check `man synaptics` for the mapping between xinput properties and X
> server config options). Not that it is important in this particular case,
> but it is just good to know that there are some things you can’t do in
> synclient.
>
>
> On Mon, Mar 16, 2015 at 3:35 AM Brandon Barker <brandon.barker at cornell.edu>
> wrote:
>
>> Thanks for the tip; interestingly (and possibly unfortunately) the Xorg
>> config matches configuration.nix:
>>
>> cat /nix/store/i1r98qyqppn3yzs1k927hp6z3351rc6n-xserver.conf | grep RB
>>   Option "RBCornerButton" "3"
>>
>>
>> # Automatically enable the synaptics driver for all touchpads.
>> Section "InputClass"
>>   Identifier "synaptics touchpad catchall"
>>   MatchIsTouchpad "on"
>>
>>   Driver "synaptics"
>>   Option "MinSpeed" "0.6"
>>   Option "MaxSpeed" "1.0"
>>   Option "AccelFactor" "0.001"
>>   Option "MaxTapTime" "180"
>> Option "MaxTapMove" "220"
>> Option "TapButton1" "1"
>> Option "TapButton2" "2"
>> Option "TapButton3" "3"
>>
>>   Option "ClickFinger1" "1"
>>   Option "ClickFinger2" "2"
>>   Option "ClickFinger3" "3"
>>   Option "VertTwoFingerScroll" "0"
>>   Option "HorizTwoFingerScroll" "0"
>>   Option "VertEdgeScroll" "1"
>>
>>
>>   Option "RBCornerButton" "3"
>>
>> EndSection
>>
>>
>>
>> On Sun, Mar 15, 2015 at 9:36 PM, Luca Bruno <lethalman88 at gmail.com>
>> wrote:
>>
>>> You can check the contents of xorg.conf, look at ps ax there should be
>>> the X process running with a particular configuration. Look there if
>>> there's any culprit with the config first.
>>>
>>> On Sat, Mar 14, 2015 at 5:11 PM, Brandon Barker <
>>> brandon.barker at cornell.edu> wrote:
>>>
>>>> I have the following in my configuration.nix:
>>>>
>>>>   # Enable the X11 windowing system.
>>>>   services.xserver = {
>>>>     enable = true;
>>>>     layout = "us";
>>>>     videoDrivers = [ "nvidia" ];
>>>>     synaptics = {
>>>>       enable = true;
>>>>       additionalOptions =
>>>>       ''
>>>>         *Option "RBCornerButton" "3"*
>>>>       '';
>>>>     };
>>>>     desktopManager.xfce.enable = true;
>>>>   };
>>>>
>>>>
>>>> But when I `nixos-rebuild switch` and `reboot`, then check my current
>>>> configuration with `synclient -l` I see the following:
>>>>
>>>>     RBCornerButton          = 0
>>>>
>>>> And indeed I still can't right-click.
>>>>
>>>> Any tips would be greatly appreciated; this is really the last hurdle
>>>> (not that there were any others really) in getting nixos working on my
>>>> ideapad, which up until now has been very resistant to any linux installers
>>>> over the last few years, partly because nouveau is often the default
>>>> driver, which doesn't work at all for me. Luckily it is very easy to
>>>> install nixos from the command line with the help of a few docs. I think
>>>> this is the first time I've had a ZFS root drive in Linux, maybe in any OS
>>>> (still not an option in the Ubuntu installer btw).
>>>>
>>>> --
>>>> Brandon E. Barker
>>>> http://www.cac.cornell.edu/barker/
>>>>
>>>> _______________________________________________
>>>> nix-dev mailing list
>>>> nix-dev at lists.science.uu.nl
>>>> http://lists.science.uu.nl/mailman/listinfo/nix-dev
>>>>
>>>>
>>>
>>>
>>> --
>>> NixOS Linux <http://nixos.org>
>>>
>>
>>
>>
>> --
>> Brandon E. Barker
>> http://www.cac.cornell.edu/barker/
>>  _______________________________________________
>> nix-dev mailing list
>> nix-dev at lists.science.uu.nl
>> http://lists.science.uu.nl/mailman/listinfo/nix-dev
>>
>


-- 
Brandon E. Barker
http://www.cac.cornell.edu/barker/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.science.uu.nl/pipermail/nix-dev/attachments/20150317/e1c4d8f1/attachment.html 


More information about the nix-dev mailing list