Added class for virtual keyboard

Added class to better separate keyboard specific logic from the hook
service.