blob: fe1101bf761e1a782136f67a4cfb8e984c2303f7 [file] [log] [blame]
Elyes HAOUASf50b6622020-07-19 14:00:43 +02001/* SPDX-License-Identifier: GPL-2.0-or-later */
Furquan Shaikhe0844632020-05-02 10:23:37 -07002
Furquan Shaikh56eafbb2020-04-30 18:38:55 -07003#ifndef __ACPI_ACPIGEN_PS2_KEYBD_H__
4#define __ACPI_ACPIGEN_PS2_KEYBD_H__
Furquan Shaikhe0844632020-05-02 10:23:37 -07005
6#include <types.h>
7
8enum ps2_action_key {
9 PS2_KEY_ABSENT = 0,
10 PS2_KEY_BACK,
11 PS2_KEY_FORWARD,
12 PS2_KEY_REFRESH,
13 PS2_KEY_FULLSCREEN,
14 PS2_KEY_OVERVIEW,
15 PS2_KEY_BRIGHTNESS_DOWN,
16 PS2_KEY_BRIGHTNESS_UP,
17 PS2_KEY_VOL_MUTE,
18 PS2_KEY_VOL_DOWN,
19 PS2_KEY_VOL_UP,
20 PS2_KEY_SNAPSHOT,
21 PS2_KEY_PRIVACY_SCRN_TOGGLE,
22 PS2_KEY_KBD_BKLIGHT_DOWN,
23 PS2_KEY_KBD_BKLIGHT_UP,
24 PS2_KEY_PLAY_PAUSE,
25 PS2_KEY_NEXT_TRACK,
26 PS2_KEY_PREV_TRACK,
Scott Chao3ecf50b2021-08-03 09:50:57 +080027 PS2_KEY_KBD_BKLIGHT_TOGGLE,
Scott Chaoffd80fd2021-07-30 10:36:23 +080028 PS2_KEY_MICMUTE,
Boris Mittelberg130de14a2022-02-10 16:30:40 -080029 PS2_KEY_MENU,
Aseda Aboagyef2782b82024-04-09 20:15:20 -050030 PS2_KEY_DICTATE,
Aseda Aboagye2f69c2c2024-06-08 03:48:04 +000031 PS2_KEY_ACCESSIBILITY,
Furquan Shaikhe0844632020-05-02 10:23:37 -070032};
33
Jonathon Hallb63017f2023-07-13 16:54:41 -040034#define PS2_MIN_TOP_ROW_KEYS 2
Furquan Shaikhe0844632020-05-02 10:23:37 -070035#define PS2_MAX_TOP_ROW_KEYS 15
36
37void acpigen_ps2_keyboard_dsd(const char *scope, uint8_t num_top_row_keys,
38 enum ps2_action_key action_keys[],
39 bool can_send_function_keys,
Jonathon Hallb63017f2023-07-13 16:54:41 -040040 bool has_numeric_keypad, bool has_scrnlock_key,
Aseda Aboagyeb55000b2024-03-20 21:14:08 -050041 bool has_assistant_key,
Jonathon Hallb63017f2023-07-13 16:54:41 -040042 bool has_alpha_num_punct_keys);
Furquan Shaikhe0844632020-05-02 10:23:37 -070043
Furquan Shaikh56eafbb2020-04-30 18:38:55 -070044#endif /* __ACPI_ACPIGEN_PS2_KEYBD_H__ */