通过applescript设置鼠标跟踪速度

时间:2009-11-05 14:01:12

标签: osx-snow-leopard applescript

我正在尝试使用苹果脚本在OS X 10.6中设置鼠标跟踪速度,特别是使用新的Magic Mouse。

我发现了以下内容:

set trackingValue to 5

--Open and activate System Preferences
tell application "System Preferences" to activate

--Attempt to change settings using System Events
tell application "System Events"
    tell process "System Preferences"
        try
            --Open the "Keyboard & Mouse" pane
            click menu item "Mouse" of menu "View" of menu bar 1
            delay 2
            set value of slider 1 to trackingValue
            --end tell
        on error theError
            --An error occured
            display dialog ("Sorry, an error occured while altering Keyboard and Mouse settings:" & return & theError) buttons "OK" default button "OK"
        end try
    end tell
end tell

但它似乎是为10.5而构建的,因为我在尝试'将滑块1的值设置为trackingValue时出错'

2个问题......

  1. 如何使用10.6 / Magic Mouse组合使用它?
  2. 如何获取slider on the control panel或其他任何控件的名称,以便在AppleScript中使用?

6 个答案:

答案 0 :(得分:3)

这里有两件事 - 首先,您需要检查Enable access for assistive devices中的“System Preferences / Universal Access / Mouse & Trackpad”。显然你已经完成了这个,否则脚本不会在没有失败的情况下到达它的位置,但对于其他任何试图让它工作的人来说,这是一个重要的步骤。

其次,您收到错误的行的问题在于您没有告诉AppleScript在哪里找到您想要更改其值的滑块。通过将该行更改为以下内容,脚本开始工作:

set value of slider "Tracking Speed" of window "Mouse" to trackingValue

请注意,除了命名AppleScript使用的窗口外,我还指定了要使用的滑块。在运行Snow Leopard并使用“滑块1”时,“滚动速度”窗口中的第二个滑块正在被更改。因此,通过使用滑块的名称而不是其编号,我们可以绕过任何可能的索引问题。至于计算出滑块的名称?我只是尝试使用与它一起使用的标签的值,这在这个实例中起作用。当然,您的里程可能会有所不同。

因此,最终的脚本变为:

set trackingValue to 5

--Open and activate System Preferences
tell application "System Preferences" to activate

--Attempt to change settings using System Events
tell application "System Events"
    tell process "System Preferences"
        try
            --Open the "Keyboard & Mouse" pane
            click menu item "Mouse" of menu "View" of menu bar 1
            delay 2
            set value of slider "Tracking Speed" of window "Mouse" to trackingValue
            --end tell
        on error theError
            --An error occured
            display dialog ("Sorry, an error occured while altering Keyboard and Mouse settings:" & return & theError) buttons "OK" default button "OK"
        end try
    end tell
end tell

答案 1 :(得分:1)

如果您使用的是Mavericks 10.9,则需要考虑额外的标签组,此脚本有效:

set trackingValue to 8

--Open and activate System Preferences
tell application "System Preferences" to activate

--Attempt to change settings using System Events
tell application "System Events"
    tell process "System Preferences"
        try
            --Open the "Keyboard & Mouse" pane
            click menu item "Mouse" of menu "View" of menu bar 1
            delay 2

            tell tab group 1 of window "Mouse"
                set value of slider "Tracking" to trackingValue
            end tell
            --end tell
        on error theError
            --An error occured
            display dialog ("Sorry, an error occured while altering Keyboard and Mouse settings:" & return & theError) buttons "OK" default button "OK"
        end try
    end tell
end tell

答案 2 :(得分:0)

脚本仍可按OS X Lion 10.7的规定运行。我在设置跟踪速度值后添加的一个小改动是:

        set value of slider "Tracking Speed" of window "Mouse" to trackingValue
        tell application "System Preferences" to quit
        --end tell

这会关闭系统偏好设置,所以我不会看到菜单窗格,并且可以使用鼠标现在更快速的跟踪来恢复工作。

答案 3 :(得分:0)

杰森的建议似乎不适用于10.8。我试图用“跟踪”替换“跟踪速度”,没有相应地设置值。

不知道他们是否改变了滑块的名称。

答案 4 :(得分:0)

这适用于我的Sierra OS X机器。如果您收到错误,可能需要稍微延长一个或两个脚本延迟,以更好地匹配您的机器速度。

function pingAPI(url) {
    var xhr = new XMLHttpRequest()
    xhr.timeout = 300; // 300 milliseconds - adjust as required
    xhr.open("GET", url);
    xhr.addEventListener('timeout', function(e) {
        // you may not even need this
    });
    xhr.send();
}

答案 5 :(得分:-1)

由于某些原因,这些脚本在OS X 10.10中不起作用。需要一点调整,但现在它可以工作。

set trackingValue to 9

--Open and activate System Preferences
tell application "System Preferences" to activate
tell application "System Preferences"
    reveal pane "com.apple.preference.mouse"
end tell
--Attempt to change settings using System Events
tell application "System Events"
    tell process "System Preferences"
        tell tab group 1 of window "Mouse"
            set value of slider "Tracking" to trackingValue
        end tell
    end tell
end tell
tell application "System Preferences" to quit

享受。