Submit A Tip Alternative Tip Form

Apple’s multi-touch Magic Trackpad tested in Ubuntu 10.10

Today I got my hands on Apple’s new cool peripheral that everyone is talking about, the Magic Trackpad.

When it was first released, a lot of people said that this was the beginning of the end of the humble and trusty mouse. I’m not entirely convinced that the magic trackpad spells the end, but this idea of bringing laptop multitouch to the desktop is certainly is an interesting concept.

The device itself

I’ve got the trackpad for a couple of days, on loan from one of my lecturers at the design department. The first thing I noticed about it is the incredibly simple design – it literally just looks like a flat piece of metal. It’s also not as large as I expected (turns out it’s quite a comfortable size, but I was expecting more surface area).

As usual, being an Apple product, the build quality is excellent – it’s mainly constructed out of metal, with a thin 1mm glass surface for the area you touch. There are no cables, it runs on bluetooth and a couple of AA batteries. There’s only one button, the power button which is on the right. When you press it, a green light comes on out of nowhere and then goes off again. This light also flashes when the device is pairing.

At first I was skeptical – being a mouse user my whole life, and never really liking touchpads on laptops, I didn’t think the trackpad and I would get along so well. But I was wrong.

The first thing I noticed was how natural it feels to use – it’s so nice not having to physically push something around with your entire hand, instead the device stays still and you sort of dance over it with your fingers. It makes it incredibly lightweight and very enjoyable to use. While it’s not as accurate as a mouse, you soon get over the learning curve and it’s an ample replacement for a desktop mouse.

It’s definitely not the same as using a touchpad on a a laptop – it’s angled slightly, you can place it anywhere you like and it’s a lot larger than most touchpads on laptops. After a few hours of exclusively using the magic trackpad, I found myself enjoying it so much that I hated going back to my clunky Microsoft keyboard to type, and, at one point, I had to write something using pen and paper – my first instinct was to attempt to somehow do it with the trackpad!

The magic trackpad also has a really nice range, presuming tap to click is turned on, I can quite comfortably lean back in my chair, put my feet up and hold it in my left hand while using it with my right. It also works pretty nice for lying on the couch (or in my case, bed) and to control movie playback. One could argue that this can be achieved with a wireless mouse, but it’s just not the same – laser mice require a flat surface to move around to work properly, and it’s not possible to hold it in one hand as a tablet like you can with the magic trackpad.

It looks pretty nice sitting on a desk, definitely reduces the clutter, and I no longer have to worry about mouse pads!

One thing I was slightly disappointed with is that you can’t use it as a tablet with an input pen, it would be quite a nice surface to sketch on, the “grip” is a good place to grab with your left hand.

So, does it work with Ubuntu?

We reported a couple of weeks ago that the ace Chase Douglas from Canonical had got the Magic Trackpad working in Ubuntu Maverick without having to install anything extra – apparently even up to 10 finger multi touch worked!

I decided to put that to the test, so I fired up Maverick on my Toshiba laptop and before I could start, the first thing for me to fix was bluetooth. Ubuntu has never liked bluetooth on my laptop, but after a bit of fiddling around, I had something working.

Following the instructions on the wiki page, I added some stuff to /etc/xorg.conf and then turned on the trackpad. When a window on Ubuntu popped up, I entered in 0000 while holding down the power button on the trackpad and it paired after I granted it access. The trackpad soon appeared in the bluetooth indicator and it was working fine… but only for single touch.

Never fear! I had a chat with Chase Douglas and he had the following to say:

“There are two main X input modules: evdev and synaptics. Evdev is a general purpose input module that handles everything from mice to keyboards to joysticks to touchscreens. Synaptics is a module designed to handle touchpads, and thus has extra features like recognition for tap to click and two finger scrolling. We aimed to support gestures on touchscreens and potentially the Magic Mouse, so we enabled the evdev input module for gesture recognition in Maverick. We ran out of time to do the same for the synaptics input module.”

So, for me to get stuff like two finger scrolling and tap to click working, I simply had to change the driver in /etc/xorg.conf from “evdev” to “synaptics” – after a log out, log back in, it seemed to be working.

These are the things that worked after changing to the Synaptics driver:

  • Single click and tap to click
  • Single finger drag
  • Two finger scrolling, both horizontal and vertical
  • Two finger click = secondary click
  • Three finger click = middle click

Obviously editing xorg.conf isn’t something that’s ideal for end users, but Chase had good news:

“Although using evdev means we lose some synaptics capabilities in Ubuntu 10.10, the end goal is to give those capabilities back to you using gestures in the toolkit layer. For example, GTK+ and Qt will listen for two finger pan gestures to perform smooth scrolling in a scrollable view like a web page. Unfortunately, we weren’t able to add this support in the Maverick cycle. We are presently working on a tool to translate gestures into key combos for scroll and zoom (ctrl +, ctrl -) for applications that don’t take advantage of gestures quite yet, but that is under development and will be published in a PPA for Ubuntu 10.10 instead of being included in the official archive.”

Unfortunately, right now in Maverick most (read: 100%) of applications in Ubuntu don’t support anything fancy like gestures, swiping or more than 3 finger touch. This doesn’t mean to say it doesn’t work – because it does. Using the gesturetouch testing suite (when the driver is set to evdev), I can see that 10 finger touch and a heap of other gestures actually are recognized by Ubuntu, it’s just up to developers to take these signals and incorporate them into their applications. I did have a play around with Compiz, and it’s possible to set some gestures to keybinds for activating stuff like “expose” and workspaces, etc, but it’s by no means perfect.

I found that the click (where the trackpad actually is physically depressed) was a bit hard and clunky, similar to that of the Macbook’s. I guess some people like this, but I ended up enabling tap to click by going into Ubuntu mouse properties, and now I can use either which is quite nice.

I can report that it’s certainly easier to get the trackpad working in Ubuntu 10.10 than it was in Windows 7, which involved me downloading the Boot Camp driver update from Apple, installing 7zip, extracting it twice, hunting through binaries, adding .exe to the end of a file and then executing it to install the drivers. The functionality is the same in both Windows and Ubuntu, too, so I think we all owe Chase Douglas a pat on the back for getting in support so quickly and by default!

Summary

So, am I going to buy one of my own? The answer is yes, but maybe in a couple of months.

Although I wouldn’t recommend you buy one unless you have an Apple computer to make full use of the extra gestures. I don’t have any Apple hardware, but I’m interested in the development of Ubuntu multitouch and I’m sure that once Maverick is out, we will see some cool plugins that will make use of these gestures in applications.

I’ve sort of fell in love with the Magic trackpad – I don’t think it’s quite as efficient to use as a traditional mouse and it certainly isn’t going to start a mouse revolution the world over, but it’s sleek, elegant, natural and just plain cool. It’s certainly not for everyone and the pricing is a bit steep, but I like it.