A little while ago, good friend of the show Slau wrote to the Mac Geek Gab boys, Dave Hamilton and John F Braun with a very interesting request. Dave included me on distribution thinking I might have some ideas. Here’s Slau’s original question:
Hi Dave and John,
I have an issue that I’ve been trying to solve for quite some time. In fact, it would help a great deal of blind Mac users such as me.
I’m trying to find a way to move the mouse pointer in fixed increments (pixels or inches, whatever) using only the keyboard or preferably the numeric keypad. While there’s a way to move the pointer using Mouse Keys (within the Accessibility pane of System Preferences), the result is based on factors like delay and speed and vary according to how long you hold down the key so results aren’t exactly repeatable or translatable from user to user.
With VoiceOver, it’s possible to read the mouse coordinates in inches relative to screen or window but it’s not possible to enter coordinates manually. An example of where moving the pointer manually would be helpful and even necessary is when there are invisible elements on screen that are not recognized by voiceOver but need to be clicked. One can navigate to the closest recognizable element and then manually move the pointer from there. I’m thinking there might be an AppleScript or something that could perform the mouse pointer movement and it could be triggered by a keyboard shortcut. What do you think?
One of my great joys in life is keeping Dorothy, you know her as @MacLurker in the chat room, out of the bars by giving her scripting problems to solve. She’s like a dog with a bone when she gets a fun project like this and will run it down until she solves it and could not be happier the whole time. She and I work out together so we use that 45 minutes or so on the elliptical to noodle ideas.
We started by noodling questions on how you would ever figure out distance on a screen since screen resolutions are different. If you think about the extreme example – let’s say I have a super low res monitor like 1024×768, everything is WAY bigger on screen than if you have a modern Retina MacBook Pro at 1440×900. So if I tell you it’s a half-inch to the right, wouldn’t that be way farther than on your Mac?
I contributed very little to this project, but I did find a script written by Jacob Salmela back in 2013 that was designed to send the mouse to a specific location. Some of the commands he was using have since been deprecated, but his work gave her the seeds of how this could be done.
I’m going to fast forward to the end of the story. Dorothy figured out how to query the Mac you’re using to return the screen resolution of the primary display you’re using AND physical size of that same display. She then programmed in how to translate pixel movement to physical distance. During our testing phase, I made her add a noise to the script using the command afplay that Bart just taught us a little while ago. It worked great but I have to admit when we shipped the finished product, Slau said the noises drove him nuts so we took them out.
She wrote all of this in Objective C, put it into Automator to create an Application she called MoveMouse. She also created a set of four services called by the application which need to live in your ~/Library/Services directory. Once these four services are in place, you can assign keystrokes to them using the built-in Keyboard shortcuts in System Preferences. Ideally we’d have a double click installer that would do all of this but it’s one of those things that sounds more complicated when it’s described than it is when you actually do it yourself.
I like to think I added value to this project, even though Dorothy is actually the one with the brains. One of the HUGE values I added though was to create a really pretty icon for the application that shows a mouse moving diagonally. It’s blue. Yeah, I spent 2 hours creating an icon for an application for the blind. I feel good about it though!
The Application Dorothy wrote is called MoveMouse. If you’re a blind Mac user and this sounds fun to you, I’ve put two things in the shownotes. The first is the Installer and License file for MoveMouse. This is not an optional ReadMe file, you absolutely will have no clue what to do with the files if you don’t read at least the installer part! The second is a zip file with the MoveMouse Application and the four services, all nicely bundled up.
MoveMouse Installation Instructions & License
MoveMouse Zip Distribution File
Slau says that MoveMouse does exactly what he’s hoping for and works great. Please give us feedback on whether this works for you and whether it actually solves a real problem for you!
The links to the files aren’t working…
Thank you so much for letting me know, biff – I just fixed the links. Transcription error on my part!
Hi!
I work with blind students of all ages in helping them to integrate their school or college curriculum with Apple technologies.
As part of the Apple Distinguished Educators program, I look for apps or contents that will enhance the accessibility experience.
I loved your little app. As a teacher and as a personal user, because I am blind my self. This is one of this little caramels that you get when you are not expecting them … :).
In many e-learning web sites, we have often the problem that you exposed in your post, so I will test it and let you know.
Also, if you like the idea, I would like to keep in touch if there are some other ideas we can share.
Thanks and great day!
Daniela – so nice to hear from you! I definitely would like to stay in touch, I’ve done a lot of blind accessibility stuff over the years. I’m sighted but I did a presentation at Macworld blindfolded one year.
Please let me know if you find this useful or if you have other ideas for Dorothy to incorporate into the app.
This is a very cool utility and certainly fills a gap on the MAC platform. Thanks for sharing.
[…] How Can You Move the Mouse on a Mac a Precise Distance? […]
MoveMouse has solved 3 problems in Pages for me: renaming tables, setting tab stops and selecting a leader for a tab stop. However, it does not work in popovers so I still have to resort to Mouse Keys to access the menu to the right of each paragraph style name in the paragraph styles table. Apple had fixed this bug in previous versions of Pages, but it reappeared with the new version for Yosemite.
Hey Anne. Dorothy here. I’m not sure why MoveMouse isn’t working in popover windows. I’ll do some testing and see what I find. We’ll let you know when there is an update. I’m glad you find our little app useful. Thanks for reporting the problem.
I tried this program and I already am having some issues.
1. When I unzip the folder it has the 4 work flows folder, then the 4 work flows underneath, then something that says move mouse with no extension as a unix executable. I placed the unix executable in the apps folder but when running it no item appeared in my extras and the terminal window opened with some scripting stuff. Also the services did not appear at all in keyboard and I copied them in the appropriate place.I’ve done a ton of installs like this and this should not have happened. Any advice? I run Yosemite all updates applied.
Since the update to Mac OS X 10.10.1, MoveMouse is no longer working for me on my own MacBook Air as well as on our MacBook running in French. Neither is it working for any of our students using the latest version of Yosemite. Please help!
i just got move mouse and can’t get it to work at all i’m running 10.10.3 and all i get when running one of the services is a shell script error
Hi there!
Thanks so much for creating this utility!
Do you have plans to update it so it’ll work on Mac OS X 10.11? Or is there anything I can do to get it working? 🙂
Cheers!
Hello friends,
Thank you so much for this lovely little utility, which is still doing its job under macOS 10.14 Mojave. We provide the licence and instructions in French on our website at cecimac.net/astuces.htm#movemouse. Also there is a link to your site for the distribution download zip file itself, in case of any updates. However, the link to the latter has stopped working.
We’ve uploaded the zip to our own website and modified the link, but it would be nice if we were able to return to the status quo in case anybody ever modifies MoveMouse again.
Thanks in advance…
(Yes, I’m married to Anne, and share the guilt for running the website and mailing list—still going strong after 12 years)
[…] Pick of the day: http://www.podfeet.com/blog/2014/10/movemouse/ […]