Struct KeyboardEvent
public struct KeyboardEvent : ICommonEvent<KeyboardEvent>, ICommonEvent, ISpanFormattable, IFormattable
- Implements
- Inherited Members
Remarks
Properties
IsDown
Gets or sets a value indicating whether the key is pressed
public bool IsDown { readonly get; set; }
Property Value
- bool
A value indicating whether the key is pressed
IsRepeat
Gets or sets a value indication whether this event represents a repeated key event
public bool IsRepeat { readonly get; set; }
Property Value
- bool
A value indication whether this event represents a repeated key event
KeyboardId
Gets or sets the keyboard device Id of the Keyboard whose key state changed
public uint KeyboardId { readonly get; set; }
Property Value
- uint
The keyboard device Id of the Keyboard whose key state changed, or
0if unknown or virtual
Keycode
Gets or set the virtual keycode of the key
public Keycode Keycode { readonly get; set; }
Property Value
- Keycode
The virtual keycode of the key
Remarks
This property reflects the base Keycode generated by pressing the Scancode using the current keyboard layout, applying any options specified via KeycodeOptions. You can get the Keycode corresponding to the event Scancode and Modifier directly from the keyboard layout, bypassing KeycodeOptions, by calling TryGetFromScancode(Scancode, Keymod, out Keycode).
Modifier
Gets or sets the current key modifiers
public Keymod Modifier { readonly get; set; }
Property Value
- Keymod
The current key modifiers
Raw
Gets or sets the raw platform dependent scancode for this event
public ushort Raw { readonly get; set; }
Property Value
- ushort
The raw platform dependent scancode for this event
Scancode
Gets or set the physical keyboard scancode of the key
public Scancode Scancode { readonly get; set; }
Property Value
- Scancode
The physical keyboard scancode of the key
Timestamp
Gets or sets the timestamp of the current event
public ulong Timestamp { readonly get; set; }
Property Value
- ulong
The timestamp of the current event, in nanoseconds in nanoseconds since the initialization of SDL
Remarks
The value of this property usually describes the time passed, in nanoseconds since the initialization of SDL. It can be properly populated by using NanosecondTicks.
Type
Gets or sets the type of the current event
public EventType Type { readonly get; set; }
Property Value
Remarks
When setting this property, the value must be either KeyDown or KeyUp. Otherwise, it will lead the property to throw an ArgumentException!
Exceptions
- ArgumentException
When setting this property, the value was neither KeyDown nor KeyUp
WindowId
Gets or sets the window Id of the Window with keyboard focus, if any
public uint WindowId { readonly get; set; }
Property Value
- uint
The window Id of the Window with keyboard focus, if any, or
0
Methods
ToString()
Returns the fully qualified type name of this instance.
public override readonly string ToString()
Returns
- string
The fully qualified type name.
ToString(IFormatProvider?)
Formats the value of the current instance using the specified format.
public readonly string ToString(IFormatProvider? formatProvider)
Parameters
formatProviderIFormatProviderThe provider to use to format the value.
-or-
A null reference (
Nothingin Visual Basic) to obtain the numeric format information from the current locale setting of the operating system.
Returns
- string
The value of the current instance in the specified format.
ToString(string?)
Formats the value of the current instance using the specified format.
public readonly string ToString(string? format)
Parameters
formatstringThe format to use.
-or-
A null reference (
Nothingin Visual Basic) to use the default format defined for the type of the IFormattable implementation.
Returns
- string
The value of the current instance in the specified format.
ToString(string?, IFormatProvider?)
Formats the value of the current instance using the specified format.
public readonly string ToString(string? format, IFormatProvider? formatProvider)
Parameters
formatstringThe format to use.
-or-
A null reference (
Nothingin Visual Basic) to use the default format defined for the type of the IFormattable implementation.formatProviderIFormatProviderThe provider to use to format the value.
-or-
A null reference (
Nothingin Visual Basic) to obtain the numeric format information from the current locale setting of the operating system.
Returns
- string
The value of the current instance in the specified format.
TryFormat(Span<char>, out int, ReadOnlySpan<char>, IFormatProvider?)
Tries to format the value of the current instance into the provided span of characters.
public readonly bool TryFormat(Span<char> destination, out int charsWritten, ReadOnlySpan<char> format = default, IFormatProvider? provider = null)
Parameters
destinationSpan<char>The span in which to write this instance's value formatted as a span of characters.
charsWrittenintWhen this method returns, contains the number of characters that were written in
destination.formatReadOnlySpan<char>A span containing the characters that represent a standard or custom format string that defines the acceptable format for
destination.providerIFormatProviderAn optional object that supplies culture-specific formatting information for
destination.
Returns
Operators
explicit operator KeyboardEvent(in Event)
Converts a general Event to an event of type KeyboardEvent
public static explicit operator KeyboardEvent(in Event @event)
Parameters
eventEventThe general Event to convert to an event of type KeyboardEvent
Returns
Remarks
The Type of the given event must be either KeyDown or KeyUp.
Otherwise, it will lead the method to throw an ArgumentException!
Exceptions
implicit operator Event(in KeyboardEvent)
Converts an event of type KeyboardEvent to a general Event
public static implicit operator Event(in KeyboardEvent @event)
Parameters
eventKeyboardEventThe event of type KeyboardEvent to convert to a general Event
Returns
Remarks
This conversion usually requires the event to be copied into a new general Event structure. Note: This can impact performance!