@@ -223,6 +223,106 @@ static const struct matrix_keymap_data default_keymap_data __devinitdata = {
.keymap_size = ARRAY_SIZE(default_keymap),
};
+static const u32 cros_kbd_keymap[] __devinitdata = {
+ KEY(0, 2, KEY_LEFTCTRL),
+ KEY(0, 4, KEY_RIGHTCTRL),
+
+ KEY(1, 0, KEY_LEFTMETA),
+ KEY(1, 1, KEY_ESC),
+ KEY(1, 2, KEY_TAB),
+ KEY(1, 3, KEY_GRAVE),
+ KEY(1, 4, KEY_A),
+ KEY(1, 5, KEY_Z),
+ KEY(1, 6, KEY_1),
+ KEY(1, 7, KEY_Q),
+
+ KEY(2, 0, KEY_F1),
+ KEY(2, 1, KEY_F4),
+ KEY(2, 2, KEY_F3),
+ KEY(2, 3, KEY_F2),
+ KEY(2, 4, KEY_D),
+ KEY(2, 5, KEY_C),
+ KEY(2, 6, KEY_3),
+ KEY(2, 7, KEY_E),
+
+ KEY(4, 0, KEY_B),
+ KEY(4, 1, KEY_G),
+ KEY(4, 2, KEY_T),
+ KEY(4, 3, KEY_5),
+ KEY(4, 4, KEY_F),
+ KEY(4, 5, KEY_V),
+ KEY(4, 6, KEY_4),
+ KEY(4, 7, KEY_R),
+
+ KEY(5, 0, KEY_F10),
+ KEY(5, 1, KEY_F7),
+ KEY(5, 2, KEY_F6),
+ KEY(5, 3, KEY_F5),
+ KEY(5, 4, KEY_S),
+ KEY(5, 5, KEY_X),
+ KEY(5, 6, KEY_2),
+ KEY(5, 7, KEY_W),
+
+ KEY(6, 0, KEY_RO),
+ KEY(6, 2, KEY_RIGHTBRACE),
+ KEY(6, 4, KEY_K),
+ KEY(6, 5, KEY_COMMA),
+ KEY(6, 6, KEY_8),
+ KEY(6, 7, KEY_I),
+
+ KEY(8, 0, KEY_N),
+ KEY(8, 1, KEY_H),
+ KEY(8, 2, KEY_Y),
+ KEY(8, 3, KEY_6),
+ KEY(8, 4, KEY_J),
+ KEY(8, 5, KEY_M),
+ KEY(8, 6, KEY_7),
+ KEY(8, 7, KEY_U),
+
+ KEY(9, 2, KEY_102ND),
+ KEY(9, 5, KEY_LEFTSHIFT),
+ KEY(9, 7, KEY_RIGHTSHIFT),
+
+ KEY(10, 0, KEY_EQUAL),
+ KEY(10, 1, KEY_APOSTROPHE),
+ KEY(10, 2, KEY_LEFTBRACE),
+ KEY(10, 3, KEY_MINUS),
+ KEY(10, 4, KEY_SEMICOLON),
+ KEY(10, 5, KEY_SLASH),
+ KEY(10, 6, KEY_0),
+ KEY(10, 7, KEY_P),
+
+ KEY(11, 1, KEY_F9),
+ KEY(11, 2, KEY_F8),
+ KEY(11, 4, KEY_L),
+ KEY(11, 5, KEY_DOT),
+ KEY(11, 6, KEY_9),
+ KEY(11, 7, KEY_O),
+
+ KEY(13, 0, KEY_RIGHTALT),
+ KEY(13, 2, KEY_YEN),
+ KEY(13, 4, KEY_BACKSLASH),
+
+ KEY(13, 6, KEY_LEFTALT),
+
+ KEY(14, 1, KEY_BACKSPACE),
+ KEY(14, 3, KEY_BACKSLASH),
+ KEY(14, 4, KEY_ENTER),
+ KEY(14, 5, KEY_SPACE),
+ KEY(14, 6, KEY_DOWN),
+ KEY(14, 7, KEY_UP),
+
+ KEY(15, 1, KEY_MUHENKAN),
+ KEY(15, 3, KEY_HENKAN),
+ KEY(15, 6, KEY_RIGHT),
+ KEY(15, 7, KEY_LEFT),
+};
+
+static const struct matrix_keymap_data cros_keymap_data __devinitdata = {
+ .keymap = cros_kbd_keymap,
+ .keymap_size = ARRAY_SIZE(cros_kbd_keymap),
+};
+
static void tegra_kbc_report_released_keys(struct input_dev *input,
unsigned short old_keycodes[],
unsigned int old_num_keys,