Add keyboard interrupt handling