Refactored to use new keyboard package.