summaryrefslogtreecommitdiffhomepage
path: root/src/blog/fw-ec/fn-lock-2.diff.gsp
blob: 7f9e702c8a23a32a0920fa4edca873521ebea635 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
@span .diff-meta {-diff --git a/board/hx20/keyboard_customization.c b/board/hx20/keyboard_customization.c}
@span .diff-meta {-index 2b91f2e0c..9a5050a0f 100644}
@span .diff-meta {---- a/board/hx20/keyboard_customization.c}
@span .diff-meta {-+++ b/board/hx20/keyboard_customization.c}
@span .diff-loc {-\@\@ -249,6 +249,23 \@\@ int fn_table_set(int8_t pressed, uint32_t fn_bit)}
 	return false;
 \}

@span .diff-ins {-+static void hx20_update_fnkey_led(void) {}
@span .diff-ins {-+	/* Turn the capslock light into a fn-lock light */}
@span .diff-ins {-+	gpio_set_level(GPIO_CAP_LED_L, (Fn_key & FN_LOCKED) ? 1 : 0);}
@span .diff-ins {-+\}}
@span .diff-ins {-+}
@span .diff-ins {-+/* Set the fn-lock light to the correct setting when the system resumes */}
@span .diff-ins {-+void hx20_fnkey_resume(void) {}
@span .diff-ins {-+	hx20_update_fnkey_led();}
@span .diff-ins {-+\}}
@span .diff-ins {-+DECLARE_HOOK(HOOK_CHIPSET_RESUME, hx20_fnkey_resume, HOOK_PRIO_DEFAULT);}
@span .diff-ins {-+}
@span .diff-ins {-+/* Disable the fn-lock light on suspend */}
@span .diff-ins {-+void hx20_fnkey_suspend(void) {}
@span .diff-ins {-+	gpio_set_level(GPIO_CAP_LED_L, 0);}
@span .diff-ins {-+\}}
@span .diff-ins {-+DECLARE_HOOK(HOOK_CHIPSET_SUSPEND, hx20_fnkey_suspend, HOOK_PRIO_DEFAULT);}
@span .diff-ins {-+}
 void fnkey_shutdown(void) {
 	uint8_t current_kb = 0;

@span .diff-loc {-\@\@ -420,6 +437,7 \@\@ int functional_hotkey(uint16_t *key_code, int8_t pressed)}
 					Fn_key &= ~FN_LOCKED;
 				else
 					Fn_key |= FN_LOCKED;
@span .diff-ins {-+				hx20_update_fnkey_led();}
 			\}
 			return EC_ERROR_UNIMPLEMENTED;
 		\}