Use keydown for consistency and so we can capture esc