Two-Finger Scrolling For Older Mac Laptops
Michael Stroeck writes "Want that nifty scrolling on your portable but have an older one? No problem, Daniel Becker has written a free alternative driver for older PowerBooks and iBooks that works like a charm. It is based on Apple's AppleADBMouse-209.0.10 driver from Mac OS 10.3.7 that is available as part of the publicly released Darwin source code. As such, the driver is covered by the APSL (Apple Public Source License)."
What about two-finger clicking first?
Sincerely,
Pan Tarhei Hosé, PhD.
"Homo sum et cogito ergo odi profanum vulgus et libido."
I only have one finger, you insensitive clod.
How does this work? I was assuming that the new powerbooks have a different touch pad that can sense when two fingers are pressed on it at a time. I always thought trackpads could only sense one point of contact.
I will have to give it a run.
Works great on my 12" 1GHz PB. I think this is going to be a keeper.
One finger: Alt
The other finger: Down-arrow
Who needs extra software?
I wonder, has anyone used this function in conjunction with the new drivers?
It can crash some systems hard.
I have an aluminum powerbook which according to the web site is supported. I am running Macos X 10.3.8.
I followed the instructions for installing the XY based driver temporarily. Immediately upon loading the new driver the system dims the screen and instructs the user to do a hard power down and restart the machine.
I will investigate further. For now, be very careful, and those for whom it does work should post explicit information on their software+hardware configuration so as not to mislead others.
Yesterday the page was down. I don't know, if it was because of slashdotting or due other reasons, but just to be safe a mirror of the source code:
./AppleADBMouse.kext /System/Library/Extensions/AppleADBMouse.kext && sudo kextload ./AppleADBMouse.kext
.kexts in above procedure), or until the next system restart occurs.
.kext in place of /System/Library/Extensions/AppleADBMouse.kext.
Download
And here's TFA:
Two-Finger-Scrolling with pre-2005 PowerBooks and iBooks
What's this all about?
This is a hack to activate two-finger scrolling on supported pre-2005 PowerBooks and iBooks (i.e. those with a "W-Enhanced" trackpad, including most AlBooks and recent iBooks) on OS X 10.3 (tested on 10.3.7 and 10.3.8).
It is based on Apple's AppleADBMouse-209.0.10 driver from 10.3.7 that is available as part of the publicly released Darwin source code. As such, the driver is covered by the APSL.
Modified by Daniel Becker, Feb. 2005.
How do I scroll, then?
To enable scrolling mode, just place two fingers on your trackpad instead of one. Both fingers need to be placed next to each other horizontally (not vertically). Some people get better results with their finger spaced a little bit apart, while others prefer having the fingers right next to each other.
The hack enables three scrolling modes: Vertical, horizontal and circular.
For vertical and horizontal scrolling, move the two fingers up/down or left/right in a straight line, respectively, top scroll in that direction.
Circular scrolling works similar to the iPod's scroll wheel: Move the two fingers in a circle to scroll up or down, depending on whether you move in a clockwise or counterclockwise direction.
Scrolling seems to be a little jumpy sometimes, what's up with that?
This usually happens when the driver mixes up X/Y and rotational scrolling. Enabling just one of the two at a time should help.
Also, several people suggested they get better results if they disable "Use smooth scrolling" under "Appearance" in System Preferences.
Can my trackpad do this?
To check if your trackpad can support two-finger scrolling, use the following command:
ioreg -l | grep "W Enhanced Trackpad"
If this prints out a line containing "W Enhanced Trackpad" = 1 on the right, your trackpad is "W-Enhanced" (and can thus be used for two-finger scrolling); if it doesn't print out anything at all, it's not.
Please note that this check will not work if you have SideTrack installed. SideTrack loads its own mouse driver, which doesn't publish the "W Enhanced" property.
So where's the download?
AppleADBMouse.zip (source, ~73k)
AppleADBMouse.kext.SCROLL_ALL.zip (binary, all scroll modes enabled, ~68k)
AppleADBMouse.kext.SCROLL_XY.zip (binary, only X/Y scrolling, ~67k)
AppleADBMouse.kext.SCROLL_ROT.zip (binary, only circular scrolling, ~68k)
OK, so how do I install this driver thing?
To install from source, open the project file in Xcode and build it, then open the terminal, go to the "build" directory inside the project folder and do this:
sudo chown -R root:wheel
sudo kextunload
And that should be it. The driver stays loaded either until you manually unload it (just reverse the paths to the
If you have SideTrack installed, you'll need to specify its
WARNING: In case the driver should for any reason fail to load, do not touch the trackpad before you have reloaded the original driver or your machine will crash! It's OK to use the keyboard, though.
If you prefer to just install one of the precompiled binaries, just unzip the downloaded archive, open a Terminal, go to the directory you just unzipped to and use the same commands given above.
In case you'd like to install the modified driver permanently, the e
I came from a Windows laptop that you could scroll using the touchpad. You'd either have your finger on the right edge of the pad (for verticle) or on the bottom edge (for horizontal). That was a VERY nifty feature that I loved and used all the time.
So then I got the Mac. Before Apple announced that feature I was planning to use SideTrack so I could get the scrolling, but when Apple announced it I decided to give their way a try. Here is my review: IT ROCKS!
It is SO easy to do and works flawlessly. You don't need to know where your finger is on the pad. It doesn't matter how far apart the two fingers are, it works great. I've found myself using my index and ring fingers for it (just seems comfortable). It scrolls so easily and naturally it took absolutly no time to get used it. It's a fantastic feature.
My only complaint: on my Windows laptop I could drag to scroll and then lift my finger and it would keep scrolling. I would like that functionality too, but it's no big deal.
So in short, if you've got an Apple laptop I suggest you try this if it does work (I haven't tested it, but I have no doubts as this is a hardware feature not a software feature, I think), I bet you'll love it.
Comment forecast: Bits of genius surrounded by a sea of mediocrity.
Don't let the door hit you on the ass on your way out.
Seriously, this was not advertised functionality when you bought your iBook. Why do you think you're entitled to free functionality upgrades from Apple for the life of your product?
Do you think Apple should provide you with a free upgrade to OS X 10.4, too? Because, you know, it's within your iBook's capability to run it.
This space intentionally left blank.
It is also within your iBook's power to run an additional monitor without mirroring the display. Again, there are openfirmware hacks to change this behavior. It is commonly thought that apple cripples functionality in order to differentiate between the pro and consumer lines of their products.
If apple plays this the way they play iPod firmwares you want see any new features unless you buy a new computer.
Here's a useful trick that works on every trackpad I've tried, Apple or Windows:
For getting the cursor all the way to the other side of the screen (say, from right to left, for a right-handed person): put your middle finger on the right side of the trackpad; then put your index finger on the left side; then remove the middle finger.
Because the track pad only recognizes one point of contact, it interprets this as your finger moving "really fast," and moves the cursor all the way to the other side.
Pete Forsyth
I'm using this on an Al PowerBook 17" 1.5Ghz. I agree with many others assessments, the XY only is the way to go (gets a little jumpy with the rotation). It works wonderfully.
It works just as it says on an iBook G4 purchased two weeks ago.
It is very nice, thanks Daniel!
I ran a few tests.
1. I configured the source to build for only XY support.
2. I ensured that my newly built driver and the preconfigured driver each had appropriate permissions. (root:wheel).
3. I wrote a script which unloaded the system version of the driver and loaded either the prebuilt or the newly compiled driver based on an argument.
results:
Each time, the prebuilt dirver would panic the host and require a hard reboot. Note that this was immediate, and did not require me to touch the trackpad to trigger the failure.
Conclusion, since 10.3.8 was so recently released the developer probably did not know to rebuild the pre-compiled distributions.
If you have already installed it, and are running 10.3.7, you may be at risk when upgrade to 10.3.8. Either upgrade from source now, or revert to the stock driver and wait for new binary packages.
The freshly built driver appears to work as advertised.
Test system:
1 GHz Aluminum 17" powerbook with 1GB memory.
OS, stock 10.3.8 with no third party drivers installed.
I've been using this for a couple days, and I love it. I had tried Sidetrack previously, but found it was much too easy to accidentally trigger, and simultaneously too hard to reliably trigger when wanted. This solves both of those problems. The only thing I would say is that the rotational mode doesn't really work well at all, so just use the XY mode. For those that are interested, I'm using the hack on a 12" 1.33 GHz Powerbook purchased in Nov. 2004. I'm running Mac OS 10.3.8, but installed the hack originally while running 10.3.7.
Another bit of information. Just in case the version of the development tools is a contributing factor, the software I am using is 10.3.8 and Xcode 1.5
I have already submitted test results and other followup information to the author of the driver.
Public thanks are deserved by the author. He did a nice job. I enjoy the functionality and appreciate his effort.
I'm about to buy my first Apple portable (looking around for a lightly used 14" G4 iBook), and am wondering why nobody has brought a replacement two (or more!) button trackpad to market. I mean, it isn't like there's not a huge installed base of machines that would use an identical part. I figure the latest incarnation of the iBook (what do you call the non-clamshell version?) is the single most common laptop in the world at this point. I've not yet torn apart an iBook myself, is the trackbad something that wouldn't be feasible to sell as an end user replacement part? I know I'd gladly shell out ~$70 for an extra button or three.
Quantum materiae materietur marmota monax si marmota monax materiam possit materiari?
This would replace SideTrack for me (if it works), except for the fact that it has no hot corners. Since I have a PowerBook with the backlit keyboard, the first two Exposé keys (F9 and F10) are shared with the function keys for increasing and decreasing illumination. It's a pain to hit fn with F9 and F10 so I used the hot corners in SideTrack.
It might be possible to add hot corners to this hack though.
one handed surfing?
Did you touch the touchpad? I noticed it will crash if I bump it during the unloading of the old ktext and loading of the new one.
Also it works but but my fingers must be funny. Since I have to spread my fingers a bit to get it to work. Very unnatural feel.
Apple honestly doesn't care about the consumer. Why do you think they intentionally gimp the graphics chips to not drive two monitors? Why do you think that this functionality is relegated to a "firmware hack," a concept alien to casual users?
Of course, Apple could really use your money. You should support them by buying more hardware.
One thing caught my attention, though. The SideTrack website claims that the internal ADB bus has been replaced with a USB one on the new PB models.
Can anyone confirm this? (And more importantly, wouldn't this mean end to the Caps Lock -> Ctrl remap hell of PB users used to UNIX-style layouts).
One finger: Down-arrow
Who needs extra fingers?
No one is forcing you to upgrade anything.
Apple have provided new hardware that supports a new feature. Just because it's possible to hack the driver to simulate the functionality of their last model doesn't mean Apple have any responsibility to provide anything at all to you.
Apple are a company, they work on a system of making sure that there is going to be a return on money they invest. There's no incentive to Apple to pay developers to hack this into the driver for old powerbooks, nor is there any incentive to tie their QA people up with issues relating to a hacked feature that's not going to generate any revenue.
Finally though, stop being such a spoilt brat. You don't have the right to have this feature just because other people who waited until now to buy a powerbook do. Your computer still works exactly the way it did before the new model came out. But even better, you can download a modified driver that adds a feature that Apple thought they had to develop new hardware, and piss off a major supplier to support.
But you had better keep the laptop open while doing it since the iBook vents hot air out through the keyboard.
You're right.
It's just too bad most of the mods around here think that Apple's need for profit=(hand_over_fist) is somehow rightfully tied into purposely crippling capable hardware. But this isn't the first time this debate has come up.
Many Apple iBooks have the ability to run an additional display in spanning-mode just like the more expensive PowerBooks. However, iBooks are purposely "locked" to mirror-only by Apple. It's pretty easy to enable the functionality through a software patch... just like this trackpad functionality can be added via some loving software hackery.
Apple is clearly using this trackpad feature as a nudge for people to upgrade to the new PowerBooks and I can't fault them for that. Still, that doesn't mean Apple should simply ignore users with the hardware ("W Trackpad") that indeed supports this neat software hack just in the name of product differentiation. Hell, they can add it to Tiger and justify it as a feature upgrade included with the price of the update. Imagine that! Apple still makes money and users with old hardware get increased functionality! Cats and dogs, living together!
I remember back when users were adding extras to their original iPods and Apple quickly followed... officially updating them to do new things. Then, when newer iPods came out, users (this one included) asked Apple to support the older iPods and create an update so they could to do the things the newer ones could do... namely playlists-to-go. But the overwhelming majority of people I heard from on
We wouldn't want everyone's favorite little computer company, just barely making ends meet every quarter, throwing a bone out for the users of older hardware.
Give me a break.
Too bad :-)
Animoog.org
14' 1 GHZ iBook, spanning display... I love firmware hacks!
14" iBook, spanning display... this WORKS!
firefox, by default, interprets horizontal scrolling as the forward/back buttons. this is very annoying with two-finger scroll, as it will jump pages without warning. after trial and error i figured out how to disable this:
in firefox go to about:config (type it in address field)
change mousewheel.horizscroll.withnokey.action to 0
change mousewheel.horizscroll.withnokey.numlines to 1
Never said they were forcing me to do anything. Least of all purchase another computer from them. Why do they offer upgrades to begin with? Answer: customer care and quality assurance.
Apple have provided new hardware that supports a new feature.If you look at my original statement, it was based on the presumption that the hardware hadn't changed. If this is indeed a new trackpad, then what can I say? I don't have a problem with the fact that Apple makes new superior hardware. I wouldn't expect them to make a sloppy second-rate hack to make my iBook have functionality that was only ever designed to work with a PowerBook. If that is the impression that I gave, I'm sorry that so many have misread me.
Apple are a company, they work on a system of making sure that there is going to be a return on money they invest.Absolutely, it all boils down to money. And part of higher returns is having returning customers. Customers are more likely to return if they have positive image of a company. Which brings me back to my original claim. If indeed the trackpads are identical or within a certain threshold of similarity (which it appears that they are) then it would be a pre-designed crippling of functionality for the same software (OS X 10.3 in this case) to function differently based upon hardware differences other than the trackpad. In my opinion, this is a sleazy thing to do and all I have claimed is that it will be a factor in my choosing to return to Apple for my future computing needs.
"Absolutely, it all boils down to money. And part of higher returns is having returning customers. Customers are more likely to return if they have positive image of a company. Which brings me back to my original claim. If indeed the trackpads are identical or within a certain threshold of similarity (which it appears that they are) then it would be a pre-designed crippling of functionality for the same software (OS X 10.3 in this case) to function differently based upon hardware differences other than the trackpad. In my opinion, this is a sleazy thing to do and all I have claimed is that it will be a factor in my choosing to return to Apple for my future computing needs.
The new trackpads are connected via USB rather than ADB, so the scrolling functionality of the new trackpads is coded in the AppleUSBMouse.kext driver, not AppleADBMouse.kext like the "W-Enhanced" hack. The scroll trackpads are manufactured by Apple themselves rather than a third party company (Synaptics) like the W-Enhanced ADB trackpads on previous PowerBooks and iBooks.
To me it seems reasonable to assume two things based on these facts; That the trackpads probably don't use the same protocols to communicate with the computer, and that the hardware is different enough for Apple to piss off the supplier of iPod scroll wheels by ordering fewer trackpads from them.
Please compile it before you post it, why should you have to open it in xcode? I'd love to try this out but I don't have xcode installed.. it tells me "choose an application".
This seems like it would be really cool tho, i'd LOVE that capability with my powerbook
Here's something so easy it's been whipped up at home.
Of course Apple should offer it. Of course Apple doesn't have to offer it.
But along you come, a one-man corporate rights brigade, wagging your finger and telling people the corporation owes them nothing beyond the dotted line. And what's more, peeps better not go droolin' after Tiger! Advertised features! Life of the product! Ain't no free lunch! Everybody clear on that?
Such tiresome scolding, such quick subservience to a business. Where's the joy in that, pray tell?
I use uControl for my track pad scrolling needs, and it works like a charm, just with a nice gui-ed preference pane, and it's very stable.
Oh, it will also allow you to remap your keyboard, among other features.
I wonder what the difference is? Obviously you aren't the only one to have this problem, since he warns about it on the page.
The odd thing is, I have one of the very first 15" AlBooks and the driver works fine for me. Is your machine the same generation than mine or newer?
Clear, Dark Skies
the XY driver works fine on my 15" al pb 1.25 from early 2004. I didn't try the circular one.
works on my 1.07GHz iBook 12". Just shy of a year old.
Excellent.
man kann nicht nicht kommunizieren
has anyone else noticed that the drive actually allows two or more fingers to scroll? e.g. I can have three or four fingers on the trackpad and scroll just fine... It actually feels a little more natural to me to use three fingers... kind of like grabbing the whole pad with your hand vs. pointing with a finger.
The only downside I've noticed is that it doesn't seem to be as sensitive as SideTrack to small movements... You have to make a fairly big move to get it to respond.
Pat
I'm new to Macs. How can I get this code to run on startup? It seems to work perfectly, I would just prefer not to load it everytime I boot. Help appreciated!
My good looks paid for that pool, and my talent filled it with water.