For mysterious reasons lost to the sands of time, XAML will _never_ pass us a VK_MENU event. This is something that'll probably get fixed in WinUI 3, but considering we're stuck on system XAML for the time being, the only way to work around this bug is to pass the event through manually. This change generalizes the F7 handler into a "direct key event" handler that uses the same focus and tunneling method to send different key events, and then uses it to send VK_MENU. ## Validation Steps Performed Opened the debug tap, verified that I was seeing alt key ups. Also used some alt keybindings to make sure I didn't break them. Closes #6421
15 lines
664 B
Plaintext
15 lines
664 B
Plaintext
// Copyright (c) Microsoft Corporation.
|
|
// Licensed under the MIT license.
|
|
|
|
namespace TerminalApp
|
|
{
|
|
// C++/winrt makes it difficult to share this idl between two projects,
|
|
// Instead, we just pin the uuid and include it in both TermControl and App
|
|
// If you update this one, please update the one in TerminalControl\TermControl.idl
|
|
// If you change this interface, please update the guid.
|
|
// If you press F7 or Alt and get a runtime error, go make sure both copies are the same.
|
|
[uuid("339e1a87-5315-4da6-96f0-565549b6472b")] interface IDirectKeyListener {
|
|
Boolean OnDirectKeyEvent(UInt32 vkey, Boolean down);
|
|
}
|
|
}
|