diff options
Diffstat (limited to 'board/delbin/keyboard_customization.h')
-rw-r--r-- | board/delbin/keyboard_customization.h | 130 |
1 files changed, 130 insertions, 0 deletions
diff --git a/board/delbin/keyboard_customization.h b/board/delbin/keyboard_customization.h new file mode 100644 index 0000000000..bfe5c3b584 --- /dev/null +++ b/board/delbin/keyboard_customization.h @@ -0,0 +1,130 @@ +/* Copyright 2022 The ChromiumOS Authors + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ + +/* Keyboard configuration */ + +#ifndef __KEYBOARD_CUSTOMIZATION_H +#define __KEYBOARD_CUSTOMIZATION_H + +/* + * KEYBOARD_COLS_MAX has the build time column size. It's used to allocate + * exact spaces for arrays. Actual keyboard scanning is done using + * keyboard_cols, which holds a runtime column size. + */ +#define KEYBOARD_COLS_MAX 16 +#define KEYBOARD_ROWS 8 + +/* + * WARNING: Do not directly modify it. You should call keyboard_raw_set_cols, + * instead. It checks whether you're eligible or not. + */ +extern uint8_t keyboard_cols; + +#define KEYBOARD_ROW_TO_MASK(r) (1 << (r)) + +#define KEYBOARD_COL_DOWN 11 +#define KEYBOARD_ROW_DOWN 6 +#define KEYBOARD_MASK_DOWN KEYBOARD_ROW_TO_MASK(KEYBOARD_ROW_DOWN) +#define KEYBOARD_COL_ESC 1 +#define KEYBOARD_ROW_ESC 1 +#define KEYBOARD_MASK_ESC KEYBOARD_ROW_TO_MASK(KEYBOARD_ROW_ESC) +#define KEYBOARD_COL_KEY_H 6 +#define KEYBOARD_ROW_KEY_H 1 +#define KEYBOARD_MASK_KEY_H KEYBOARD_ROW_TO_MASK(KEYBOARD_ROW_KEY_H) +#define KEYBOARD_COL_KEY_R 3 +#define KEYBOARD_ROW_KEY_R 7 +#define KEYBOARD_MASK_KEY_R KEYBOARD_ROW_TO_MASK(KEYBOARD_ROW_KEY_R) +#define KEYBOARD_COL_LEFT_ALT 10 +#define KEYBOARD_ROW_LEFT_ALT 6 +#define KEYBOARD_MASK_LEFT_ALT KEYBOARD_ROW_TO_MASK(KEYBOARD_ROW_LEFT_ALT) +#define KEYBOARD_COL_REFRESH 2 +#ifdef CONFIG_KEYBOARD_REFRESH_ROW3 +#define KEYBOARD_ROW_REFRESH 3 +#else +#define KEYBOARD_ROW_REFRESH 2 +#endif +#define KEYBOARD_MASK_REFRESH KEYBOARD_ROW_TO_MASK(KEYBOARD_ROW_REFRESH) +#define KEYBOARD_COL_RIGHT_ALT 10 +#define KEYBOARD_ROW_RIGHT_ALT 0 +#define KEYBOARD_MASK_RIGHT_ALT KEYBOARD_ROW_TO_MASK(KEYBOARD_ROW_RIGHT_ALT) +#define KEYBOARD_DEFAULT_COL_VOL_UP 4 +#define KEYBOARD_DEFAULT_ROW_VOL_UP 0 +#define KEYBOARD_COL_LEFT_CTRL 0 +#define KEYBOARD_ROW_LEFT_CTRL 2 +#define KEYBOARD_MASK_LEFT_CTRL KEYBOARD_ROW_TO_MASK(KEYBOARD_ROW_LEFT_CTRL) +#define KEYBOARD_COL_RIGHT_CTRL 0 +#define KEYBOARD_ROW_RIGHT_CTRL 4 +#define KEYBOARD_MASK_RIGHT_CTRL KEYBOARD_ROW_TO_MASK(KEYBOARD_ROW_RIGHT_CTRL) +#define KEYBOARD_COL_SEARCH 1 +#define KEYBOARD_ROW_SEARCH 0 +#define KEYBOARD_MASK_SEARCH KEYBOARD_ROW_TO_MASK(KEYBOARD_ROW_SEARCH) +#define KEYBOARD_COL_KEY_0 8 +#define KEYBOARD_ROW_KEY_0 6 +#define KEYBOARD_MASK_KEY_0 KEYBOARD_ROW_TO_MASK(KEYBOARD_ROW_KEY_0) +#define KEYBOARD_COL_KEY_1 1 +#define KEYBOARD_ROW_KEY_1 6 +#define KEYBOARD_MASK_KEY_1 KEYBOARD_ROW_TO_MASK(KEYBOARD_ROW_KEY_1) +#define KEYBOARD_COL_KEY_2 4 +#define KEYBOARD_ROW_KEY_2 6 +#define KEYBOARD_MASK_KEY_2 KEYBOARD_ROW_TO_MASK(KEYBOARD_ROW_KEY_2) +#define KEYBOARD_COL_LEFT_SHIFT 7 +#define KEYBOARD_ROW_LEFT_SHIFT 5 +#define KEYBOARD_MASK_LEFT_SHIFT KEYBOARD_ROW_TO_MASK(KEYBOARD_ROW_LEFT_SHIFT) +#ifdef CONFIG_KEYBOARD_PWRBTN_ASSERTS_KSI2 +#define KEYBOARD_MASK_PWRBTN KEYBOARD_ROW_TO_MASK(2) +#elif defined(CONFIG_KEYBOARD_PWRBTN_ASSERTS_KSI3) +#define KEYBOARD_MASK_PWRBTN KEYBOARD_ROW_TO_MASK(3) +#endif + +/* Columns and masks for keys we particularly care about */ +#define KEYBOARD2_COL_DOWN 11 +#define KEYBOARD2_ROW_DOWN 5 +#define KEYBOARD2_MASK_DOWN KEYBOARD_ROW_TO_MASK(KEYBOARD2_ROW_DOWN) +#define KEYBOARD2_COL_ESC 1 +#define KEYBOARD2_ROW_ESC 1 +#define KEYBOARD2_MASK_ESC KEYBOARD_ROW_TO_MASK(KEYBOARD2_ROW_ESC) +#define KEYBOARD2_COL_KEY_H 6 +#define KEYBOARD2_ROW_KEY_H 1 +#define KEYBOARD2_MASK_KEY_H KEYBOARD_ROW_TO_MASK(KEYBOARD2_ROW_KEY_H) +#define KEYBOARD2_COL_KEY_R 3 +#define KEYBOARD2_ROW_KEY_R 7 +#define KEYBOARD2_MASK_KEY_R KEYBOARD_ROW_TO_MASK(KEYBOARD2_ROW_KEY_R) +#define KEYBOARD2_COL_LEFT_ALT 10 +#define KEYBOARD2_ROW_LEFT_ALT 6 +#define KEYBOARD2_MASK_LEFT_ALT KEYBOARD_ROW_TO_MASK(KEYBOARD2_ROW_LEFT_ALT) +#define KEYBOARD2_COL_REFRESH 2 +#define KEYBOARD2_ROW_REFRESH 3 +#define KEYBOARD2_MASK_REFRESH KEYBOARD_ROW_TO_MASK(KEYBOARD2_ROW_REFRESH) +#define KEYBOARD2_COL_RIGHT_ALT 10 +#define KEYBOARD2_ROW_RIGHT_ALT 0 +#define KEYBOARD2_MASK_RIGHT_ALT KEYBOARD_ROW_TO_MASK(KEYBOARD2_ROW_RIGHT_ALT) +#define KEYBOARD2_DEFAULT_COL_VOL_UP 4 +#define KEYBOARD2_DEFAULT_ROW_VOL_UP 1 +#define KEYBOARD2_COL_LEFT_CTRL 0 +#define KEYBOARD2_ROW_LEFT_CTRL 2 +#define KEYBOARD2_MASK_LEFT_CTRL KEYBOARD_ROW_TO_MASK(KEYBOARD2_ROW_LEFT_CTRL) +#define KEYBOARD2_COL_RIGHT_CTRL 0 +#define KEYBOARD2_ROW_RIGHT_CTRL 4 +#define KEYBOARD2_MASK_RIGHT_CTRL KEYBOARD_ROW_TO_MASK(KEYBOARD2_ROW_RIGHT_CTRL) +#define KEYBOARD2_COL_SEARCH 4 +#define KEYBOARD2_ROW_SEARCH 0 +#define KEYBOARD2_MASK_SEARCH KEYBOARD_ROW_TO_MASK(KEYBOARD2_ROW_SEARCH) +#define KEYBOARD2_COL_KEY_0 9 +#define KEYBOARD2_ROW_KEY_0 0 +#define KEYBOARD2_MASK_KEY_0 KEYBOARD_ROW_TO_MASK(KEYBOARD2_ROW_KEY_0) +#define KEYBOARD2_COL_KEY_1 1 +#define KEYBOARD2_ROW_KEY_1 7 +#define KEYBOARD2_MASK_KEY_1 KEYBOARD_ROW_TO_MASK(KEYBOARD2_ROW_KEY_1) +#define KEYBOARD2_COL_KEY_2 4 +#define KEYBOARD2_ROW_KEY_2 6 +#define KEYBOARD2_MASK_KEY_2 KEYBOARD_ROW_TO_MASK(KEYBOARD2_ROW_KEY_2) +#define KEYBOARD2_COL_LEFT_SHIFT 7 +#define KEYBOARD2_ROW_LEFT_SHIFT 1 +#define KEYBOARD2_MASK_LEFT_SHIFT KEYBOARD_ROW_TO_MASK(KEYBOARD2_ROW_LEFT_SHIFT) + +int keyboard_choose(void); +void key_choose(void); + +#endif /* __KEYBOARD_CUSTOMIZATION_H */ |