diff --git a/src/board/system76/common/kbscan.c b/src/board/system76/common/kbscan.c index 6bb46d3..05e7afc 100644 --- a/src/board/system76/common/kbscan.c +++ b/src/board/system76/common/kbscan.c @@ -255,6 +255,18 @@ bool kbscan_press(uint16_t key, bool pressed, uint8_t *layer) { } } break; + case COMBO_CALL_MUTE: + if (kbscan_enabled) { + if (pressed) { + kbc_scancode(K_LEFT_SUPER, true); + kbc_scancode(K_LEFT_ALT, true); + kbc_scancode(K_K, true); + kbc_scancode(K_LEFT_SUPER, false); + kbc_scancode(K_LEFT_ALT, false); + kbc_scancode(K_K, false); + } + } + break; } break; case (KT_SCI): diff --git a/src/common/include/common/keymap.h b/src/common/include/common/keymap.h index 9b3ac02..d57e7c7 100644 --- a/src/common/include/common/keymap.h +++ b/src/common/include/common/keymap.h @@ -57,6 +57,9 @@ uint16_t keymap_translate(uint16_t key); #define K_PRINT_SCREEN (KT_COMBO | COMBO_PRINT_SCREEN) #define COMBO_PAUSE 2 #define K_PAUSE (KT_COMBO | COMBO_PAUSE) +// Windows 11 22H2 "Call Mute" hotkey +#define COMBO_CALL_MUTE 3 +#define K_CALL_MUTE (KT_COMBO | COMBO_CALL_MUTE) // SCI #define KT_SCI (0x4000) diff --git a/src/keyboard/system76/15in_102/keymap/darp9.c b/src/keyboard/system76/15in_102/keymap/darp9.c index 4ad83c9..845494b 100644 --- a/src/keyboard/system76/15in_102/keymap/darp9.c +++ b/src/keyboard/system76/15in_102/keymap/darp9.c @@ -1,8 +1,10 @@ // SPDX-License-Identifier: GPL-3.0-only // Darter Pro 9 layout -// Nearly identical to the default layout, but replaces `K_KBD_COLOR` with -// `K_KBD_BKL` as the RGB keyboard option was removed. +// Nearly identical to the default layout. Replaces `K_KBD_COLOR` with +// `K_KBD_BKL` as the RGB keyboard option was removed. Replaces +// `K_DISPLAY_TOGGLE` with `K_CALL_MUTE` to match new keyboard legends and +// proprietary firmware behavior. #include @@ -17,7 +19,7 @@ LAYOUT( K_LEFT_CTRL, KT_FN, K_LEFT_SUPER, K_LEFT_ALT, K_SPACE, K_RIGHT_ALT, K_APP, K_RIGHT_CTRL, K_LEFT, K_DOWN, K_RIGHT, K_NUM_0, K_NUM_PERIOD ), LAYOUT( - K_ESC, K_TOUCHPAD, K_DISPLAY_TOGGLE, K_MUTE, K_F4, K_VOLUME_DOWN, K_VOLUME_UP, K_DISPLAY_MODE, K_BRIGHTNESS_DOWN, K_BRIGHTNESS_UP, K_CAMERA_TOGGLE, K_AIRPLANE_MODE, K_SUSPEND, K_PRINT_SCREEN, K_SCROLL_LOCK, K_DEL, K_HOME, K_END, K_PAUSE, K_PAUSE, + K_ESC, K_TOUCHPAD, K_CALL_MUTE, K_MUTE, K_F4, K_VOLUME_DOWN, K_VOLUME_UP, K_DISPLAY_MODE, K_BRIGHTNESS_DOWN, K_BRIGHTNESS_UP, K_CAMERA_TOGGLE, K_AIRPLANE_MODE, K_SUSPEND, K_PRINT_SCREEN, K_SCROLL_LOCK, K_DEL, K_HOME, K_END, K_PAUSE, K_PAUSE, K_PLAY_PAUSE, K_FAN_TOGGLE, K_2, K_3, K_4, K_5, K_6, K_7, K_8, K_9, K_0, K_MINUS, K_EQUALS, K_BKSP, K_NUM_LOCK, K_KBD_BKL, K_KBD_TOGGLE, K_KBD_DOWN, K_TAB, K_Q, K_W, K_E, K_R, K_T, K_Y, K_U, K_I, K_O, K_P, K_BRACE_OPEN, K_BRACE_CLOSE, K_BACKSLASH, K_NUM_7, K_NUM_8, K_NUM_9, K_KBD_UP, K_CAPS, K_A, K_S, K_D, K_F, K_G, K_H, K_J, K_K, K_L, K_SEMICOLON, K_QUOTE, K_ENTER, K_NUM_4, K_NUM_5, K_NUM_6,