0

I've got a very serious problem with the middle mouse button behavior since upgrading from Xubuntu 16.10 to 17.04 which is seriously interfering with my daily operations and hope someone can point me to a solution.

Ever since the upgrade I've lost my old control of the use of the middle button. I used to be able to use it for gesture commands in my CAD program running under Windows-10 in a QEMU/KVM window as well as in the Firefox browser using the All-in-One Gestures Add-on. Everything worked fine for years until 17.04 where the middle mouse press/hold is being preempted as a pseudo-scroll function. As it affects everything from the browser to KVM, I'm pretty sure this is something new in either the kernel drivers or xfce4.

I have a standard 3-button Sun USB mouse with no scroll-wheel on a desktop system with no touchpad. I desperately need to get back my old behavior, but I don't know what has changed and I cannot find any documentation for this or any controls in the Settings menus for this sort of mouse behavior.

I have no idea if this is relevant, but the following packages are installed by default on this system:

  • xserver-xorg-input-all
  • xserver-xorg-input-libinput
  • xserver-xorg-input-evdev
  • xserver-xorg-input-wacom
  • xserver-xorg-input-synaptics
  • mousetweaks
  • libgpm2
  • libgpm2:i386

Thanks for any help you can offer. If you know a better place to post for an issue like this, please let me know.

2 Answers2

0

With Ubuntu 17 (17.10, 17.04) and in XFCE the middle mouse button copy paste did not work at all. Try the following for all X-server based systems. Wayland unfortunately brings the same problems but I'm not aware of any solution.

SOLUTION:

To enable the middle mouse button paste function edit the xinput.

a) Query your device:

xinput list

Identify your mouse. With me it was device number 10.

b) xinput list-props 10

Gives me the settings for the mouse.

c) I need to change the value for "libinput Middle Emulation Enabled (294):" and I need to do it as root:

sudo xinput set-prop 10 "libinput Middle Emulation Enabled" 1

d) Check if the value changed to 1:

xinput list-props 10

Yes, it works: "libinput Middle Emulation Enabled (294): 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.

What is behind it: https://wiki.ubuntu.com/X/Config/Input

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 (https://unix.stackexchange.com/users/885/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):

2) 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`

1) 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.

Hope it helps.

FF!

Addendum:

With Ubuntu 17 and in XFCE the middle mouse button copy paste did not work at all.

SOLUTION:

To enable the middle mouse button paste function edit the xinput. a) Query your device: xinput list Identify your mouse. With me it was device number 10. b) xinput list-props 10 Gives me the settings for the mouse. c) I need to change the value for "libinput Middle Emulation Enabled (294):" and I need to do it as root: sudo xinput set-prop 10 "libinput Middle Emulation Enabled" 1 d) Check if the value changed to 1: xinput list-props 10 Yes, it works: "libinput Middle Emulation Enabled (294): 1"

What is behind it: https://wiki.ubuntu.com/X/Config/Input

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 (https://unix.stackexchange.com/users/885/gilles) who found the solution!!!

0

Many thanks for the answer posted. Although it didn't address my specific problem, it pointed me very close to the solution and I was able to see what needed to be done. Apparently the problem being addressed in the response was a case where the middle mouse button was failing to paste the contents from the selection buffer, and that was fixed by that solution. In my case, it was scrolling that needed to be disabled. Here were the steps I took:

1: Run the command:

# xinput list

⎡ Virtual core pointer                          id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ HID 0430:0100                             id=9    [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)]
    ↳ Power Button                              id=7    [slave  keyboard (3)]
    ↳ Device 2Port KVMSwitcher                  id=8    [slave  keyboard (3)]
    ↳ HID 0430:0005                             id=10   [slave  keyboard (3)]

This identified the mouse as device id 9.

2: Run the command:

# xinput list-props 9

Device 'HID 0430:0100':
    Device Enabled (153):   1
    Coordinate Transformation Matrix (155): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
    libinput Accel Speed (287): 0.000000
    libinput Accel Speed Default (288): 0.000000
    libinput Accel Profiles Available (289):    1, 1
    libinput Accel Profile Enabled (290):   1, 0
    libinput Accel Profile Enabled Default (291):   1, 0
    libinput Natural Scrolling Enabled (292):   0
    libinput Natural Scrolling Enabled Default (293):   0
    libinput Send Events Modes Available (272): 1, 0
    libinput Send Events Mode Enabled (273):    0, 0
    libinput Send Events Mode Enabled Default (274):    0, 0
    libinput Left Handed Enabled (294): 0
    libinput Left Handed Enabled Default (295): 0
    libinput Scroll Methods Available (296):    0, 0, 1
    libinput Scroll Method Enabled (297):   0, 0, 1
    libinput Scroll Method Enabled Default (298):   0, 0, 1
    libinput Button Scrolling Button (299): 0
    libinput Button Scrolling Button Default (300): 2
    libinput Middle Emulation Enabled (301):    0
    libinput Middle Emulation Enabled Default (302):    0
    Device Node (275):  "/dev/input/event2"
    Device Product ID (276):    1072, 256
    libinput Drag Lock Buttons (303):   <no items>
    libinput Horizontal Scroll Enabled (304):   1

The line that indicated that scrolling was active for the middle mouse button was:

libinput Button Scrolling Button (299): 2

3: As root, run the command:

xinput set-prop 9 "libinput Button Scrolling Button" 0

This sets the scrolling to the non-existent button #0.

4: Now rerun the second command to verify the change:

libinput Button Scrolling Button (299): 0

Yep, it took. Now, when I swipe the mouse, I have my old middle mouse button behavior back.

5: Add the command in step #3 to the ~/.xstartup file so that it is executed every time the window manager starts.