Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

FocusAndEarnIt

macrumors 601
Original poster
May 29, 2005
4,628
1,112
Hi all.

I was able to get my bluetooth Magic Mouse working with scrolling (and other features) on my iMac G4 20" running Mac OS X Tiger 10.4.11. I used software that's no longer in development - it's called MagicDriver. I couldn't find it anywhere online, but thankfully I was able to get the beta download via archive.org

However, the software never made it out of beta and built into the software is to deactivate itself after March 2011. Indeed, it prompts to uninstall if the software is loaded automatically from boot while the system is displaying today's accurate date.

I get it to work by disabling MagicDriver from starting up on boot, setting my system clock to before March 2011, load MagicDriver, quit the software, and then set my system software back to synchronize with Apple's servers. As long as I don't reopen the software, the Magic Mouse continues to scroll and work. MagicDriver continues to operate as intended.

I've searched high and low for a different solution for Tiger PPC Macs. This is the only thing I could find.

What I am hoping to do is to automate this process. I'm not sure how to do this. I essentially want to have a startup script of some sort that automatically does the following:
1) change system date to February 2011
2) load Magic Driver
3) Quit Magic Driver
4) change system date to sync with Apple's servers

Anybody have any idea how I can do this? Is it possible?

I also tried poking around in the "Open Contents" portion of the MagicDriver app and see if there was any plist or kext file or something I could modify using TextEdit, but that's pushing the limits of my knowledge and I wasn't able to find anything there.

Appreciate your help! I hope this also can help others who want to use a Magic Mouse under Tiger on PPC Macs.

I just got my iMac G4 and I am LOVING going back to the old & golden days of Mac OS X!
 
There is a wireless update for Leopard that allows the basic functionality of the MM on PowerPC. I've used that for years. But you're on Tiger.

I do believe you have discovered one of the apps I used to use on Leopard for increased functionality. Certainly your process is the same. https://forums.macrumors.com/threads/powerpc-magic-mouse-magicdriver-and-mouse-gestures.2052854/

Anyway, what you want to do is possible. It could probably be done via shell scripting. What you do is create an Applescript, use the command "do shell script" and then fill in the rest with what you're trying to achieve. Since these are terminal commands you'd want to use an admin account and password to execute them. After that, then a Finder command, maybe something like "tell Finder open Magic Driver" and then maybe "tell Magic Driver quit".

The final command I think would just be another do shell script to set the time/date back. You may want to drop in a sub-routine that tells the system to wait until Magic Driver actually quits before executing the last shell script.

Then you save all this in an App from Script Editor (make sure it's not saved as something that is always running) and set that app to run on login. You want to be careful though that you save just the script first. If you save it as a non-editable app and have no copy you can't change the code - you'd have to start from scratch all over again.

I've done this numerous times for different things, mainly a series of network commands when my Mac boots to optimize my network connections. It's a series of shell scripts that fire off.

Alternatively and very clunky you could probably GUI script this. That's an Applescript that would open System Preferences, then the Data/Time panel, change it, then wait for the Magic Drive app to open close, then change it back. I've done something similar as it was the only way I could figure it out. I had a script that would automatically turn on Internet Sharing whenever a specific WiFi BSID (Starbucks) was detected by the Mac. By the time I flipped open my Mac and handed my son his end of ethernet cable the Mac had turned on internet sharing.

In any case it's going to require you getting a bit familiar with both Applescript and shell script commands.

EDIT: Here's an example: https://forums.macrumors.com/threads/network-commands.2216438/

All those commands are contained in an Applescript app that loads on launch. You'd just put the finder commands to load and then quit Magic Drive in between two shell scripts to alter the time.
 
Last edited:
  • Like
Reactions: bobesch
Thank you! I figured this out for the scripts I would need. Doing them manually, it's this:

1. sudo date 1010101010
2. open /Applications/Utilities/MagicDriver.app/
3. killall MagicDriver
4. sudo ntpdate -u time.apple.com

Options 1 & 4 require admin password. Now to figure out how to build my own AppleScript...
 
Thank you! I figured this out for the scripts I would need. Doing them manually, it's this:

1. sudo date 1010101010
2. open /Applications/Utilities/MagicDriver.app/
3. killall MagicDriver
4. sudo ntpdate -u time.apple.com

Options 1 & 4 require admin password. Now to figure out how to build my own AppleScript...
Some suggestions.

See my link to my Network Commands script. I added it, but you probably didn't see it until after you posted.

2. I believe is...... tell Finder open MagicDriver.app

end tell

3. Would be...... tell MagicDriver.app quit

end tell


Using killAll would work, but it's kind of like using a nuke instead of the 'off' button.

Also, anytime you use sudo for the first time after booting, the system wants a password. Your whole script would grind to a halt while the Mac waits for a password you can't enter because it's a script. This is why you want to use 'do shell script' with username password with administrator privileges (see my link).
 
This is the code I ended up using -

Despite removing the MagicDriver Manager app from my startup items, it kept adding itself there. So I would always get this error upon startup:
Picture 1.png


So I tinkered around and was able to figure out how to kill that notification that comes up every boot quickly after it comes up. Any other way around this besides killing "UserNotificationCenter"? Is there another startup items folder that I'm missing? I looked in /Library and /users/me/Library and I didn't see anything.

It works as it stands though so I'm not complaining! The below is technically compiled as an application and thus it's my first "app" ever! Thanks for your help!

Code:
set myProcesses to {"MagicDriver Manager", "MagicDriver", "MagicDriver work", "UserNotificationCenter"}
tell application "System Events"
    repeat with myProcess in myProcesses
        set theID to (unix id of processes whose name is myProcess)
        try
            do shell script "kill -9 " & theID
        end try
    end repeat
end tell
do shell script "sudo date 1010101010" password "XXXXXX" with administrator privileges
tell application "MagicDriver"
    activate
end tell
tell application "MagicDriver"
    quit
end tell
do shell script "sudo ntpdate -u time.apple.com" password "XXXXXX" with administrator privileges
 
Last edited:
This is the code I ended up using -

Despite removing the MagicDriver Manager app from my startup items, it kept adding itself there. So I would always get this error:
View attachment 1718677

So I tinkered around and was able to figure out how to kill that notification that comes up every boot. Any other way around this besides killing "UserNotificationCenter"?

It works as it stands though so I'm not complaining! The below is technically compiled as an application and thus it's my first "app" ever! Thanks for your help!

Code:
set myProcesses to {"MagicDriver Manager", "MagicDriver", "MagicDriver work", "UserNotificationCenter"}
tell application "System Events"
    repeat with myProcess in myProcesses
        set theID to (unix id of processes whose name is myProcess)
        try
            do shell script "kill -9 " & theID
        end try
    end repeat
end tell
do shell script "sudo date 1010101010" password "XXXXXX" with administrator privileges
tell application "MagicDriver"
    activate
end tell
tell application "MagicDriver"
    quit
end tell
do shell script "sudo ntpdate -u time.apple.com" password "XXXXXX" with administrator privileges
I would guess that the preferences in Magic Driver are set to "Open on login". Might look through them to see if that exists and uncheck it if it does.

OTOH, I do recall having to deal with the annoying message so there may be no way to get rid of it other than clicking on 'Not yet'. That said, it should only happen once unless you have to change a setting.

Glad you worked out the code. Looks right.
 
  • Like
Reactions: Amethyst1
Thanks so much. This in addition to the app Scroll Reverser makes the Magic Mouse feel as if it's running on a 2020 machine for me.
 
  • Like
Reactions: eyoungren
Thanks so much. This in addition to the app Scroll Reverser makes the Magic Mouse feel as if it's running on a 2020 machine for me.
I don't recall, but perhaps MagicDriver has a scroll reversal setting?

If it does, use that. No need to use two apps unless you have to.
 
Unfortunately, it doesn't. I'm keeping an eye on the Activity Monitor and it doesn't seem to take up much.
 
  • Like
Reactions: eyoungren
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.