Can you disable PART of a touchpad?

Solution 1:

From the synaptics driver man page:

The perceived physical edges may be adjusted with the AreaLeftEdge, AreaRightEdge, AreaTopEdge, and AreaBottomEdge options. If these values are set to something other than the physical edges, input in the space between the area edge and the respective physical edge is ignored. Note that this reduces the available space on the touchpad.

And that's exactly what we want, right? Therefore, we are going to have to come up with a value for AreaBottomEdge, get the other three using xinput, and write a custom xorg.conf.

First of all, we need to find some information about our touchpad. In a terminal, run xinput list. For me, the output looks like this:

$ xinput list
⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer            id=4    [slave  pointer  (2)]
⎜   ↳ PIXART USB OPTICAL MOUSE              id=11   [slave  pointer  (2)]
⎜   ↳ ETPS/2 Elantech Touchpad              id=14   [slave  pointer  (2)]
⎣ Virtual core keyboard                     id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard           id=5    [slave  keyboard (3)]
    ↳ Power Button                          id=6    [slave  keyboard (3)]
    ↳ Video Bus                             id=7    [slave  keyboard (3)]
    ↳ Video Bus                             id=8    [slave  keyboard (3)]
    ↳ Power Button                          id=9    [slave  keyboard (3)]
    ↳ Sleep Button                          id=10   [slave  keyboard (3)]
    ↳ Chicony USB 2.0 Camera                id=12   [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard          id=13   [slave  keyboard (3)]

My touchpad is identified as ETPS/2 Elantech Touchpad. Now we need to find out some information for creating the xorg.conf later. Let's figure out what values the driver is currently using for the touchpad edges by running:

xinput list-props "ETPS/2 Elantech Touchpad"|grep Edges

which, for me, outputs:

Synaptics Edges (280):  97, 2339, 56, 988

Save these values for later.

Now, create a new file named /etc/X11/xorg.conf if it doesn't already exist, open it using your favorite text editor as root, and put this in it, using the values we found earlier:

Section "InputDevice"
    Identifier "touchpad"
    Driver "synaptics"
    Option "AreaLeftEdge" "97"             # the first value from "Synaptics Edges"
    Option "AreaRightEdge" "2339"          # the second value
    Option "AreaTopEdge" "56"              # the third value
    Option "AreaBottomEdge" "988"          # the fourth value - change this
EndSection

Remember that, for best results when creating this file, you must use the values that you found yourself. Do not use mine. (I'm not calling you an idiot or anything; I'm just making sure so that you don't screw this up.)

Also, you are going to have to change the value for AreaBottomEdge so that it is less than the original and meets your requirements. You are going to have to experiment with this until you are satisfied with the results.

Also remember to log out and log back in after saving the file for the changes to take effect.

Solution 2:

If your laptop using Syntaptics touchpad you can do this with synclient command. For example, to shrink touch area on the right:

$ synclient -l | grep RightEdge                             
    RightEdge               = 1168
    AreaRightEdge           = 0

$ synclient AreaRightEdge=900

The RightEdge shows physical eight edge coordinate. You could not change that, but you can override it using AreaRightEdge.