Comment 120 for bug 1228250

Revision history for this message
In , Masayuki (masayuki) wrote :

(In reply to Olli Pettay [:smaug] from comment #113)
> (In reply to Masayuki Nakano [:masayuki] (JST, +0900) from comment #112)
> > Anyway, I don't think that we should use this feature when the user's device
> > is obviously non-legacy pointing device, i.e., it supports diagonal scroll.
> > What do you think?
> But this is enabled on touchpads too, if the pref is set. Could we somehow
> enable it on mouse input only, and not touchpad?

Unfortunately, on any platforms, we cannot check if mouse scroll event came from what kind of device.

There are some options:

1. Take current approach -- treat "pure" vertical wheel operation as horizontal scroll and
  1-1. Handle deltaX as is (current approach).
  1-2. Handle deltaX as vertical scroll (I don't like this and incompatible with Chrome).
  1-3. Ignore deltaX, so, if only deltaX is non-zero, does nothing.
2. Treat any vertical wheel operation as horizontal scroll (even if it's diagonal operation) and/but
  2-1. Handle deltaX as vertical scroll (same as 1-2).
  2-2. Ignore deltaX (same as 1-3).

If user operates wheel diagonally but native events come separately, it might be the best to ignore deltaX. E.g., we can avoid performing 2 default actions (e.g., both horizontal scroll and navigating history), but this means that the default action will always be ignored if it matches with new pref's modifier.