Show / Hide Table of Contents

Interface IKeyboardComponent

Interaface for keyboard interaction, keyboard layouts and IME.

Inherited Members
IPalComponent.Name
IPalComponent.Provides
IPalComponent.Logger
IPalComponent.Initialize(ToolkitOptions)
IPalComponent.Uninitialize()
Namespace: OpenTK.Platform
Assembly: OpenTK.Platform.dll
Syntax
public interface IKeyboardComponent : IPalComponent

Properties

SupportsIme

True if the driver supports input method editor functions.

Declaration
bool SupportsIme { get; }
Property Value
Type Description
bool

SupportsLayouts

True if the driver supports keyboard layout functions.

Declaration
bool SupportsLayouts { get; }
Property Value
Type Description
bool

Methods

BeginIme(WindowHandle)

Invoke input method editor.

Declaration
void BeginIme(WindowHandle window)
Parameters
Type Name Description
WindowHandle window

The window corresponding to this IME window.

EndIme(WindowHandle)

Finish input method editor.

Declaration
void EndIme(WindowHandle window)
Parameters
Type Name Description
WindowHandle window

The window corresponding to this IME window.

GetActiveKeyboardLayout(WindowHandle?)

Get the active keyboard layout.

Declaration
string GetActiveKeyboardLayout(WindowHandle? handle)
Parameters
Type Name Description
WindowHandle handle

(optional) Handle to a window to query the layout for. Ignored on systems where keyboard layout is global.

Returns
Type Description
string

A string which describes the active keyboard layout.

Exceptions
Type Condition
PalNotImplementedException

Driver cannot query active keyboard layout.

GetAvailableKeyboardLayouts()

See list of possible keyboard layouts for this system.

Declaration
string[] GetAvailableKeyboardLayouts()
Returns
Type Description
string[]

Array containing possible keyboard layouts.

GetKeyFromScancode(Scancode)

Gets the Key associated with the specidied Scancode. This function uses the current keyboard layout to determine the mapping.

Declaration
Key GetKeyFromScancode(Scancode scancode)
Parameters
Type Name Description
Scancode scancode

The scancode.

Returns
Type Description
Key

The Key associated with the Scancode or Unknown if the scancode can't be mapped to a key.

See Also
GetScancodeFromKey(Key)

GetKeyboardModifiers()

Gets the current keyboard modifiers.

Declaration
KeyModifier GetKeyboardModifiers()
Returns
Type Description
KeyModifier

The current keyboard modifiers.

See Also
GetKeyboardState(bool[])

GetKeyboardState(bool[])

Copies the current state of the keyboard into the specified array. This array should be indexed using Scancode values. The length of this array should be an array able to hold all possible Scancode values.

Declaration
void GetKeyboardState(bool[] keyboardState)
Parameters
Type Name Description
bool[] keyboardState

An array to be filled with the keyboard state.

See Also
GetKeyboardModifiers()

GetScancodeFromKey(Key)

Gets the Scancode associated with the specified Key. The Key to Scancode mapping is not 1 to 1, multiple scancodes can produce the same key. This function will return one of the scancodes that produce the key. This function uses the current keyboard layout to determine the mapping.

Declaration
Scancode GetScancodeFromKey(Key key)
Parameters
Type Name Description
Key key

The key.

Returns
Type Description
Scancode

The Scancode that produces the Key or Unknown if no scancode produces the key.

See Also
GetKeyFromScancode(Scancode)

SetImeRectangle(WindowHandle, int, int, int, int)

Set the rectangle to which the IME interface will appear relative to.

Declaration
void SetImeRectangle(WindowHandle window, int x, int y, int width, int height)
Parameters
Type Name Description
WindowHandle window

The window corresponding to this IME window.

int x

X coordinate of the rectangle in desktop coordinates.

int y

Y coordinate of the rectangle in desktop coordinates.

int width

Width of the rectangle in desktop units.

int height

Height of the rectangle in desktop units.

See Also

Keyboard
In this article
Back to top Generated by DocFX