Added keyboard service

Small refactors and added a keyboard service.