Can I have multiple mice & keyboards for one Mac?

You can achieve something very close to this with a virtual PC solution. I tried it with Parallels. For simplicity I'll assume you run Mac OS X on the "real" computer and Windows in Parallels (of course you can run another OS too, I just picked one to keep the story simple).

In the Parallels settings, you can choose which USB devices should be connected to the Mac and which to Windows. If you connect your external keyboard and mouse to Windows, you get a warning that this will disable input from them on the Mac, but this is exactly what you want. Be sure to disable mouse pointer synchronization (in version 5 it's called "SmartMouse"), otherwise you won't see the Windows mouse pointer.

Now you can use the external keyboard and mouse only in Windows, and the main keyboard and mouse anywhere. This is also useful if you want to override something your brother is doing :-)

Doing this in a Mac only environment is currently not possible because it would require changes in the window manager, which is part of the OS. There is a project that does this for the X window manager, but this will not work to control every window on your Mac. TeamPlayer is software that allows you to control Windows with multiple mice, but with the exception of their own programs, you control the computer in turns: only one mouse can give real clicks, the others must wait for their turn.

A complete solution is Userful, but this runs only on Linux, because, as I said, it requires modifications at different places in the software stack and only Linux is open enough to allow this. Microsoft created a similar project: Windows MultiPoint Server, but this is targets to schools and I doubt you can get it. And of course, it only runs on Windows.


Actually, its not that simple.

The calls software makes into the operating system assumes up to one keyboard and up to one mouse. Anything more would require the software know how to tell the difference between them.

I have heard of 'virtual' solutions for Windows that allow a PC to have its resources divided up to two sets of keyboard, mouse and monitor. I am unaware of such a solution for the Mac however.

If such software existed, I would still be wary of using it. The performance burden of two users at once may be worse than you would tolerate, especially if one is play a game and/or playing music as is implied in the question. In addition its cost, whether it be in the time to setup and maintain this two-headed machine or the funds to acquire software capable of this task, may be more than simply buying another computer.