在Mac OS X中禁用鼠标加速

首先,这是userland问题: 在Mac OS X @超级用户禁用鼠标加速

总结一下:我想在Mac OS X上有线性鼠标响应 。也就是说,没有加速; 一个可调不变的 pixels pointer moves / meters mouse moved比例。

我不知道如何去做这件事。 (好吧,不是的,但是从头开始更好。)我应该写一个鼠标驱动程序吗? 一个启动程序? 点击即忘的设置调整器? 偏好窗格?

我希望我的解决scheme尽可能简单,普遍和不侵犯,所以一些标准可能是:

  • 适用于Snow Leopard(10.6.5)及更高版本 – 很久以后,除非API的一个重要部分被弃用
  • 适用于老鼠,但不是触摸板,平板电脑,魔杖……(或者可configuration?)
  • 可以很容易地被其他想要同样的事情的人应用/运行(我们这个星球上的所有42个人)

我是一个相当有经验的C程序员,无论是在用户还是在内核空间(在Linux和Windows中),但对Mac OS X或Darwin几乎一无所知。 所以任何东西都会被赞赏,真的(“不能没有苹果证书就不能分发驱动程序”),但是一些文档/参考文件会让我有很长的路要走(“达尔文的下一代鼠标曲线编辑API和示例”)。

我知道这个问题有点开放,但我甚至不知道什么的解决scheme可以工作。 提前致谢。

编辑:尽pipe我已经提出了两个问题来解决同样的问题,但这是另一个问题的程序对应问题。 (见这个问题的第一句话。)在这里,我试图创build我自己的解决scheme,可以这么说,使用 – 我不知道 – 一些HID API? 一个司机? “打开当前用户的首选项文件并将此设置更改为此”的解决scheme应该在另一个问题上发布,但请注意,这样的解决scheme可能不存在。

这个答案在错误的网站上!

我在StackOverflow上的很多声望都来自于投票答复的人,在我意识到有几个堆栈交换网站之前,我回写了这个答案,而StackOverflow仅用于编程问题和答案。 因此,上面的问题是关于如何解决这个问题,如果你想编写自己的鼠标驱动程序。 对于所有其他讨论,请在它所属的超级用户网站上进行。

原来的答案如下。


说明

有一个隐藏的偏好,你可以从terminal改变。 读取其当前值types

 defaults read .GlobalPreferences com.apple.mouse.scaling 

在terminal提示符下。 正常值为0〜3,可通过移动“系统偏好设置”的“鼠标”面板中的“跟踪速度”滑块来设置。 因此,0〜3的值不会禁用加速度。

如何禁用加速

但是,如果通过键入将其设置为-1

 defaults write .GlobalPreferences com.apple.mouse.scaling -1 

在terminal,这似乎禁用加速度,并将鼠标的跟踪速度设置为一些恒定的预定义值,你不能改变。

我发现我必须注销并重新login才能生效。 之后, pixels pointer moves / meters mouse moved比例是恒定的,但不幸的是不能调整

如何撤消更改

要恢复到Apple默认设置,只需打开“系统偏好设置”的“鼠标”面板,然后将“追踪速度”更改为任何内容,然后退出“系统偏好设置”。

鼠标≠触控板

Mac OS X独立存储鼠标和触控板设置。 如果您想要在触控板而不是鼠标上禁用加速,则说明相同,只需在com.apple.trackpad.scalingreplace为上面的com.apple.mouse.scaling (并使用“触控板”面板系统首选项,而不是鼠标窗格,显然)。

笔记

我不会引用来源,因为这个提示在networking上的很多地方都可以使用。 我在OS 10.7 Lion中尝试过,但许多消息来源声称使用10.6 Snow Leopard。