I am currently in graduate school for Biomedical Engineering and have looked into this a bit. Electroencephalography (EEG), ElectroOculography (EOG) and Electromyography (EMG) are all methods that can be used.
tl;dr version: Check out the EEG Based P300 speller system by Intendix. I think this is something you can buy and use right now.
http://www.gtec.at/Products/Co...
There is also a similar open source system based on OpenViBE (an open source Brain Computer Interface (BCI) platform) : http://openvibe.inria.fr/openv...
Here's a bit more detail:
There are several options, none of them extremely good. EEG or blink based systems are probably your best bet. The EEG based systems rely on something called the P300 Event Related Potential (ERP). Basically, the user pays attention to one object, waiting for an event (e.g., a letter on an on-screen keyboard). The brain's recognition of the event evokes an EEG signal that can be easily detected. These are kind of slow, but the tech has been around for more than a decade. This is the first kind of system to let a locked-in patient communicate with the outside world.
Blink based interfaces are very easy to build -- I've built one myself using a BIOPAC system, several electrodes, and an Arduino using a combination of EEG and EMG signals. You could probably do it using an instrument amplifier and an arduino alone. For a very similar system to what I built (currently unpublished), see "Virtual keyboard BCI using Eye blinks in EEG" by Chambayil et al at: http://ieeexplore.ieee.org/xpl...
There are also several invasive systems (i.e., those that require brain surgery) which have been tested. Most of these rely on Electrocorticography (ECoG), where an electrode array is implanted on the brain. Both computer cursor and wheelchair control have been achieved. This is probably not where you want to go.
Check out the Cortech Solutions EEG based spelling device: http://www.cortechsolutions.co...
Here are some scientific articles that are relevant:
“Bridging the Brain to the World: A Perspective on Neural Interface Systems” John P.Donoghue. Neuron 60, November 6, 2008 p511-521
(Chambayil, Brijil, Rajesh Singla, and Rameshwar Jha. "Virtual keyboard BCI using Eye blinks in EEG." Wireless and Mobile Computing, Networking and Communications (WiMob), 2010 IEEE 6th International Conference on. IEEE, 2010.)
Good luck, and feel free to message me privately if I can provide more information.