Bug 831140 - Improve the keyboard class :adding long press, double tap, ...

This is for enhancing/improving the current keyboard class to fix more stuffs.
Adding double tapping, long pressing, and other new special key value.