[PR #10917] [MERGED] Fix layering of sc() keybindings with vk() ones #28295

Open
opened 2026-01-31 09:27:36 +00:00 by claunia · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/microsoft/terminal/pull/10917
Author: @lhecker
Created: 8/11/2021
Status: Merged
Merged: 8/12/2021
Merged by: @undefined

Base: mainHead: dev/lhecker/10875-fix-action-map-layering


📝 Commits (4)

📊 Changes

8 files changed (+99 additions, -74 deletions)

View changed files

📝 .github/actions/spelling/expect/expect.txt (+2 -0)
📝 src/cascadia/LocalTests_SettingsModel/KeyBindingsTests.cpp (+10 -11)
📝 src/cascadia/TerminalControl/KeyChord.cpp (+9 -3)
📝 src/cascadia/TerminalSettingsModel/ActionMap.cpp (+15 -33)
📝 src/cascadia/TerminalSettingsModel/ActionMap.h (+59 -5)
📝 src/cascadia/WindowsTerminal/IslandWindow.cpp (+1 -10)
📝 tools/OpenConsole.psm1 (+1 -10)
📝 tools/tests.xml (+2 -2)

📄 Description

The quake mode keybinding is bound to a scancode. This made it
impossible to override it with a vkey-based one like "win+`".
This commit fixes the issue by making sure that a KeyChord always has a vkey,
and leveraging this fact inside ActionMap, which now ignores the scan-code.

PR Checklist

Validation Steps Performed

  • quake mode and other keybinding still work ✔️
  • Repro settings from #10875 work correctly ✔️

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/microsoft/terminal/pull/10917 **Author:** [@lhecker](https://github.com/lhecker) **Created:** 8/11/2021 **Status:** ✅ Merged **Merged:** 8/12/2021 **Merged by:** [@undefined](undefined) **Base:** `main` ← **Head:** `dev/lhecker/10875-fix-action-map-layering` --- ### 📝 Commits (4) - [`6deaa87`](https://github.com/microsoft/terminal/commit/6deaa87233c9b4c3ddef10b5c7ea85b110324f7f) Fix layering of sc() keybindings with vk() ones - [`220213e`](https://github.com/microsoft/terminal/commit/220213ed716dfddf18ed9c9a53ff08777d9ed832) Fix formatting - [`4923655`](https://github.com/microsoft/terminal/commit/4923655385881cdabcabe80262c868072926e156) Fix build - [`3624100`](https://github.com/microsoft/terminal/commit/36241007e08d3ef2631aeafe01fff10cd52106ca) Fix x86 build ### 📊 Changes **8 files changed** (+99 additions, -74 deletions) <details> <summary>View changed files</summary> 📝 `.github/actions/spelling/expect/expect.txt` (+2 -0) 📝 `src/cascadia/LocalTests_SettingsModel/KeyBindingsTests.cpp` (+10 -11) 📝 `src/cascadia/TerminalControl/KeyChord.cpp` (+9 -3) 📝 `src/cascadia/TerminalSettingsModel/ActionMap.cpp` (+15 -33) 📝 `src/cascadia/TerminalSettingsModel/ActionMap.h` (+59 -5) 📝 `src/cascadia/WindowsTerminal/IslandWindow.cpp` (+1 -10) 📝 `tools/OpenConsole.psm1` (+1 -10) 📝 `tools/tests.xml` (+2 -2) </details> ### 📄 Description The quake mode keybinding is bound to a scancode. This made it impossible to override it with a vkey-based one like "win+\`". This commit fixes the issue by making sure that a `KeyChord` always has a vkey, and leveraging this fact inside ActionMap, which now ignores the scan-code. ## PR Checklist * [x] Closes #10875 * [x] I work here * [x] Tests added/passed ## Validation Steps Performed * quake mode and other keybinding still work ✔️ * Repro settings from #10875 work correctly ✔️ --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
claunia added the pull-request label 2026-01-31 09:27:36 +00:00
Sign in to join this conversation.
No Label pull-request
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#28295