1c72fcc34Sopenharmony_ci#include "bindings.h"
2c72fcc34Sopenharmony_ci#include "mixer_widget.h"
3c72fcc34Sopenharmony_ci
4c72fcc34Sopenharmony_ci#define CNTRL(C) (C%32)
5c72fcc34Sopenharmony_ci
6c72fcc34Sopenharmony_ciuint8_t textbox_bindings[KEY_MAX] = {
7c72fcc34Sopenharmony_ci	['\n'] =          CMD_TEXTBOX_CLOSE,
8c72fcc34Sopenharmony_ci	['\r'] =          CMD_TEXTBOX_CLOSE,
9c72fcc34Sopenharmony_ci	[27] =            CMD_TEXTBOX_CLOSE,
10c72fcc34Sopenharmony_ci	[KEY_CANCEL] =    CMD_TEXTBOX_CLOSE,
11c72fcc34Sopenharmony_ci	[KEY_ENTER] =     CMD_TEXTBOX_CLOSE,
12c72fcc34Sopenharmony_ci	[KEY_CLOSE] =     CMD_TEXTBOX_CLOSE,
13c72fcc34Sopenharmony_ci	[KEY_EXIT] =      CMD_TEXTBOX_CLOSE,
14c72fcc34Sopenharmony_ci	[KEY_DOWN] =      CMD_TEXTBOX_DOWN,
15c72fcc34Sopenharmony_ci	[KEY_SF] =        CMD_TEXTBOX_DOWN,
16c72fcc34Sopenharmony_ci	['J'] =           CMD_TEXTBOX_DOWN,
17c72fcc34Sopenharmony_ci	['j'] =           CMD_TEXTBOX_DOWN,
18c72fcc34Sopenharmony_ci	['X'] =           CMD_TEXTBOX_DOWN,
19c72fcc34Sopenharmony_ci	['x'] =           CMD_TEXTBOX_DOWN,
20c72fcc34Sopenharmony_ci	[KEY_UP] =        CMD_TEXTBOX_UP,
21c72fcc34Sopenharmony_ci	[KEY_SR] =        CMD_TEXTBOX_UP,
22c72fcc34Sopenharmony_ci	['K'] =           CMD_TEXTBOX_UP,
23c72fcc34Sopenharmony_ci	['k'] =           CMD_TEXTBOX_UP,
24c72fcc34Sopenharmony_ci	['W'] =           CMD_TEXTBOX_UP,
25c72fcc34Sopenharmony_ci	['w'] =           CMD_TEXTBOX_UP,
26c72fcc34Sopenharmony_ci	[KEY_LEFT] =      CMD_TEXTBOX_LEFT,
27c72fcc34Sopenharmony_ci	['H'] =           CMD_TEXTBOX_LEFT,
28c72fcc34Sopenharmony_ci	['h'] =           CMD_TEXTBOX_LEFT,
29c72fcc34Sopenharmony_ci	['P'] =           CMD_TEXTBOX_LEFT,
30c72fcc34Sopenharmony_ci	['p'] =           CMD_TEXTBOX_LEFT,
31c72fcc34Sopenharmony_ci	[KEY_RIGHT] =     CMD_TEXTBOX_RIGHT,
32c72fcc34Sopenharmony_ci	['L'] =           CMD_TEXTBOX_RIGHT,
33c72fcc34Sopenharmony_ci	['l'] =           CMD_TEXTBOX_RIGHT,
34c72fcc34Sopenharmony_ci	['N'] =           CMD_TEXTBOX_RIGHT,
35c72fcc34Sopenharmony_ci	['n'] =           CMD_TEXTBOX_RIGHT,
36c72fcc34Sopenharmony_ci	[KEY_NPAGE] =     CMD_TEXTBOX_PAGE_DOWN,
37c72fcc34Sopenharmony_ci	[' '] =           CMD_TEXTBOX_PAGE_DOWN,
38c72fcc34Sopenharmony_ci	[KEY_PPAGE] =     CMD_TEXTBOX_PAGE_UP,
39c72fcc34Sopenharmony_ci	[KEY_BACKSPACE] = CMD_TEXTBOX_PAGE_UP,
40c72fcc34Sopenharmony_ci	['B'] =           CMD_TEXTBOX_PAGE_UP,
41c72fcc34Sopenharmony_ci	['b'] =           CMD_TEXTBOX_PAGE_UP,
42c72fcc34Sopenharmony_ci	[KEY_HOME] =      CMD_TEXTBOX_TOP,
43c72fcc34Sopenharmony_ci	[KEY_BEG] =       CMD_TEXTBOX_TOP,
44c72fcc34Sopenharmony_ci	[KEY_LL] =        CMD_TEXTBOX_BOTTOM,
45c72fcc34Sopenharmony_ci	[KEY_END] =       CMD_TEXTBOX_BOTTOM,
46c72fcc34Sopenharmony_ci	['\t'] =          CMD_TEXTBOX_PAGE_RIGHT,
47c72fcc34Sopenharmony_ci	[KEY_BTAB] =      CMD_TEXTBOX_PAGE_LEFT,
48c72fcc34Sopenharmony_ci};
49c72fcc34Sopenharmony_ci
50c72fcc34Sopenharmony_cicommand_enum mixer_bindings[] = {
51c72fcc34Sopenharmony_ci	[27] =            CMD_MIXER_CLOSE,
52c72fcc34Sopenharmony_ci	[KEY_CANCEL] =    CMD_MIXER_CLOSE,
53c72fcc34Sopenharmony_ci	[KEY_F(10)] =     CMD_MIXER_CLOSE,
54c72fcc34Sopenharmony_ci	[KEY_F(1)] =      CMD_MIXER_HELP,
55c72fcc34Sopenharmony_ci	[KEY_HELP] =      CMD_MIXER_HELP,
56c72fcc34Sopenharmony_ci	['H'] =           CMD_MIXER_HELP,
57c72fcc34Sopenharmony_ci	['h'] =           CMD_MIXER_HELP,
58c72fcc34Sopenharmony_ci	['?'] =           CMD_MIXER_HELP,
59c72fcc34Sopenharmony_ci	[KEY_F(2)] =      CMD_MIXER_SYSTEM_INFORMATION,
60c72fcc34Sopenharmony_ci	['/'] =           CMD_MIXER_SYSTEM_INFORMATION,
61c72fcc34Sopenharmony_ci	[KEY_F(3)] =      CMD_WITH_ARG(CMD_MIXER_SET_VIEW_MODE, VIEW_MODE_PLAYBACK),
62c72fcc34Sopenharmony_ci	[KEY_F(4)] =      CMD_WITH_ARG(CMD_MIXER_SET_VIEW_MODE, VIEW_MODE_CAPTURE),
63c72fcc34Sopenharmony_ci	[KEY_F(5)] =      CMD_WITH_ARG(CMD_MIXER_SET_VIEW_MODE, VIEW_MODE_ALL),
64c72fcc34Sopenharmony_ci	['\t'] =          CMD_MIXER_TOGGLE_VIEW_MODE,
65c72fcc34Sopenharmony_ci	[KEY_F(6)] =      CMD_MIXER_SELECT_CARD,
66c72fcc34Sopenharmony_ci	['S'] =           CMD_MIXER_SELECT_CARD,
67c72fcc34Sopenharmony_ci	['s'] =           CMD_MIXER_SELECT_CARD,
68c72fcc34Sopenharmony_ci	[KEY_REFRESH] =   CMD_MIXER_REFRESH,
69c72fcc34Sopenharmony_ci	[CNTRL('L')] =    CMD_MIXER_REFRESH,
70c72fcc34Sopenharmony_ci	['L'] =           CMD_MIXER_REFRESH,
71c72fcc34Sopenharmony_ci	['l'] =           CMD_MIXER_REFRESH,
72c72fcc34Sopenharmony_ci	[KEY_LEFT] =      CMD_WITH_ARG(CMD_MIXER_PREVIOUS, 1),
73c72fcc34Sopenharmony_ci	['p'] =           CMD_WITH_ARG(CMD_MIXER_PREVIOUS, 1),
74c72fcc34Sopenharmony_ci	['P'] =           CMD_WITH_ARG(CMD_MIXER_PREVIOUS, 1),
75c72fcc34Sopenharmony_ci	[KEY_RIGHT] =     CMD_WITH_ARG(CMD_MIXER_NEXT, 1),
76c72fcc34Sopenharmony_ci	['N'] =           CMD_WITH_ARG(CMD_MIXER_NEXT, 1),
77c72fcc34Sopenharmony_ci	['n'] =           CMD_WITH_ARG(CMD_MIXER_NEXT, 1),
78c72fcc34Sopenharmony_ci	[KEY_PPAGE] =     CMD_WITH_ARG(CMD_MIXER_CONTROL_UP, 5),
79c72fcc34Sopenharmony_ci	[KEY_NPAGE] =     CMD_WITH_ARG(CMD_MIXER_CONTROL_DOWN, 5),
80c72fcc34Sopenharmony_ci	[KEY_LL] =        CMD_WITH_ARG(CMD_MIXER_CONTROL_SET_PERCENT, 0),
81c72fcc34Sopenharmony_ci	[KEY_END] =       CMD_WITH_ARG(CMD_MIXER_CONTROL_SET_PERCENT, 0),
82c72fcc34Sopenharmony_ci	['0'] =           CMD_WITH_ARG(CMD_MIXER_CONTROL_SET_PERCENT, 0),
83c72fcc34Sopenharmony_ci	['1'] =           CMD_WITH_ARG(CMD_MIXER_CONTROL_SET_PERCENT, 10),
84c72fcc34Sopenharmony_ci	['2'] =           CMD_WITH_ARG(CMD_MIXER_CONTROL_SET_PERCENT, 20),
85c72fcc34Sopenharmony_ci	['3'] =           CMD_WITH_ARG(CMD_MIXER_CONTROL_SET_PERCENT, 30),
86c72fcc34Sopenharmony_ci	['4'] =           CMD_WITH_ARG(CMD_MIXER_CONTROL_SET_PERCENT, 40),
87c72fcc34Sopenharmony_ci	['5'] =           CMD_WITH_ARG(CMD_MIXER_CONTROL_SET_PERCENT, 50),
88c72fcc34Sopenharmony_ci	['6'] =           CMD_WITH_ARG(CMD_MIXER_CONTROL_SET_PERCENT, 60),
89c72fcc34Sopenharmony_ci	['7'] =           CMD_WITH_ARG(CMD_MIXER_CONTROL_SET_PERCENT, 70),
90c72fcc34Sopenharmony_ci	['8'] =           CMD_WITH_ARG(CMD_MIXER_CONTROL_SET_PERCENT, 80),
91c72fcc34Sopenharmony_ci	['9'] =           CMD_WITH_ARG(CMD_MIXER_CONTROL_SET_PERCENT, 90),
92c72fcc34Sopenharmony_ci#if 0
93c72fcc34Sopenharmony_ci	[KEY_BEG] =       CMD_WITH_ARG(CMD_MIXER_CONTROL_SET_PERCENT, 100),
94c72fcc34Sopenharmony_ci	[KEY_HELP] =      CMD_WITH_ARG(CMD_MIXER_CONTROL_SET_PERCENT, 100),
95c72fcc34Sopenharmony_ci#endif
96c72fcc34Sopenharmony_ci	[KEY_UP] =        CMD_WITH_ARG(CMD_MIXER_CONTROL_UP, 1),
97c72fcc34Sopenharmony_ci	['+'] =           CMD_WITH_ARG(CMD_MIXER_CONTROL_UP, 1),
98c72fcc34Sopenharmony_ci	['K'] =           CMD_WITH_ARG(CMD_MIXER_CONTROL_UP, 1),
99c72fcc34Sopenharmony_ci	['k'] =           CMD_WITH_ARG(CMD_MIXER_CONTROL_UP, 1),
100c72fcc34Sopenharmony_ci	['W'] =           CMD_WITH_ARG(CMD_MIXER_CONTROL_UP, 1),
101c72fcc34Sopenharmony_ci	['w'] =           CMD_WITH_ARG(CMD_MIXER_CONTROL_UP, 1),
102c72fcc34Sopenharmony_ci	[KEY_DOWN] =      CMD_WITH_ARG(CMD_MIXER_CONTROL_DOWN, 1),
103c72fcc34Sopenharmony_ci	['-'] =           CMD_WITH_ARG(CMD_MIXER_CONTROL_DOWN, 1),
104c72fcc34Sopenharmony_ci	['J'] =           CMD_WITH_ARG(CMD_MIXER_CONTROL_DOWN, 1),
105c72fcc34Sopenharmony_ci	['j'] =           CMD_WITH_ARG(CMD_MIXER_CONTROL_DOWN, 1),
106c72fcc34Sopenharmony_ci	['X'] =           CMD_WITH_ARG(CMD_MIXER_CONTROL_DOWN, 1),
107c72fcc34Sopenharmony_ci	['x'] =           CMD_WITH_ARG(CMD_MIXER_CONTROL_DOWN, 1),
108c72fcc34Sopenharmony_ci	['Q'] =           CMD_WITH_ARG(CMD_MIXER_CONTROL_UP_LEFT, 1),
109c72fcc34Sopenharmony_ci	['q'] =           CMD_WITH_ARG(CMD_MIXER_CONTROL_UP_LEFT, 1),
110c72fcc34Sopenharmony_ci	['Y'] =           CMD_WITH_ARG(CMD_MIXER_CONTROL_DOWN_LEFT, 1),
111c72fcc34Sopenharmony_ci	['y'] =           CMD_WITH_ARG(CMD_MIXER_CONTROL_DOWN_LEFT, 1),
112c72fcc34Sopenharmony_ci	['Z'] =           CMD_WITH_ARG(CMD_MIXER_CONTROL_DOWN_LEFT, 1),
113c72fcc34Sopenharmony_ci	['z'] =           CMD_WITH_ARG(CMD_MIXER_CONTROL_DOWN_LEFT, 1),
114c72fcc34Sopenharmony_ci	['E'] =           CMD_WITH_ARG(CMD_MIXER_CONTROL_UP_RIGHT, 1),
115c72fcc34Sopenharmony_ci	['e'] =           CMD_WITH_ARG(CMD_MIXER_CONTROL_UP_RIGHT, 1),
116c72fcc34Sopenharmony_ci	['C'] =           CMD_WITH_ARG(CMD_MIXER_CONTROL_DOWN_RIGHT, 1),
117c72fcc34Sopenharmony_ci	['c'] =           CMD_WITH_ARG(CMD_MIXER_CONTROL_DOWN_RIGHT, 1),
118c72fcc34Sopenharmony_ci	['M'] =           CMD_WITH_ARG(CMD_MIXER_TOGGLE_MUTE, LEFT|RIGHT),
119c72fcc34Sopenharmony_ci	['m'] =           CMD_WITH_ARG(CMD_MIXER_TOGGLE_MUTE, LEFT|RIGHT),
120c72fcc34Sopenharmony_ci	['<'] =           CMD_WITH_ARG(CMD_MIXER_TOGGLE_MUTE, LEFT),
121c72fcc34Sopenharmony_ci	[','] =           CMD_WITH_ARG(CMD_MIXER_TOGGLE_MUTE, LEFT),
122c72fcc34Sopenharmony_ci	['>'] =           CMD_WITH_ARG(CMD_MIXER_TOGGLE_MUTE, RIGHT),
123c72fcc34Sopenharmony_ci	['.'] =           CMD_WITH_ARG(CMD_MIXER_TOGGLE_MUTE, RIGHT),
124c72fcc34Sopenharmony_ci	[' '] =           CMD_WITH_ARG(CMD_MIXER_TOGGLE_CAPTURE, LEFT|RIGHT),
125c72fcc34Sopenharmony_ci	[KEY_IC] =        CMD_WITH_ARG(CMD_MIXER_TOGGLE_CAPTURE, LEFT),
126c72fcc34Sopenharmony_ci	[';'] =           CMD_WITH_ARG(CMD_MIXER_TOGGLE_CAPTURE, LEFT),
127c72fcc34Sopenharmony_ci	[KEY_DC] =        CMD_WITH_ARG(CMD_MIXER_TOGGLE_CAPTURE, RIGHT),
128c72fcc34Sopenharmony_ci	['\''] =          CMD_WITH_ARG(CMD_MIXER_TOGGLE_CAPTURE, RIGHT),
129c72fcc34Sopenharmony_ci	['B'] =           CMD_MIXER_BALANCE_CONTROL,
130c72fcc34Sopenharmony_ci	['b'] =           CMD_MIXER_BALANCE_CONTROL,
131c72fcc34Sopenharmony_ci	['='] =           CMD_MIXER_BALANCE_CONTROL,
132c72fcc34Sopenharmony_ci};
133