Bug 628528 - Release note needed: Middle mouse button emulation now disabled by default for evdev devices
Summary: Release note needed: Middle mouse button emulation now disabled by default fo...
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Fedora Documentation
Classification: Fedora
Component: release-notes
Version: devel
Hardware: All
OS: Linux
low
medium
Target Milestone: ---
Assignee: eric
QA Contact: Karsten Wade
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2010-08-30 10:13 UTC by Nils Philippsen
Modified: 2018-04-11 07:47 UTC (History)
9 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2010-11-09 14:42:04 UTC
Embargoed:


Attachments (Terms of Use)
Bzipped Xorg.0.log (23.75 KB, application/x-bzip2)
2010-08-30 10:13 UTC, Nils Philippsen
no flags Details
Xorg.0.log (569.56 KB, text/plain)
2010-09-29 20:43 UTC, Matěj Cepl
no flags Details
Middle mouse button text (830 bytes, text/plain)
2010-10-10 16:16 UTC, eric
eric: review?
Details


Links
System ID Private Priority Status Summary Last Updated
FreeDesktop.org 26630 0 None None None Never

Description Nils Philippsen 2010-08-30 10:13:40 UTC
Created attachment 441925 [details]
Bzipped Xorg.0.log

Description of problem:
Since upgrading to F-14 Alpha (from F-13), I can't fake the middle button anymore by pressing both left and right buttons on my Dell Latitude D830 laptop (same issue for the buttons of both the "joystick" and the touchpad). This makes e.g. copying/pasting really cumbersome if the laptop isn't docked (i.e. has a mouse with an actual middle button attached).

Not sure whether this should rather be filed against -evdev or -synaptics.

Version-Release number of selected component (if applicable):
xorg-x11-drv-mouse-1.5.0-5.fc14.x86_64
xorg-x11-drv-evdev-2.5.0-1.fc14.x86_64
xorg-x11-drv-synaptics-1.2.99.1-4.20100819.fc14.x86_64

How reproducible:
Reproducible.

Steps to Reproduce:
1. select some text with the left button
2. try to paste with the fake middle button, i.e. pressing left and right button at the same time
  
Actual results:
Selection gets changed or the context menu pops up (depending on which button, left or right, was actually pressed first).

Expected results:
Paste.

Comment 1 Nils Philippsen 2010-08-31 12:17:21 UTC
Adding this to F14Blocker as this is a fairly visible, really annoying regression for users coming from <= F-13.

Comment 2 Nils Philippsen 2010-09-09 19:19:51 UTC
I think that this is related to, or the same as the upstream bug ticket at: https://bugs.freedesktop.org/show_bug.cgi?id=26630

Comment 3 Adam Williamson 2010-09-28 01:51:16 UTC
I don't see this on a Sony Vaio Z; it works fine and has done the whole time I've been running F14 on the system. Seems this must be somehow system-specific.



-- 
Fedora Bugzappers volunteer triage team
https://fedoraproject.org/wiki/BugZappers

Comment 4 Matěj Cepl 2010-09-29 20:25:21 UTC
It certainly is hardware-dependent, I cannot reproduce it on T400 either.

Comment 6 Matěj Cepl 2010-09-29 20:43:34 UTC
Created attachment 450581 [details]
Xorg.0.log

Comment 7 Adam Williamson 2010-10-01 20:43:38 UTC
This was discussed at the 2010-10-01 blocker review meeting. We need more information to be sure about its blocker status. Peter, how many systems do you think this is likely to hit?

We definitely accept this as nice-to-have, may accept it as blocker depending on the answer to the above question.

Comment 8 Peter Hutterer 2010-10-05 00:57:12 UTC
http://who-t.blogspot.com/2010/06/new-evdev-middle-mouse-button-emulation.html is the explanation for why we changed it. We don't have a reliable detection for which device only have two buttons so auto-configuration is tricky.

I recommend that users who require this feature just add this snipped as /etc/X11/xorg.conf.d/99-middle-button.conf

Section "InputClass"
    Identifier "middle button emulation class"
    MatchIsPointer "on"
    Option "Emulate3Buttons" "on"
EndSection

Comment 9 Matěj Cepl 2010-10-05 06:22:53 UTC
Adam, how to add comment 8 to Release Notes?

Comment 10 Nils Philippsen 2010-10-05 09:06:44 UTC
(In reply to comment #8)
> http://who-t.blogspot.com/2010/06/new-evdev-middle-mouse-button-emulation.html
> is the explanation for why we changed it. We don't have a reliable detection
> for which device only have two buttons so auto-configuration is tricky.
> 
> I recommend that users who require this feature just add this snipped as
> /etc/X11/xorg.conf.d/99-middle-button.conf
> 
> Section "InputClass"
>     Identifier "middle button emulation class"
>     MatchIsPointer "on"
>     Option "Emulate3Buttons" "on"
> EndSection

I'd argue that changing the default was, while not wrong per se, harmful to most laptop users which don't use external mice (unless they have a Lenovo/IBM one which have true middle buttons) -- the middle button is used for more than traditional X11 copy/paste.

A not 100% (but 99%?) reliable heuristic could be: If the pointer is a touchpad, enable emulate3buttons unless the machine is a Thinkpad/other machine known to have a 3 button-touchpad. So only touchpads that have 3 buttons which we don't know would be affected by "lack of snappiness". Yes, maintaining lists of exceptions like this one isn't fun, but I don't think the alternative of requiring desktop environments to add yet another configuration option is much better.

Comment 11 Adam Williamson 2010-10-05 17:26:33 UTC
mcepl: any reason to keep this private?

Add it to a Release Notes beat: http://fedoraproject.org/wiki/Category:Documentation_beats

then poke the docs team, as it may be past freeze point so they may need some kind of exception to add it.

Comment 12 Adam Williamson 2010-10-05 18:33:03 UTC
nils: see my similar comment on the blog post Peter linked to. most laptops don't actually use the evdev driver. They use synaptics. So they're not affected by this. This will only be a problem in the case of devices which only have two buttons which use evdev rather than synaptics, which is pretty unusual.

Comment 13 Matěj Cepl 2010-10-05 18:34:09 UTC
Giving up on private comments ... just wanted not to make off-topic discussion
in this bug.

Comment 14 Peter Hutterer 2010-10-06 00:06:51 UTC
(In reply to comment #10)
> I'd argue that changing the default was, while not wrong per se, harmful to
> most laptop users which don't use external mice (unless they have a Lenovo/IBM
> one which have true middle buttons) -- the middle button is used for more than
> traditional X11 copy/paste.
> 
> A not 100% (but 99%?) reliable heuristic could be: If the pointer is a
> touchpad, enable emulate3buttons unless the machine is a Thinkpad/other machine
> known to have a 3 button-touchpad. 

touchpads that we identify as touchpads are added with the synaptics driver, unless the user explicitly changed this in their local configuration. In which case it's quite easy to add another line to that configuration.

> So only touchpads that have 3 buttons which
> we don't know would be affected by "lack of snappiness". Yes, maintaining lists
> of exceptions like this one isn't fun, 

worse. it's time consuming and likely wrong, since some users may not want this setting, others do and the resulting UI experience is inconsistent.

> but I don't think the alternative of
> requiring desktop environments to add yet another configuration option is much
> better.

it allows a user do define their own preference for a device that they own. Much better than magic lists that are likely to be out of date at any given point.

Comment 15 Nils Philippsen 2010-10-06 11:47:14 UTC
(In reply to comment #14)
> touchpads that we identify as touchpads are added with the synaptics driver,
> unless the user explicitly changed this in their local configuration. In which
> case it's quite easy to add another line to that configuration.

Ahh, this got me thinking since I saw mention of Synaptics in my logs: It seems that the touchpad buttons (those below the pad) are really serviced by the Synaptics driver (and emulate 3 buttons well), while the buttons above probably belong to rubber-gum joystick thingy which gets handled by evdev. Should evdev handle devices of this type? If yes, desktop environments probably should offer a way to to specify I want middle button emulation for specific devices, which then would do something like this to set it:

xinput set-int-prop "DualPoint Stick" "Evdev Middle Button Emulation" 8 1

NB: Regardless of whether emulation was turned on or not, right-clicking to get a context menu on the terminal felt equally snappy to me.

Comment 16 Peter Hutterer 2010-10-06 22:45:10 UTC
(In reply to comment #15)
> (In reply to comment #14)
> > touchpads that we identify as touchpads are added with the synaptics driver,
> > unless the user explicitly changed this in their local configuration. In which
> > case it's quite easy to add another line to that configuration.
> 
> Ahh, this got me thinking since I saw mention of Synaptics in my logs: It seems
> that the touchpad buttons (those below the pad) are really serviced by the
> Synaptics driver (and emulate 3 buttons well), while the buttons above probably
> belong to rubber-gum joystick thingy which gets handled by evdev. 

yep, the trackstick and its buttons appears as a separate device (see xinput --list).

> Should evdev handle devices of this type? 

well, it's a mouse, we don't know that it's a trackstick except for name parsing which isn't overly reliable.

> If yes, desktop environments probably should offer
> a way to to specify I want middle button emulation for specific devices, which
> then would do something like this to set it:
> 
> xinput set-int-prop "DualPoint Stick" "Evdev Middle Button Emulation" 8 1

btw, xinput supports set-prop now which picks the type and format automatically.

Comment 17 Peter Hutterer 2010-10-06 23:13:09 UTC
Comment regarding blocker status:
I don't think this bug is a blocker though it does change the user experience from previous versions. Upstream ships with a different default and that affects some devices, the ones most visibly affected are laptops with extra buttons (e.g. Lenovo trackstick devices). It does not affect touchpads, at least not in the default configuration.

It's relatively simple to add this feature to a xorg.conf.d snippet for those that require it until we have a desktop config tool that enables it.

Comment 18 Gregory Maxwell 2010-10-07 12:26:34 UTC
"A not 100% (but 99%?) reliable heuristic could be: If the pointer is a"

Here is a 100% reliable heuristic: Make the three button code emulate three buttons until it sees a middle button event.

Comment 19 Peter Hutterer 2010-10-07 22:23:02 UTC
you realise this was the old default, and we changed it for the reasons outlined in the blog post linked above?

Comment 20 Adam Williamson 2010-10-08 17:01:11 UTC
Docs team - we need to add an F14 release note for this issue, see posts from Peter Hutterer. Middle mouse button emulation is now disabled by default in the evdev driver (but not synaptics, which handles touchpads). This will only noticeably affect evdev-handled devices with only two buttons, which are pretty rare.

Comment 21 eric 2010-10-08 17:48:21 UTC
Can someone write up exactly what needs to be added to the Release Notes?  I'll try to get it committed today.

Comment 22 Matěj Cepl 2010-10-08 18:16:15 UTC
(In reply to comment #21)
> Can someone write up exactly what needs to be added to the Release Notes?  I'll
> try to get it committed today.

Use comment 8 ... of course some linguistic edits are more than welcome.

Comment 23 eric 2010-10-10 16:16:59 UTC
Created attachment 452597 [details]
Middle mouse button text

This is the text I wrote up for the middle mouse button problem.  Please let me know of any changes that need to be made.

Comment 24 Adam Williamson 2010-10-10 18:18:01 UTC
"This change has disabled the middle mouse button."

That's misleading: it sounds like real physical middle buttons won't work, which is not the case. Recommend:

"This change has disabled emulation of the middle mouse button by clicking the left and right mouse buttons."

Comment 25 eric 2010-10-10 22:33:51 UTC
(In reply to comment #24)
> "This change has disabled emulation of the middle mouse button by clicking the
> left and right mouse buttons."

I updated the text as you have it written.  Thanks for the input!

Comment 26 Nils Philippsen 2010-10-11 08:48:37 UTC
Eric, maybe add a comment about who is most likely to affected by this?

I'm not sure how many laptops have this rubber knob/"stick" pointer device additional to their touchpads, but most of these would be affected (one exception I know of: most (all?) Thinkpad/Lenovo laptops which have a real third button). Perhaps along the lines of "If you have a <knob/stick/whatever this is called> pointer device with only two buttons, ..."?

Comment 27 Orion Poplawski 2010-10-13 04:10:11 UTC
I have a MSI netbook with a:

FSPPS/2 Sentelic FingerSensingPad: Applying InputClass "evdev pointer catchall"

that seems to fall into this category - two buttons with no middle button emulation.

Comment 28 John J. McDonough 2010-10-21 12:55:07 UTC
The release notes includes prose to this effect, but it implies that this problem occurs in all two-button cases.  Some of this discussion implies that it is only the case in SOME two-button cases.

Should we add some zero-day prose describing when this is likely to be encountered?  In what cases?


Note You need to log in before you can comment on or make changes to this bug.