This sample application uses an eVB Timer object to poll the ADS development system's keypad using the SmartIO function SIOReadKeypad(). If a key has been pressed, the function generates a keypress function through the use of the keybd_event() API.
While the Timer slows application performance, and this specific example may not be great for production, it provides an example of how simple the ADSmartIO libraries are to use.
This performance and utility of this application could be greatly improved by making it a Formless application that your GUI-based eVB app creates through a CreateProcess API call. This would place the KeypadToKeypress translator within its own process space.
This specific sample assumes a 4x4 (16-key) keypad with this layout: