Browse Source

mute system beep on alt+key press

pull/2731/head
Yatao Li 7 years ago
parent
commit
94da3aec92
  1. 9
      .gitignore
  2. 8
      src/Windows/Avalonia.Win32/Interop/UnmanagedMethods.cs
  3. 4
      src/Windows/Avalonia.Win32/WindowImpl.cs

9
.gitignore

@ -196,3 +196,12 @@ ModuleCache.noindex/
Build/Intermediates.noindex/
info.plist
build-intermediate
##################
# Vim
##################
.vim
coc-settings.json
.ccls-cache
.ccls

8
src/Windows/Avalonia.Win32/Interop/UnmanagedMethods.cs

@ -607,6 +607,14 @@ namespace Avalonia.Win32.Interop
GWL_USERDATA = -21
}
public enum MenuCharParam
{
MNC_IGNORE = 0,
MNC_CLOSE = 1,
MNC_EXECUTE = 2,
MNC_SELECT = 3
}
[StructLayout(LayoutKind.Sequential)]
public struct RGBQUAD
{

4
src/Windows/Avalonia.Win32/WindowImpl.cs

@ -498,6 +498,10 @@ namespace Avalonia.Win32
KeyInterop.KeyFromVirtualKey(ToInt32(wParam)), WindowsKeyboardDevice.Instance.Modifiers);
break;
case UnmanagedMethods.WindowsMessage.WM_MENUCHAR:
// mute the system beep
return (IntPtr)((Int32)UnmanagedMethods.MenuCharParam.MNC_CLOSE << 16);
case UnmanagedMethods.WindowsMessage.WM_KEYUP:
case UnmanagedMethods.WindowsMessage.WM_SYSKEYUP:
e = new RawKeyEventArgs(

Loading…
Cancel
Save