~sircmpwn/linux

linux/arch/arm/boot/dts/cros-ec-keyboard.dtsi -rw-r--r-- 3.1 KiB
a99d8080 — Linus Torvalds Linux 5.4-rc6 11 months ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
// SPDX-License-Identifier: GPL-2.0-only
/*
 * Keyboard dts fragment for devices that use cros-ec-keyboard
 *
 * Copyright (c) 2014 Google, Inc
*/

#include <dt-bindings/input/input.h>

&cros_ec {
	keyboard-controller {
		compatible = "google,cros-ec-keyb";
		keypad,num-rows = <8>;
		keypad,num-columns = <13>;
		google,needs-ghost-filter;

		linux,keymap = <
			MATRIX_KEY(0x00, 0x01, KEY_LEFTMETA)
			MATRIX_KEY(0x00, 0x02, KEY_F1)
			MATRIX_KEY(0x00, 0x03, KEY_B)
			MATRIX_KEY(0x00, 0x04, KEY_F10)
			MATRIX_KEY(0x00, 0x05, KEY_RO)
			MATRIX_KEY(0x00, 0x06, KEY_N)
			MATRIX_KEY(0x00, 0x08, KEY_EQUAL)
			MATRIX_KEY(0x00, 0x0a, KEY_RIGHTALT)

			MATRIX_KEY(0x01, 0x01, KEY_ESC)
			MATRIX_KEY(0x01, 0x02, KEY_F4)
			MATRIX_KEY(0x01, 0x03, KEY_G)
			MATRIX_KEY(0x01, 0x04, KEY_F7)
			MATRIX_KEY(0x01, 0x06, KEY_H)
			MATRIX_KEY(0x01, 0x08, KEY_APOSTROPHE)
			MATRIX_KEY(0x01, 0x09, KEY_F9)
			MATRIX_KEY(0x01, 0x0b, KEY_BACKSPACE)
			MATRIX_KEY(0x01, 0x0c, KEY_HENKAN)

			MATRIX_KEY(0x02, 0x00, KEY_LEFTCTRL)
			MATRIX_KEY(0x02, 0x01, KEY_TAB)
			MATRIX_KEY(0x02, 0x02, KEY_F3)
			MATRIX_KEY(0x02, 0x03, KEY_T)
			MATRIX_KEY(0x02, 0x04, KEY_F6)
			MATRIX_KEY(0x02, 0x05, KEY_RIGHTBRACE)
			MATRIX_KEY(0x02, 0x06, KEY_Y)
			MATRIX_KEY(0x02, 0x07, KEY_102ND)
			MATRIX_KEY(0x02, 0x08, KEY_LEFTBRACE)
			MATRIX_KEY(0x02, 0x09, KEY_F8)
			MATRIX_KEY(0x02, 0x0a, KEY_YEN)

			MATRIX_KEY(0x03, 0x01, KEY_GRAVE)
			MATRIX_KEY(0x03, 0x02, KEY_F2)
			MATRIX_KEY(0x03, 0x03, KEY_5)
			MATRIX_KEY(0x03, 0x04, KEY_F5)
			MATRIX_KEY(0x03, 0x06, KEY_6)
			MATRIX_KEY(0x03, 0x08, KEY_MINUS)
			MATRIX_KEY(0x03, 0x09, KEY_F13)
			MATRIX_KEY(0x03, 0x0b, KEY_BACKSLASH)
			MATRIX_KEY(0x03, 0x0c, KEY_MUHENKAN)

			MATRIX_KEY(0x04, 0x00, KEY_RIGHTCTRL)
			MATRIX_KEY(0x04, 0x01, KEY_A)
			MATRIX_KEY(0x04, 0x02, KEY_D)
			MATRIX_KEY(0x04, 0x03, KEY_F)
			MATRIX_KEY(0x04, 0x04, KEY_S)
			MATRIX_KEY(0x04, 0x05, KEY_K)
			MATRIX_KEY(0x04, 0x06, KEY_J)
			MATRIX_KEY(0x04, 0x08, KEY_SEMICOLON)
			MATRIX_KEY(0x04, 0x09, KEY_L)
			MATRIX_KEY(0x04, 0x0a, KEY_BACKSLASH)
			MATRIX_KEY(0x04, 0x0b, KEY_ENTER)

			MATRIX_KEY(0x05, 0x01, KEY_Z)
			MATRIX_KEY(0x05, 0x02, KEY_C)
			MATRIX_KEY(0x05, 0x03, KEY_V)
			MATRIX_KEY(0x05, 0x04, KEY_X)
			MATRIX_KEY(0x05, 0x05, KEY_COMMA)
			MATRIX_KEY(0x05, 0x06, KEY_M)
			MATRIX_KEY(0x05, 0x07, KEY_LEFTSHIFT)
			MATRIX_KEY(0x05, 0x08, KEY_SLASH)
			MATRIX_KEY(0x05, 0x09, KEY_DOT)
			MATRIX_KEY(0x05, 0x0b, KEY_SPACE)

			MATRIX_KEY(0x06, 0x01, KEY_1)
			MATRIX_KEY(0x06, 0x02, KEY_3)
			MATRIX_KEY(0x06, 0x03, KEY_4)
			MATRIX_KEY(0x06, 0x04, KEY_2)
			MATRIX_KEY(0x06, 0x05, KEY_8)
			MATRIX_KEY(0x06, 0x06, KEY_7)
			MATRIX_KEY(0x06, 0x08, KEY_0)
			MATRIX_KEY(0x06, 0x09, KEY_9)
			MATRIX_KEY(0x06, 0x0a, KEY_LEFTALT)
			MATRIX_KEY(0x06, 0x0b, KEY_DOWN)
			MATRIX_KEY(0x06, 0x0c, KEY_RIGHT)

			MATRIX_KEY(0x07, 0x01, KEY_Q)
			MATRIX_KEY(0x07, 0x02, KEY_E)
			MATRIX_KEY(0x07, 0x03, KEY_R)
			MATRIX_KEY(0x07, 0x04, KEY_W)
			MATRIX_KEY(0x07, 0x05, KEY_I)
			MATRIX_KEY(0x07, 0x06, KEY_U)
			MATRIX_KEY(0x07, 0x07, KEY_RIGHTSHIFT)
			MATRIX_KEY(0x07, 0x08, KEY_P)
			MATRIX_KEY(0x07, 0x09, KEY_O)
			MATRIX_KEY(0x07, 0x0b, KEY_UP)
			MATRIX_KEY(0x07, 0x0c, KEY_LEFT)
		>;
	};
};