using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Security;

namespace Decal.Interop.Inject;

[ComImport]
[Guid("7500929F-4251-4373-B978-286A8A8BECED")]
[InterfaceType(1)]
[SuppressUnmanagedCodeSecurity]
public interface ILayerKeyboard
{
	[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
	void KeyboardChar(ref KeyState pKS);

	[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
	void KeyboardEndCapture(bool bCancel);

	[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
	void KeyboardEvent(int nMsg, int wParam, int lParam);
}
