59

首先,这是用户态问题:在 Mac OS X @ superuser 中禁用鼠标加速

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

我不知道该怎么做。(嗯,不正确,但最好从头开始。)我应该编写鼠标驱动程序吗?启动程序?即点即忘的设置调整器?首选项窗格?

我希望我的解决方案尽可能简单、通用和无干扰,所以一些标准可能是:

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

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

我知道这个问题有点开放,但我什至不知道什么的解决方案可以奏效。提前致谢。

编辑:虽然我已经问了两个问题来解决同一个问题,但这是另一个问题的编程对应物。(请参阅这个问题的第一句话。)在这里,我正在尝试创建自己的解决方案,可以这么说,使用 - 我不知道 - 一些 HID API?一个司机?“打开当前用户的首选项文件并将此设置更改为此”行的解决方案可能应该发布在另一个问题上,但请注意,这样的解决方案可能不存在。

4

1 回答 1

73

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

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

原始答案如下。


解释

您可以从终端更改隐藏的首选项。读取其当前值类型

defaults read .GlobalPreferences com.apple.mouse.scaling

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

如何禁用加速

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

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

在终端中,这似乎禁用了加速并将鼠标跟踪速度设置为某个您无法更改的恒定预定义值。

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

如何撤消更改

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

鼠标≠触控板

Mac OS X 独立存储鼠标和触控板设置。如果您想在触控板上而不是鼠标上禁用加速,说明是相同的,只需替换为com.apple.trackpad.scaling您在上面看到的任何位置com.apple.mouse.scaling(显然,使用系统偏好设置的触控板窗格而不是鼠标窗格)。

笔记

我不会引用来源,因为这个技巧在网络上的许多地方都有。我在 OS 10.7 Lion 中尝试过,但许多消息来源声称使用的是 10.6 Snow Leopard。

于 2012-05-21T13:17:23.943 回答