Forum for discussion on different user applications
Posts: 1
Joined: 01 Mar 2007, 19:49


Post by bob_cardillo » 05 Mar 2007, 20:40

BCI Users and Developers:

I wanted to make sure everyone was aware of an application called BrainKeys. Right now it interfaces with the P3 Speller that runs on BCI 2000 (though I ultimately intend it to be usable in ANY similar situation). As some of you know, the combination of the P3 Speller and BrainKeys is being used by a friend of mine in Delaware for his daily needs. It's neat to see him doing all kinds of things with it, from writing emails and grants and browsing the Internet to dimming lights and channel-surfing at home.

To be clear, BrainKeys doesn't necessarily do much on it own. BCI 2000 is driving the whole thing. BrainKeys simply takes the network output of the P3 Speller and translates it into commands to be executed. The scope of those commands is literally unlimited because I wrote BrainKeys to be extensible. Read on for a bit more technical information.

BrainKeys is a code-pluggable UI designed to respond to accessibility tools like BCI 2000. Being "pluggable" it can do anything you want. Its built-in functionality consists of emulating keystrokes (hence the name), but the plug-ins I've written so far can:
- speak arbitrary text - using TTS technology
- control TV, VCR, DVD, TiVo, or any other IR device - using inexpensive ($50) USB device for emitting IR
- control lights, dimmers, thermostat, space heater, ceiling fan, toaster, garage door, basically any electronic device in the house - using inexpensive ($8) USB device for emitting RF signal and X10 technology (from $20 on up, really no limit to what you can do)

This sounds like an ad or something, it's really not. I want anyone who needs it (or anyone doing related research) to have free access to BrainKeys. I developed the tool for a friend (as I mentioned above) who has ALS (Lou Gehrig's Disease). He cannot vocalize and has almost no voluntary muscle function, and was just starting on BCI 2000 in 2005. He's been using the combo (BCI 2000 plugged into BrainKeys) ever since for daily work at his office, and environment control, entertainment, and work at home.

So I'm posting because I wanted to make sure:
1. anyone who could benefit from BrainKeys on ANY platform was aware that it existed, and
2. the BCI 2000 development community was aware of it as an avenue for effectively adding value in any area you happen to be researching or interested in.

Conceptually, it works very simply. BrainKeys is a "transceiver" of sorts. It "receives" results from the P3 Speller in BCI 2000, that is it receives target strings. The user selects the letter T on the target matrix in P3, and BrainKeys immediately receives a notification that "T" was selected. Or for a better example, the user could (and does) select Pow on the target matrix, which causes BCI 2000 to send, and BrainKeys to receive, the text
"tv: Power":{tv(Power)}

Once BrainKeys receives a given target string, it parses and translates it into any number of distinct commands, and then "transmits" them in sequence to the appropriate modules, whether the internal keyboard emulator, or the external (plugged-in) modules. The given module is specified in the target string itself, so there are no setup requirements for the plug-ins. The plug-ins are COM objects that support a specific interface (called, not surprisingly, IBrainKeys) so they can be written in any COM-ready language. In the future it may support additional plug-in methods (simple dlls for example) depending on what people need.

Once a given command sequence is transmitted to the plug-in(s) it specifies, and the plug-in(s) return success, BrainKeys pops up large translucent text on the user's screen to indicate the target was executed. In the above example, it would pop up "tv: Power" so the user knows he or she hit the right target and it was successfully completed.

If anyone wants to take a look at BrainKeys, or if you'd like more information about the plug-in structure and how to use it, or even if you just have some comments or ideas, please let me know. I'm open to all feedback. Also, long ago I made BrainKeys freely available for research purposes and in situations of verifiable need, so if you're aware of anyone who you think can benefit from it, please don't hesitate to contact me.

Bob Cardillo


Who is online

Users browsing this forum: Google [Bot] and 2 guests