mirror of
https://github.com/Telecominfraproject/OpenCellular.git
synced 2026-01-10 17:41:54 +00:00
samus: change charge override hot keys to ctrl+search+0|1|2
Change the charge override hot keys to ctrol+search+0|1|2 BUG=none BRANCH=samus TEST=use the hot keys and verify that the PD console shows charge override host command Change-Id: I5551190743ea064a967164b9d95143cc966662e1 Signed-off-by: Alec Berg <alecaberg@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/242832 Reviewed-by: Shawn N <shawnn@chromium.org>
This commit is contained in:
committed by
ChromeOS Commit Bot
parent
0ef55f5899
commit
342499a6d0
@@ -278,18 +278,44 @@ static int check_runtime_keys(const uint8_t *state)
|
||||
* be done at higher level than this.
|
||||
*/
|
||||
/*
|
||||
* All runtime key combos are (right or left ) alt + volume up|down +
|
||||
* (some key NOT on the same col as alt or volume up|down )
|
||||
* On samus, ctrl + search + 0|1|2 sets the active charge port
|
||||
* by sending the charge override host command. Should only be sent
|
||||
* when chipset is in S0. Note that 'search' and '1' keys are on
|
||||
* the same column.
|
||||
*/
|
||||
if (state[KEYBOARD_COL_VOL_UP] != KEYBOARD_MASK_VOL_UP &&
|
||||
state[KEYBOARD_COL_VOL_DOWN] != KEYBOARD_MASK_VOL_DOWN)
|
||||
#else
|
||||
if ((state[KEYBOARD_COL_LEFT_CTRL] == KEYBOARD_MASK_LEFT_CTRL ||
|
||||
state[KEYBOARD_COL_RIGHT_CTRL] == KEYBOARD_MASK_RIGHT_CTRL) &&
|
||||
((state[KEYBOARD_COL_SEARCH] & KEYBOARD_MASK_SEARCH) ==
|
||||
KEYBOARD_MASK_SEARCH) &&
|
||||
chipset_in_state(CHIPSET_STATE_ON)) {
|
||||
if (state[KEYBOARD_COL_KEY_0] == KEYBOARD_MASK_KEY_0) {
|
||||
/* Charge from neither port */
|
||||
chg_override = -2;
|
||||
pd_host_command(EC_CMD_PD_CHARGE_PORT_OVERRIDE, 0,
|
||||
&chg_override, 2, NULL, 0);
|
||||
return 0;
|
||||
} else if (state[KEYBOARD_COL_KEY_1] ==
|
||||
(KEYBOARD_MASK_KEY_1 | KEYBOARD_MASK_SEARCH)) {
|
||||
/* Charge from port 0 (left side) */
|
||||
chg_override = 0;
|
||||
pd_host_command(EC_CMD_PD_CHARGE_PORT_OVERRIDE, 0,
|
||||
&chg_override, 2, NULL, 0);
|
||||
return 0;
|
||||
} else if (state[KEYBOARD_COL_KEY_2] == KEYBOARD_MASK_KEY_2) {
|
||||
/* Charge from port 1 (right side) */
|
||||
chg_override = 1;
|
||||
pd_host_command(EC_CMD_PD_CHARGE_PORT_OVERRIDE, 0,
|
||||
&chg_override, 2, NULL, 0);
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
* All runtime key combos are (right or left ) alt + volume up + (some
|
||||
* key NOT on the same col as alt or volume up )
|
||||
*/
|
||||
if (state[KEYBOARD_COL_VOL_UP] != KEYBOARD_MASK_VOL_UP)
|
||||
#endif
|
||||
return 0;
|
||||
|
||||
if (state[KEYBOARD_COL_RIGHT_ALT] != KEYBOARD_MASK_RIGHT_ALT &&
|
||||
@@ -322,36 +348,6 @@ static int check_runtime_keys(const uint8_t *state)
|
||||
system_hibernate(0, 0);
|
||||
return 1;
|
||||
}
|
||||
#ifdef BOARD_SAMUS
|
||||
/*
|
||||
* TODO(crosbug.com/p/34850): remove these hot-keys for samus, should
|
||||
* be done at higher level than this.
|
||||
*/
|
||||
/*
|
||||
* On samus, alt + volume down + 0|1|2 sets the active charge port
|
||||
* by sending the charge override host command. Should only be sent
|
||||
* when chipset is in S0.
|
||||
*/
|
||||
else if (state[KEYBOARD_COL_VOL_DOWN] == KEYBOARD_MASK_VOL_DOWN &&
|
||||
chipset_in_state(CHIPSET_STATE_ON)) {
|
||||
if (state[KEYBOARD_COL_KEY_0] == KEYBOARD_MASK_KEY_0) {
|
||||
/* Charge from neither port */
|
||||
chg_override = -2;
|
||||
pd_host_command(EC_CMD_PD_CHARGE_PORT_OVERRIDE, 0,
|
||||
&chg_override, 2, NULL, 0);
|
||||
} else if (state[KEYBOARD_COL_KEY_1] == KEYBOARD_MASK_KEY_1) {
|
||||
/* Charge from port 0 (left side) */
|
||||
chg_override = 0;
|
||||
pd_host_command(EC_CMD_PD_CHARGE_PORT_OVERRIDE, 0,
|
||||
&chg_override, 2, NULL, 0);
|
||||
} else if (state[KEYBOARD_COL_KEY_2] == KEYBOARD_MASK_KEY_2) {
|
||||
/* Charge from port 1 (right side) */
|
||||
chg_override = 1;
|
||||
pd_host_command(EC_CMD_PD_CHARGE_PORT_OVERRIDE, 0,
|
||||
&chg_override, 2, NULL, 0);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -41,9 +41,15 @@
|
||||
#define KEYBOARD_COL_VOL_UP 4
|
||||
#define KEYBOARD_ROW_VOL_UP 0
|
||||
#define KEYBOARD_MASK_VOL_UP KEYBOARD_ROW_TO_MASK(KEYBOARD_ROW_VOL_UP)
|
||||
#define KEYBOARD_COL_VOL_DOWN 9
|
||||
#define KEYBOARD_ROW_VOL_DOWN 1
|
||||
#define KEYBOARD_MASK_VOL_DOWN KEYBOARD_ROW_TO_MASK(KEYBOARD_ROW_VOL_DOWN)
|
||||
#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)
|
||||
|
||||
Reference in New Issue
Block a user