diff options
-rw-r--r-- | chip/lm4/keyboard_scan.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/chip/lm4/keyboard_scan.c b/chip/lm4/keyboard_scan.c index 9a1f45e2e1..826b1f8d3e 100644 --- a/chip/lm4/keyboard_scan.c +++ b/chip/lm4/keyboard_scan.c @@ -68,6 +68,8 @@ static const uint8_t actual_key_masks[4][KB_COLS] = { #define MASK_VALUE_LEFT_ALT 0x40 #define MASK_INDEX_KEY_R 3 #define MASK_VALUE_KEY_R 0x80 +#define MASK_INDEX_KEY_H 6 +#define MASK_VALUE_KEY_H 0x02 static void wait_for_interrupt(void) { @@ -163,6 +165,10 @@ static void check_runtime_keys(void) /* R = reboot */ CPRINTF("[%T KB warm reboot]\n"); x86_power_reset(0); + } else if (raw_state[MASK_INDEX_KEY_H] == MASK_VALUE_KEY_H) { + /* H = hibernate */ + CPRINTF("[%T KB hibernate]\n"); + system_hibernate(0, 0); } } |