top of page
Writer's pictureneounadecontweb

Use Mouse Trackpad For Mac On Firefox: Everything You Need to Know



Firefox team, please allow mac users to pinch-zoom as and when we like on our browser pages. It is unresponsive to tell us to use "zoom" functions which defeats the whole purpose of our trackpad... :(




Use Mouse Trackpad For Mac On Firefox



I'm randomly losing the ability to scroll using the mouse. I launch Firefox and it works fine, then after a varying amount of time it stops and the only way it comes back is by restarting Firefox. Today it isn't taking long for it to happen after launching.


I'm using the latest version of Firefox (31.0) on Windows 8.1 Pro. I wanted to imitate OS X way of scrolling in the browser window called "natural" scrolling. I edited the registry setting for my logitech mouse and the scrolling works perfectly the way I wanted in every single window on my system with only one exception, Firefox browser. Somehow Firefox is set to use old way of scrolling and doesn't respect the windows registry settings, like every other window.Is there a way to change or reverse scrolling direction?


hello roman, try this: enter about:config into the firefox address bar (confirm the info message in case it shows up) & search for the preference named mousewheel.default.delta_multiplier_y. double-click it and change its value to -100.


Today, most Web content is designed for keyboard and mouse input. However, devices with touch screens (especially portable devices) are mainstream and Web applications can either directly process touch-based input by using Touch Events or the application can use interpreted mouse events for the application input. A disadvantage to using mouse events is that they do not support concurrent user input, whereas touch events support multiple simultaneous inputs (possibly at different locations on the touch surface), thus enhancing user experiences.


The Touch interface represents a single contact point on a touch-sensitive device. The contact point is typically referred to as a touch point or just a touch. A touch is usually generated by a finger or stylus on a touchscreen, pen or trackpad. A touch point's properties include a unique identifier, the touch point's target element as well as the X and Y coordinates of the touch point's position relative to the viewport, page, and screen.


Browsers typically dispatch emulated mouse and click events when there is only a single active touch point. Multi-touch interactions involving two or more active touch points will usually only generate touch events. To prevent the emulated mouse events from being sent, use the preventDefault() method in the touch event handlers. For more information about the interaction between mouse and touch events, see Supporting both TouchEvent and MouseEvent.


The introduction of new input mechanisms results in increased application complexity to handle various input events, such as key events, mouse events, pen/stylus events, and touch events. To help address this problem, the Pointer Events standard defines events and related interfaces for handling hardware agnostic pointer input from devices including a mouse, pen, touchscreen, etc.. That is, the abstract pointer creates a unified input model that can represent a contact point for a finger, pen/stylus or mouse. See the Pointer Events MDN article.


The pointer event model can simplify an application's input processing since a pointer represents input from any input device. Additionally, the pointer event types are very similar to mouse event types (for example, pointerdown and pointerup) thus code to handle pointer events closely matches mouse handling code.


function handler(e) var isTouchPad = e.wheelDeltaY ? e.wheelDeltaY === -3 * e.deltaY : e.deltaMode === 0 // your code document.body.textContent = isTouchPad ? "isTouchPad" : "isMouse"document.addEventListener("mousewheel", handler, false);document.addEventListener("DOMMouseScroll", handler, false);


It may need some optimization and is maybe less than perfect, but it works! At least it can detect a macbook trackpad. But due to the design i'd say it should work anywhere where the pad introduces a lot of event calls.


This works because wheelDeltaY measures the physical distance that the actual hardware mouse wheel has travelled, while deltaY measures the amount of scrolling produced on screen. A conventional mouse typically has a much lower "scroll resolution" than a trackpad. That is to say, with a trackpad you can make a tiny motion and a get a tiny scroll on screen. A conventional mouse scrolls in chunkier, low resolution clicks. To complete a full rotation of the mouse wheel, it might make 10 clicks. There is no such thing as a half click or quarter click.


For a conventional mouse, a single wheel click is reported as 120 wheelDeltaY "units" and results in about 100px worth of scrolling. The physical wheelDeltaY unit is a completely arbitrary number, it is not measuring inches or degrees or anything like that. The number 120 was selected simply because it has a lot of useful factors. The amount of scrolling on screen is represented by deltaY, and it varies significantly by browser. (Sidenote, deltaY is generally measured in "lines" not pixels, though it's complicated, see previous link).


Interacting with a trackpad is different in two ways. First of all, you can get wheelDeltaY values much smaller than 120, because very subtle finger gestures are detectable. Second, the wheelDeltaY is exactly 3x the deltaY value (at least in every browser I've managed to test). So, for instance, if you make a physical finger gesture equal to 12 click units, it will generally result in 4 pixels worth of scrolling. Lauri's code uses this second property (Y1 = Y2 * 3) to detect the existence of a trackpad, but you could probably also be successful simply by checking if abs(wheelDeltaY) equals 120


You might be able to discern patterns in how (or how often) a touchpad user moves the cursor versus how a mouse user might move the cursor. Differentiating between physical input devices in this way is an absurdly difficult prospect, and may be wholly impossible, so I include here it for completeness only.


On both the PC and Mac, selecting links in conjunction with a specific key or keys on your keyboard force the browser to open the link in a new tab. That works on any browser, be it Google Chrome, Mozilla Firefox, Safari, Microsoft Edge, or Opera. Alternatively, you can use your mouse or trackpad alone to load links in new browser tabs.


If you use a mouse, simply utilizing the middle mouse button to click on a link will immediately open it in a new browser tab! Holding down the Shift key while middle-clicking also helps you switch to the tab automatically.


Trackpads on Windows laptops can also open links in new tabs. To do that, you must emulate a middle-click by clicking or tapping with three fingers. You can configure the middle mouse click by heading over to Settings > Devices > Touchpad.


Is there a shortcut or a setting in about:config that allows me to use the pinch zoom feature with mouse and keyboard only? I dont' have a touch pad but like the pinch zoom much more than the classic "CSS zoom".I know I could use something like the Windows Magnifyer, but those tools rasterize the image...


Some Mac users may encounter a weird issue where they attempt to single click their mouse or trackpad but a double-click is registered instead of the intended single click. This is obviously frustrating since a double-click in the wrong place can perform actions you may not want to perform, like full screening a window or opening an app, folder, or document, or even something more annoying. 2ff7e9595c


0 views0 comments

Recent Posts

See All

留言


bottom of page