GNOME Bugzilla – Bug 678354
Don't always set middle mouse button emulation
Last modified: 2015-11-04 14:04:39 UTC
In bug #633863, a config switch was added to provide control of evdev's 3rd mouse button emulation when that got disabled by default in evdev, on the basis that practically all evdev users have 3 mouse buttons. Laptops with touchpads are obviously excluded from this statement, and http://who-t.blogspot.com/2010/06/new-evdev-middle-mouse-button-emulation.html says that touchpads are driven by synaptics driver so should be unaffected. Thats not true for several classes of touchpads, including: AVC (synaptic) touchpads, synaptics touchpads running in relative mode (for power-saving reasons), OLPCs old HGPK tablet. All of these are typically driven by evdev. Even with those exceptions in mind, the change of defaults probably makes sense. But what doesn't make complete sense is that GNOME is now forcefully programming the gsettings configuration (defaulting to false), even when no gsettings change has been made by the user. If a user is running multiple desktop environments in this case, the obvious thing to do is to enable 3rd button emulation in the systemwide X config. But now gnome-settings-daemon is effectively ignoring this by programming the default 'false' during startup. Only a minor issue, since having to program the same configuration in 2 places (X config for non-GNOME desktops, gsettings for GNOME) is not the end of the world. But we'd be interested in something cleaner.
(In reply to comment #0) <snip> > Only a minor issue, since having to program the same configuration in 2 places > (X config for non-GNOME desktops, gsettings for GNOME) is not the end of the > world. But we'd be interested in something cleaner. I'm not interested in wondering what the X configuration might be when I receive bug reports. If you don't want the device touched by GNOME, you can use the script support there: http://git.gnome.org/browse/gnome-settings-daemon/tree/plugins/common/input-device-example.sh The correct fix looks likely to involve only calling set_middle_button() on GDK_SOURCE_TOUCHPAD devices. Patch welcome.
This setting was deprecated when we started moving settings to mutter, and using libinput. As we're going to gut out that plugin, and remove support for non-libinput based configurations (the only case where it's used), I don't think we should spend time fixing this. See bug 747513 for the legacy driver support removal in X11. Please open a bug against mutter if it's still a problem.