Support keyboard shortcuts

For the 2.3 release, see #526 and #527.