1. A system for inputting data into a computing device, the system comprising: a camera for capturing a sequence of images containing a finger of a user; a display for displaying each image of the sequence combined with a virtual keyboard, wherein the position of the finger in the displayed image relative to the virtual keyboard changes as the finger of the user moves relative to the camera; a video feature extraction module configured to detect motion of the user's finger in the sequence of images relative to the virtual keyboard, wherein the virtual keyboard comprises a plurality of virtual keys, each virtual key having a plurality of virtual sensors, and wherein the video feature extraction module captures sensor actuation data of the virtual sensors using the detected motion; and a gesture pattern matching module for using the sensor actuation data to recognize a user's gesture and input data into the computing device.