Re: [PATCH] Driver for TC35894XBG keypad controller
From: Dmitry Torokhov <hidden>
Date: 2010-10-05 17:47:49
Also in:
linux-i2c
On Tue, Oct 05, 2010 at 05:19:18PM +0100, Alan Cox wrote:
+ +/* + * Largest keycode that the chip can send, plus one, + * so keys can be mapped directly at the index of the + * TC35894XBG keycode instead of subtracting one. + */ +#define TC35894XBG_KEYMAP_SIZE (0x7f + 1) + +#define SHIFT_NEEDED (0x1000) + +#define KEY_EXCLAM (KEY_1 + SHIFT_NEEDED) /* '!' -> shift+1 */ +#define KEY_AT (KEY_2 + SHIFT_NEEDED) /* '@' -> shift+2 */ +#define KEY_NUMBER_SIGN (KEY_3 + SHIFT_NEEDED) /* '#' -> shift+3 */ +#define KEY_DOLLAR_SIGN (KEY_4 + SHIFT_NEEDED) /* '$' -> shift+4 */ +#define KEY_NOR (KEY_6 + SHIFT_NEEDED) /* '^' -> shift+6 */ +#define KEY_PERCENT (KEY_5 + SHIFT_NEEDED) /* '%' -> shift+5 */ +#define KEY_AMPERSAND (KEY_7 + SHIFT_NEEDED) /* '&' -> shift+7 */ +#define KEY_PLUS (KEY_EQUAL + SHIFT_NEEDED) /* '+' -> shift+= */ + +#define KEY_BAR (KEY_BACKSLASH + SHIFT_NEEDED) /* '|' -> shift+\ */ +#define KEY_COLON (KEY_SEMICOLON + SHIFT_NEEDED) /* ':' -> shift+; */ +#define KEY_UNDERSCORE (KEY_MINUS + SHIFT_NEEDED) /* '_' -> shift+- */ +#define KEY_QUOTE_DBL (KEY_APOSTROPHE + SHIFT_NEEDED) /* '"' -> shift+' */
No, this will not fly. It assumes presence of certain keymap which is not necessarily the case. -- Dmitry