Gain full keyboard and mouse control in 10.5’s screen sharing
One of the things I really like about OS X 10.5 is the built-in screen sharing tool. With multiple machines in our home, screen sharing has greatly eased the task of managing all these machines. When I need to do something on one of our other Macs, I just connect to it via screen sharing, do what I need to do, and then close the screen sharing session.
This works great, for 99 percent of the stuff I need to do. But sometimes I’ll find myself frustrated by the way the keyboard behaves in screen sharing mode. For the most part, what you type is interpreted by the remote Mac, which makes sense. If you, for instance, copy (Command-C) or paste (Command-V), those commands affect the remote Mac, not your local machine. There are some key combinations, though, that are captured by the local machine, such that the remote Mac never sees them.
(Note that today’s hint is longer than usual, though it’s not overly complicated. The subject matter is also something I covered in a Macworld Video, but I think it’s useful enough to share here in text form. If you’d prefer to see the video version, download the Working with multiple Macs video, and skip forward to about the 7:35 mark. If you prefer the text version, keep reading.)
Perhaps the most troublesome of the captured keystrokes is Command-Tab, which is used to switch applications. If you’re running more than one program on the remote Mac, you can’t use Command-Tab to switch between them, as Command-Tab will show you the programs running on your local Mac, not the remote Mac. If you want to change whether or not the remote Mac’s dock is hidden or showing (Command-Option-D toggles the dock’s state), you’ll find that those keystrokes are also captured by your local Mac, forcing you to use the Apple menu to change this value. Finally, if you have a program crash on the remote Mac, you’ll find you can’t use Command-Option-Escape to bring up the Force Quit dialog on the remote Mac.
Another frustration with screen sharing is that there’s no method of transferring files within screen sharing. You can’t, for instance, drag and drop a file on your local Mac into the screen-sharing window to transfer it to the remote Mac. (Oddly, you can drag and drop text selections between machines.)
One final frustration is that when using screen sharing in something less than full-screen mode, the cursor isn’t bound to the screen sharing window, leading to accidental mouse clicks that take me out of the remote Mac and back to my local Mac.
As it turns out, there’s a simple way to fix all of these frustrations. By combining screen sharing with teleport, a free program (donations accepted) that is generally used to share one keyboard and mouse with several Macs, you’ll solve all of these problems in one step.
Teleport is basically a virtual keyboard/mouse switch box, designed for environments where you have several machines in close proximity. Using teleport, you can send all keyboard and mouse activity to any other Mac, just by dragging the mouse cursor off a designated screen edge on the “master” Mac. For instance, here’s what the setup looks like for a four-machine lab; the “master” machine is in the middle, and control of the keyboard and mouse is transferred to the other machines by simply dragging the cursor to that particular edge of the screen. (You transfer control back by dragging the mouse to the corresponding screen edge on the machine you’re controlling.)
If you have such a setup, you can then remove the keyboards and mice from all but one machine, and just use teleport when you need to control the other machines. But there’s nothing about teleport that requires the machines to be sitting next to each other—it’s just that, if used alone, you really need to be able to see the monitor of the remote Macs in order to see what’s happening. And that’s where screen sharing enters the picture. By combining screen sharing and teleport, you get the best of both worlds: screen sharing lets you see what’s happening on a Mac’s screen that’s not right next to you, and teleport sends all mouse and keyboard activity to that machine.
When teleport is active, every single keystroke and mouse movement is sent to the remote Mac—your local Mac is basically dead, as far as user input is concerned. Command-Tab, Command-Option-Escape, and any other keyboard combination is captured by the remote Mac, not the local Mac. The mouse will be restricted to moving within the screen sharing window (until you position it against the edge that teleport uses to send control back to the “master” Mac).
What about my file transfer frustration? To transfer files within screen sharing using teleport, simply drag a file on your master Mac to a given machine’s screen edge, wait for teleport to activate, and then drop the file (in the screen sharing window) into the desired folder on the remote Mac. Teleport also includes a nifty clipboard synchronization tool to automatically sync clipboards between machines.
Setting this up is amazingly simple; here’s all you need to do—note that this assumes you already have screen sharing enabled and working between your Macs.
- Install teleport on your “master” Mac, as well as on any Mac you’d like to control via screen sharing. Enable it on each machine by checking the Activate teleport box on the teleport System Preferences panel.
- On the Layout tab in the teleport System Preferences panel, position the remote Mac against the screen edge you’d like to use to activate it.
- On the Options tab, enable the various options you’d like to use. In the Switching section, for instance, I have teleport set to switch with a delay, so that I don’t accidentally enter teleport’s control mode when I brush against a screen edge. In the Status section, I’ve enabled the menu bar status, and disabled the bezel (which appears on the “master” Mac, typically right on top of the screen sharing window).
That’s it; the setup is done. Now, when you want to send your keyboard and mouse to another Mac via screen sharing, just start screen sharing as you normally would. Once the screen-sharing window is live, drag your mouse to the edge of the screen you chose for teleport activation. You’ll see a small animation indicating that control has been transferred to the remote Mac. (You’ll also see the status change in the menu bar, assuming you enabled that feature.)
From now on, all keyboard and mouse activity will be sent to the remote Mac. To return to your “master” Mac, drag the mouse to the corresponding screen edge on the remote Mac. (For instance, if you use the top edge to send control to the other Mac, the bottom edge of the remote Mac’s screen will return control to the “master” Mac.)
While this all sounds very confusing, it’s actually much simpler to do than it is to explain—and it works really well.
If you use screen sharing a lot, and are frustrated by some of the keyboard, mouse, and file copying issues, try adding teleport to the mix—the end result is really amazingly useful.