How do I enable Middle mouse button emulation in 12.04 LTS?
How do I enable Middle mouse button emulation in 12.04 LTS? I think it was disabled by default in the last release. I'm sure this is a silly question but I can't find a generic answer, they all seem to be touchpad specific (ie, multi-touch related, which I don't have), or using what I consider not to be normal ubuntu methods (creating xorg.conf file). I'm using xubuntu variant (xfce) on a dell inspiron mini.
I was actually just testing there and if I tap with both fingers at once it brings up a context menu (like right click). Wired I didn't know this trackpad could even tell that there was a two finger tap...
Former behaviour was clicking both touchpad buttons (they are the built in kind) at the same time produced a middle clicck. They no longer do this. I never used a double tap, but the actual buttons.
To clarify I am using a built in Touchpad, not an external mouse. Gpointings detects it as synaptic touch, which I believe is correct
Update- The question @medigeek linked to below let me set a two fingered tap to emulate a middle click, but I still cant click both buttons at the same time
output from synclient is here:
LeftEdge = 1760
RightEdge = 5302
TopEdge = 1639
BottomEdge = 4479
FingerLow = 25
FingerHigh = 30
FingerPress = 256
MaxTapTime = 180
MaxTapMove = 232
MaxDoubleTapTime = 180
SingleTapTimeout = 180
ClickTime = 100
FastTaps = 0
EmulateMidButtonTime = 0
EmulateTwoFingerMinZ = 282
EmulateTwoFingerMinW = 7
VertScrollDelta = 105
HorizScrollDelta = 105
VertEdgeScroll = 1
HorizEdgeScroll = 0
CornerCoasting = 0
VertTwoFingerScroll = 0
HorizTwoFingerScroll = 0
MinSpeed = 1
MaxSpeed = 1.75
AccelFactor = 0.0378931
TrackstickSpeed = 40
EdgeMotionMinZ = 30
EdgeMotionMaxZ = 160
EdgeMotionMinSpeed = 1
EdgeMotionMaxSpeed = 422
EdgeMotionUseAlways = 0
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 = 200
CoastingSpeed = 20
CoastingFriction = 50
PressureMotionMinZ = 30
PressureMotionMaxZ = 160
PressureMotionMinFactor = 1
PressureMotionMaxFactor = 1
ResolutionDetect = 1
GrabEventDevice = 1
TapAndDragGesture = 1
AreaLeftEdge = 0
AreaRightEdge = 0
AreaTopEdge = 0
AreaBottomEdge = 0
HorizHysteresis = 26
VertHysteresis = 26
ClickPad = 1
RightButtonAreaLeft = 0
RightButtonAreaRight = 0
RightButtonAreaTop = 0
RightButtonAreaBottom = 0
MiddleButtonAreaLeft = 0
MiddleButtonAreaRight = 0
MiddleButtonAreaTop = 0
MiddleButtonAreaBottom = 0
GUI solution
Install the package gpointing-device-settings
Description-en: configuration tool for pointing devices
GUI tool for setting pointing devices. Currently it can configure mouse type
device (mouse, trackpoint etc.) and touchpads.
.
For mouse you can configure middle button emulation, wheel emulation and
scrolling.
.
It can enable and disable touchpad, or scrolling on it as well as additional
parameters like palm detection, locked drags, tapping and scrolling.
.
It is a successor of GSynaptics.
Console/terminal solution #1
Alternatively, try this:
gsettings set org.gnome.settings-daemon.peripherals.mouse middle-button-enabled true
The alternative solution might require the installation of gnome-settings-daemon
package.
Console/terminal solution(s) #2
Using synclient
command you can view your synaptics touchpad options.
-
Run
synclient
and see what variables you have available. -
You can set/change the synclient options using this command:
syclient var=1
(where var is the variable you wish to change and 1 the value)Read the manual page about each variable: http://manpages.ubuntu.com/synaptics
What worked for me
Instead of figuring out how to press both buttons of the touchpad, keep/press two fingers on the touchpad and click on the left click button of the touchpad with a third finger. This emulates a middle button by default.
What worked for the original poster
a) Setting the TapButton variable works for the two fingered tap
b) If you still want to click both buttons and produce a middle button emulation, execute:
synclient EmulateMidButtonTime=100
EmulateMidButtonTime allows you to change the time required to produce a middle button (allowed time period to click both buttons). 100 means 100 milliseconds (ms).
You may set it to even higher values, such as synclient EmulateMidButtonTime=500
(500ms).
With Ubuntu 17 and in XFCE the middle mouse button copy paste did not work at all.
Same issue still in Ubuntu 20.x.
Solution
To enable the middle mouse button paste function edit the xinput.
-
Query your device:
xinput list
Identify your mouse. With me it was device number 10.
-
xinput list-props 10
gives me the settings for the mouse. -
I need to change the value for "libinput Middle Emulation Enabled (294):" and I need to do it as root:
xinput set-prop 10 "libinput Middle Emulation Enabled" 1
-
Check if the value changed to 1:
xinput list-props 10
Yes, it works: "libinput Middle Emulation Enabled (294): 1"
In a recent Ubuntu 20.x connecting a Logitech Marble Mouse with 2 buttons (old, white model) gave me "libinput Middle Emulation Enabled (292): 0" and I changed it accordingly.
In Ubuntu 18 and XFCE there is a significant change: NO LONGER "libinput Button Middle". Instead "Evdev Third Button Emulation". So the whole line is now (for my machine):
sudo xinput set-prop 10 "Evdev Third Button Emulation" 1
To make it persistent, add a line in ~/.xstartup
!
In my case it just looks the same like before:
xinput set-prop 10 "libinput Middle Emulation Enabled" 1
That makes it effective from start on.
HINT: If yor flavour or surface of Linux GUI does not support xinput you might get a little error line each time you open a terminal.
Better solutions are always welcome :-)
This is what is behind it.
I strongly disagree that Ubuntu and Gnome decided to disable the standard Unix Middle Mouse paste. Even in XFCE Ubuntu 17 it is devastated. May the managers behind this decision find a soon and painful end. You make my life hard.
Many, many thanks to Gilles who found the solution!!!
I had the same issues using Ubuntu 16, 14.10 and earlier: Unix style copy paste in the terminal not working. Disappointing default settings. However, here is a solution (partly a wrap up of other peoples great work):
- To fix the terminal issue I successfully put the following lines into my xorg.conf:
(see if /etc/X11/xorg.conf is suitable for you. May be different for Lubuntu etc.)
Section "InputClass"
Identifier "middle button emulation class"
MatchIsPointer "on"
Option "Emulate3Buttons" "on"
EndSection
-
The very anoying malfunction of a missing 3rd mouse button (touch pad, Marble Mouse) can actually be fixed with the "gpointing-device-settings". Just install using CLI with:
apt-get install gpointing-device-settings
Then invoke gpointing-device-settings
to get the gui window.
Remark: There is an unfixed bug in newer Ubuntus that wipes out your settings when rebooting. You may put gpointing-device-settings
in auto-start but still need to prompt then. I am not aware of any proper config solution.
Probably some steps need a sudo or root access. I assume you know.
However, now I can use the unixish copy paste by mark and middle mouse button. At least in terminal. And for the Marble Mouse there is a separate article with a lot of config details.
Addendum
With Ubuntu 17 and in XFCE the middle mouse button copy paste did not work at all.
Wayland is different.
Sometimes it is helpful to enter
gsettings set org.gnome.settings-daemon.peripherals.mouse middle-button-enabled true
With some luck it is persistent. Else try to create a start script.