RAWINPUTKEYBOARD (Structures)
Last changed: -93.176.200.208

.
Summary

C# Definition:

    /// <summary>
    /// Value type for raw input from a keyboard.
    /// </summary>    
    [StructLayout(LayoutKind.Sequential)]
    public struct RAWKEYBOARD
    {
        /// <summary>Scan code for key depression.</summary>
        public short MakeCode;
        /// <summary>Scan code information.</summary>
        public RawKeyboardFlags Flags;
        /// <summary>Reserved.</summary>
        public short Reserved;
        /// <summary>Virtual key code.</summary>
        public VirtualKeys VirtualKey;
        /// <summary>Corresponding window message.</summary>
        public WindowsMessages Message;
        /// <summary>Extra information.</summary>
        public int ExtraInformation;
    }

or

    /// <summary>
    /// Value type for raw input from a keyboard.
    /// </summary>    
    [StructLayout(LayoutKind.Sequential)]
    public struct RAWKEYBOARD
    {
        /// <summary>Scan code for key depression.</summary>
        public short MakeCode;
        /// <summary>Scan code information.</summary>
        public RawKeyboardFlags Flags;
        /// <summary>Reserved.</summary>
        public short Reserved;
        /// <summary>Virtual key code.</summary>
        [MarshalAs(UnmanagedType.U2)]
        public System.Windows.Forms.Keys VirtualKey;  //        <---------------------
        /// <summary>Corresponding window message.</summary>
        public WindowsMessages Message;
        /// <summary>Extra information.</summary>
        public int ExtraInformation;
    }

VB Definition:

Structure RAWKEYBOARD
   Public TODO
End Structure

User-Defined Field Types:

None.

Notes:

None.

Documentation
RAWKEYBOARD on MSDN