Handle keyboard interrupt at top level