Results 1 to 10 of 19

Thread: independent horizontal/vertical touchpad sensitivity settings?

Hybrid View

  1. #1
    Join Date
    Jun 2006
    Beans
    6

    independent horizontal/vertical touchpad sensitivity settings?

    I've gotten my HP 2133's touchpad almost exactly the way I want it with custom synaptic options, but one thing is still driving me crazy: the touchpad is much more sensitive vertically than horizontally. This is especially disorienting when going between this touchpad and one that has a standard 1:1 ratio.

    The touchpad is much wider than it is tall, which is a good thing to have when the screen is also wide. But they screwed up (at the hardware level, as far as I can tell) in mapping this physical rectangle into a virtual square (why!!!!?). This eliminates the benefit of it resembling the widescreen, and in fact it's worse than if it were a square because horizontal acceleration is greatly reduced. I can track from the top of the screen to the bottom, but not from the left to the right (in one stroke). I can't speed it up any more without vertical being far too sensitive. And at any rate it's disorienting to use with such different scales for horizontal and vertical.

    I would like to correct this in software, but surprisingly there doesn't seem to be separate horizontal and vertical speed factors among synaptic's myriad options. Maybe, though, there is some way to correct it in a higher level mouse driver, in X or the window manager or somewhere? Any clues? At this point I can't even find the right place to file an upstream synaptic feature request.

    Nathan

  2. #2
    Join Date
    Jul 2005
    Beans
    12

    Re: independent horizontal/vertical touchpad sensitivity settings?

    I have the same problem with HP Compaq 2510p. I asked about the problem in xorg mailing list and got reply which unfortunately is that there really doesn't seem to be any existing solution.

    Without knowing the details, I think it shouldn't be too hard to fix the driver but since previously I was not able to find any other reports about this issue I was wondering if my touchpad is defective. It even says in the Synaptics Touchpad Interfacing Guide in section 2.3.2 that "All Synaptics TouchPad products are designed to scale their coordinates and pressure to the same standard range regardless of the actual size of the sensor". So I'm "happy" to find you are having the same problem I can try to come up with a patch.
    Last edited by tsaarni; October 6th, 2008 at 06:56 AM.

  3. #3
    Join Date
    Jun 2006
    Beans
    6

    Re: independent horizontal/vertical touchpad sensitivity settings?

    My guess is that someone at HP/Compaq decided to wander off the spec without thinking this one through. I wonder if it has the same behavior on Windows, or if they realized the mistake and added an "anisotropic" driver?

    I'll have a look at the synaptics source and see if it's something I can hack into without giving up my life for two weeks. It doesn't sound like the driver maintainers are likely to do it, seeing as they're already on the right side of the spec.

    Nathan

  4. #4
    Join Date
    Jul 2005
    Beans
    12

    Re: independent horizontal/vertical touchpad sensitivity settings?

    It could also be that Synaptics didn't make touchpads with different aspect ratios back 10 years ago when the Interfacing Guide was written. The comment "same standard range regardless of the actual size" doesn't necessarily include aspect ratio variations that we're seeing, it isn't very clear...

    I wonder if there are any newer additions/extensions to the protocol described in the doc... Touchpads might report the aspect ratio or physical dimensions just like they are reporting maximum ranges for the coordinates. That would allow driver to adapt automatically.

  5. #5
    Join Date
    Jul 2005
    Beans
    12

    Re: independent horizontal/vertical touchpad sensitivity settings?

    Well, obviously this isn't anywhere near usable but at least it's something to play with:

    Code:
    --- xfree86-driver-synaptics-0.14.7~git20070706.orig/synaptics.c
    +++ xfree86-driver-synaptics-0.14.7~git20070706/synaptics.c
    @@ -867,6 +867,7 @@
     
         while (SynapticsGetHwState(local, priv, &hw)) {
            hw.millis = GetTimeInMillis();
    +       hw.y *= 0.60;
            priv->hwState = hw;
            delay = HandleState(local, &hw);
            newDelay = TRUE;
    To compile do the usual thing:

    Code:
    apt-get source xfree86-driver-synaptics
    sudo apt-get build-dep xfree86-driver-synaptics
    
    # modify the source like above but 
    # with your own multiplier for y coordinate
    
    make
    sudo cp synaptics_drv.so /usr/lib/xorg/modules/input/
    
    # restart xorg

  6. #6
    Join Date
    Jun 2006
    Beans
    6

    Re: independent horizontal/vertical touchpad sensitivity settings?

    Ha, we patched right past each other! I should have checked this thread again today (but it was kind of a fun codebase to dig into). I did the same as you, and then made it a configuration parameter. I think all that remains is to add it to the man page. My branch is here:

    git clone git://technically.us/git/synaptics

    This is SO much better than the crazy default tracking.

    Nathan

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •