added keyboard support to the interface; closes #4