use keycodes instead of characters to support all layouts
fix grammar