diff options
author | Thomas Voss <mail@thomasvoss.com> | 2023-09-11 05:15:20 +0200 |
---|---|---|
committer | Thomas Voss <mail@thomasvoss.com> | 2023-09-11 05:15:20 +0200 |
commit | bda44e93541fa478abf3ce4b3461f026a90fa8cb (patch) | |
tree | a62a7e1d456effe914a77b45f66485c3e8bfd92d /src/srp/fw-ec/hybrid.diff.html | |
parent | ced3ed9ddde25614bbc9777a5d546eee2a44a2e0 (diff) |
Move the site from HTML to GSP
Diffstat (limited to 'src/srp/fw-ec/hybrid.diff.html')
-rw-r--r-- | src/srp/fw-ec/hybrid.diff.html | 88 |
1 files changed, 0 insertions, 88 deletions
diff --git a/src/srp/fw-ec/hybrid.diff.html b/src/srp/fw-ec/hybrid.diff.html deleted file mode 100644 index 0ad9717..0000000 --- a/src/srp/fw-ec/hybrid.diff.html +++ /dev/null @@ -1,88 +0,0 @@ -<span class="diff-meta">diff --git a/board/hx20/keyboard_customization.c b/board/hx20/keyboard_customization.c</span> -<span class="diff-meta">index 9a5050a0f..2756f17ce 100644</span> -<span class="diff-meta">--- a/board/hx20/keyboard_customization.c</span> -<span class="diff-meta">+++ b/board/hx20/keyboard_customization.c</span> -<span class="diff-loc">@@ -22,12 +22,15 @@</span> - #define CPRINTS(format, args...) cprints(CC_KEYBOARD, format, ## args) - #define CPRINTF(format, args...) cprintf(CC_KEYBOARD, format, ## args) - -<span class="diff-ins">+/* The scancode for the caps-lock key, which is now a hybrid key */</span> -<span class="diff-ins">+#define SCANCODE_CTRL_ESC 0x0101</span> -<span class="diff-ins">+</span> - uint16_t scancode_set2[KEYBOARD_COLS_MAX][KEYBOARD_ROWS] = { - {0x0021, 0x007B, 0x0079, 0x0072, 0x007A, 0x0071, 0x0069, 0xe04A}, - {0xe071, 0xe070, 0x007D, 0xe01f, 0x006c, 0xe06c, 0xe07d, 0x0077}, - {0x0015, 0x0070, 0x00ff, 0x000D, 0x000E, 0x0016, 0x0067, 0x001c}, - {0xe011, 0x0011, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000}, -<span class="diff-del">- {0xe05a, 0x0029, 0x0024, 0x000c, 0x0058, 0x0026, 0x0004, 0xe07a},</span> -<span class="diff-ins">+ {0xe05a, 0x0029, 0x0024, 0x000c, 0x0101, 0x0026, 0x0004, 0xe07a},</span> - {0x0022, 0x001a, 0x0006, 0x0005, 0x001b, 0x001e, 0x001d, 0x0076}, - {0x002A, 0x0032, 0x0034, 0x002c, 0x002e, 0x0025, 0x002d, 0x002b}, - {0x003a, 0x0031, 0x0033, 0x0035, 0x0036, 0x003d, 0x003c, 0x003b}, -<span class="diff-loc">@@ -497,6 +500,55 @@ int functional_hotkey(uint16_t *key_code, int8_t pressed)</span> - return EC_SUCCESS; - } - -<span class="diff-ins">+int try_ctrl_esc(uint16_t *key_code, int8_t pressed) {</span> -<span class="diff-ins">+ static enum {</span> -<span class="diff-ins">+ NONE,</span> -<span class="diff-ins">+ HELD,</span> -<span class="diff-ins">+ CTRL</span> -<span class="diff-ins">+ } ctrl_esc_state;</span> -<span class="diff-ins">+</span> -<span class="diff-ins">+ if (*key_code == SCANCODE_CTRL_ESC) {</span> -<span class="diff-ins">+ /* If we pressed the caps key, enter the HELD state. Otherwise,</span> -<span class="diff-ins">+ * we are either releasing from the HELD state or the CTRL</span> -<span class="diff-ins">+ * state. In both cases we should reset the state to NONE, but</span> -<span class="diff-ins">+ * when releasing from the HELD state we want to send an ESC and</span> -<span class="diff-ins">+ * when releasing from the CTRL state we want to end the CTRL.</span> -<span class="diff-ins">+ *</span> -<span class="diff-ins">+ * Also important to note is that even before we know if we’re</span> -<span class="diff-ins">+ * going to be acting as ESC or CTRL, we need to send a press-</span> -<span class="diff-ins">+ * event of the CTRL key because you can chord CTRL with mouse-</span> -<span class="diff-ins">+ * clicks too, not just other keys.</span> -<span class="diff-ins">+ */</span> -<span class="diff-ins">+ if (pressed) {</span> -<span class="diff-ins">+ ctrl_esc_state = HELD;</span> -<span class="diff-ins">+ simulate_keyboard(SCANCODE_LEFT_CTRL, 1);</span> -<span class="diff-ins">+ } else if (ctrl_esc_state == HELD) {</span> -<span class="diff-ins">+ ctrl_esc_state = NONE;</span> -<span class="diff-ins">+ simulate_keyboard(SCANCODE_LEFT_CTRL, 0);</span> -<span class="diff-ins">+ simulate_keyboard(SCANCODE_ESC, 1);</span> -<span class="diff-ins">+ simulate_keyboard(SCANCODE_ESC, 0);</span> -<span class="diff-ins">+ } else if (ctrl_esc_state == CTRL) {</span> -<span class="diff-ins">+ ctrl_esc_state = NONE;</span> -<span class="diff-ins">+ simulate_keyboard(SCANCODE_LEFT_CTRL, 0);</span> -<span class="diff-ins">+ }</span> -<span class="diff-ins">+</span> -<span class="diff-ins">+ return EC_ERROR_UNIMPLEMENTED;</span> -<span class="diff-ins">+ }</span> -<span class="diff-ins">+</span> -<span class="diff-ins">+ /* If we get here then we are dealing with a key that isn’t the caps</span> -<span class="diff-ins">+ * key. In that case we need to handle all 3 states. If the state is</span> -<span class="diff-ins">+ * NONE then we can just exit from this function. If it’s HELD and we</span> -<span class="diff-ins">+ * are pressing a key, then that’s a key-chord and we need to start a</span> -<span class="diff-ins">+ * CTRL. Finally, if we are in the CTRL state, there is nothing to do.</span> -<span class="diff-ins">+ */</span> -<span class="diff-ins">+ if (ctrl_esc_state == HELD && pressed) {</span> -<span class="diff-ins">+ ctrl_esc_state = CTRL;</span> -<span class="diff-ins">+ simulate_keyboard(SCANCODE_LEFT_CTRL, 1);</span> -<span class="diff-ins">+ }</span> -<span class="diff-ins">+</span> -<span class="diff-ins">+ return EC_SUCCESS;</span> -<span class="diff-ins">+}</span> -<span class="diff-ins">+</span> - enum ec_error_list keyboard_scancode_callback(uint16_t *make_code, - int8_t pressed) - { -<span class="diff-loc">@@ -521,6 +573,10 @@ enum ec_error_list keyboard_scancode_callback(uint16_t *make_code,</span> - if (!pos_get_state()) - return EC_SUCCESS; - -<span class="diff-ins">+ r = try_ctrl_esc(make_code, pressed);</span> -<span class="diff-ins">+ if (r != EC_SUCCESS)</span> -<span class="diff-ins">+ return r;</span> -<span class="diff-ins">+</span> - r = hotkey_F1_F12(make_code, Fn_key, pressed); - if (r != EC_SUCCESS) - return r; |