![]() If you could do this, then we would have full control over pointer acceleration from a single CLI command. However, it seems there is a whitelist of properties that are allowed to be set, and HIDPointerAccelerationTable is not one of them. ![]() You can see here where IOHIDPointerScrollFilter will run its acceleration setup on response to a property change. However, it will not report when it fails to set a property, and these settings don't seem to update the System Preferences UI. This is how you would disable acceleration. Normally, you can set properties for HID devices like so (this is matching my IntelliMouse): hidutil property -matching '' IntelliMouse used to use IOHIPointing but this is now deprecated. The IntelliMouse curve was defined in the ist as a simple binary protocol under the key HIDPointerAccelerationTable. The parametric way seems like an improvement on the table, allowing for a smoother acceleration curve, rather than defining a jagged curve based on a few xy coords. The algorithm can be created with an IOHIDTableAcceleration (which is how IntelliPoint encoded their accel curve), or with IOHIDParametricAcceleration. WindowServer: (IOKit) Add filter:IOHIDServiceFilter uuid:25268D26-BB27-4522-AEBC-02B6A6B920AC name.IOHIDPointerScrollFilter for service:0x1000df3e6Īn IOHIDPointerAccelerator is created which takes an algorithm as input. $ sudo log stream -level debug -predicate 'subsystem = ""' The instantiation point of this "filter" is not open-source AFAICT. It is implemented as a CFPlugin, and roughly implements the IOHIDServiceFilter.h interface. MacOS pointer acceleration is performed here in IOHIDPointerScrollFilter.cpp. I am in the process of writing a DriverKit driver for the mouse. The driver is only compiled for Intel so doesn't work on new MacBooks. I have become accustomed to the Microsoft IntelliMouse acceleration curve. and here's the programmatical variant, as I'll be trying to roll my own solution: Disabling mouse acceleration in Mac OS X SO Before 10.4, there was a function to which you could pass your own acceleration curve which solved everything.īy the way, here is the Linux counterpart to this question: Disabling mouse acceleration in X.Org (Linux) About every code snippet I found via Google.įrom what I've gathered so far, the only method to kill the acceleration curve seems to be to set the mouse scaling to a negative value (for which there are apparently two methods.) Unfortunately, this also kills the tracking speed.Answers on this question: Make Mac OS X mouse acceleration more Windows-like.Mouse Acceleration Preferences Pane, the Snow Leopard version of which can get me close to a linear response, but at the cost of tracking speed (sensitivity).I'm not looking for any commercial solutions. I'm running Mac OS X 10.6.5 on a MacBook Pro. I've been at this for a long time, I'll probably have already tried the most popular answers. I like my touchpad acceleration and would like to keep it if possible. So far, I haven't found a way to get linear mouse response in Mac OS X.Īt this point I'm seriously considering installing another operating system.īut before I do that, or go hacking around OS binaries, maybe someone here has a solution? I've tried a gazillion programs and fiddled with every setting there is or there can be added. I've tried getting used to it, but I'm reminded how off it feels when I boot into OS X and it doesn't feel off at all.I've been looking for a solution to the unusable mouse problem in Mac OS X for ages. As much as I try, I can't keep the mouse acceleration in linux from feeling unnatural or stilted to me. Something like ControllerMate's (on Mac OS) capacity for setting mouse acceleration curves seems like it would be an easy way of solving this problem, but ControllerMate is Mac OS only and I don't know of a tool for Linux that offers the same functionality.Īs unpopular as the opinion is, I like mouse acceleration, and I think the curves used by default in Mac OS feel the most comfortable. (There is libinput Accel Speed, but that seems to control speed rather than acceleration) I can't see any properties configurable via xinput provided by libinput for configuring acceleration. The closest I've gotten is switching to the "adaptive" profile, switching from Wayland to Xorg, using xset m 7/2 1, ( xset m maxes out at an acceleration argument of 3.5) and setting my mouse to a low DPI setting and the speed to a high setting, but this arrangement feels fragile and overly hacky for what feels like should be a technically simple task, and the acceleration still doesn't feel quite right. I only seem to have the option of choose between "flat" and "adaptive" mouse acceleration profiles.
0 Comments
Leave a Reply. |