Capacitive sensing & HID keystroke output

Hello all,

I'm currently working on a project in which I'd like to create a curved touch sensitive surface (size of roughly 4" x 6"). My ultimate goal is to use an array of capacitive elements to track touch inputs registered as simple gestures. These gestures will be mapped to keystrokes & sent to a pc via an arduino configured as an HID (ex: an upward swipe = the letter "w"). The keystrokes will ultimately control a GUI on the pc (but that's beyond the scope of my problems at the moment).

I've been looking at a variety of options for capacitive sensing with arduino. Among the many options I've considered, I've read quite a bit about the simple capsense method, Sparkfun's MPR121 12 channel breakout board, and a variety of qprox IC's.

I'm currently planning on creating an array of 40 to 50 touch sensors. At the moment, this seems like the ballpark figure for my necessary resolution. So, this leads me to my first few questions:

  • If I use something like the CapSense library, is it at all feasible to run this many sensors in close proximity (perhaps with an Arduino mega)? What are the main drawbacks of this technique... I'm guessing the results aren't too reliable or accurate?
  • If I consider a more robust option like sparkfun's MPR121, is it possible to connect more than one breakout board (limitations in I2C communication?) to create more than 12 touch elements?
  • If I am forced to use something like a QMatrix product (Atmel QT60486 perhaps), does anyone know of any existing projects I can take a look at?

Thanks, Scott