Add a horizontal scroll action option for mouse wheel.

Resolves #732
This commit is contained in:
wolfbeast 2018-08-25 19:56:18 +02:00 committed by Roy Tam
commit 4932cf3ea0
3 changed files with 10 additions and 3 deletions

View file

@ -543,9 +543,10 @@ pref("browser.gesture.tap", "cmd_fullZoomReset");
pref("browser.snapshots.limit", 0);
// 0: Nothing happens
// 1: Scrolling contents
// 1: Scroll contents
// 2: Go back or go forward, in your history
// 3: Zoom in or out.
// 3: Zoom in or out
// 4: Scroll contents with X and Y swapped
#ifdef XP_MACOSX
// On OS X, if the wheel has one axis only, shift+wheel comes through as a
// horizontal scroll event. Thus, we can't assign anything other than normal

View file

@ -3240,6 +3240,11 @@ EventStateManager::PostHandleEvent(nsPresContext* aPresContext,
action = WheelPrefs::GetInstance()->ComputeActionFor(wheelEvent);
}
switch (action) {
case WheelPrefs::ACTION_HSCROLL: {
// Swap axes and fall through
double deltaX = wheelEvent->mDeltaX;
wheelEvent->mDeltaX = wheelEvent->mDeltaY;
wheelEvent->mDeltaY = deltaX;
case WheelPrefs::ACTION_SCROLL: {
// For scrolling of default action, we should honor the mouse wheel
// transaction.

View file

@ -513,7 +513,8 @@ protected:
ACTION_SCROLL,
ACTION_HISTORY,
ACTION_ZOOM,
ACTION_LAST = ACTION_ZOOM,
ACTION_HSCROLL,
ACTION_LAST = ACTION_HSCROLL,
// Following actions are used only by internal processing. So, cannot
// specified by prefs.
ACTION_SEND_TO_PLUGIN