Add keyboard event processing