A small program I wrote in C++ in order to demonstrate the following concept:
A user is standing in front of a web camera and scrolls the letters of a virtual
keyboard by moving his head or hand or body or whatever he/she likes to the
appropriate direction. Then he/she selects the appropriate
letter (atm using a key but I intend to change it and select letters
by making a sound) and an X event is sent to the X-server.
This small program was a good opportunity to familiarize myself with the concept
of optical flow and learn how to use the Xlib, the posix threads and the unix pipes
in order to synchronize the camera and the Xserver events.
Here is a video of it:
The code can be downloaded from here.
And a blog post about this keyboard can be found at hikikoblog