Ubuntu – How to get smooth scrolling movement with magic mouse


I have a new Ubuntu-Mate and I'm taking advantage of the Apple Magic mouse and keyboard.

The Magic mouse, in the OSX has a smooth scroll… like a roll, there is a scrolling control depending on the strength of the finger movement.

I would like to have this behaivour in Ubuntu, but I can't get information about this ( I've found information about change direction but not about "rolling movement")

The aplication "naturalscrolling" seems than doesn't exist anymore.

How can I achieve this?


Best Answer

While I have not played around with Ubuntu-Mate, I assume that it has similar install options available as regular Ubuntu.

The current hid_magicmouse module included in the Kernel for Ubuntu 16.0.4 has crappy initial settings and does not have the inertia capability similar to MacOS (ie the screen keeps scrolling after you let go); however, it does have the option of changing the settings to customize and improve the scrolling experience.

Here is a brief description of each of the settings:

  • emulate_3button = enables the third button when your finger presses the middle. I find this finicky, so I disable it. In MacOS only the left/right buttons are used. (boolean)
  • emulate_scroll_wheel = the module interprets horizontal and vertical swipes as wheel ticks. The vertical function works fine by emulating both press and release for each tick, but the horizontal one only emulates presses and not releases which causes problems in the back and forth swipes in Chrome, so I disable it in the driver (see more in the driver section). (boolean)
  • report_undeciphered = no need to turn it on. (boolean)
  • scroll_acceleration = the faster you move your finger, the more ticks per distance it generates. (boolean)
  • scroll_speed = this tells it how many ticks to generate when you swipe your finger a given distance; I like it to be sensitive, so I set it to 55. (0 - 63)

To update the settings, the easiest way is to unload the module and reload it with the new settings. You can do this at the terminal prompt as follows:

$ sudo rmmod hid_magicmouse
$ sudo modprobe hid_magicmouse emulate_3button=0 scroll_acceleration=1 scroll_speed=55

Refer to this blog for additional details and how to make the settings permanent and how to change the driver to implement Natural scrolling (This blog is where the information above came from).