Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func DetectTextInputDoneMod ¶
func DetectTextInputDoneMod(mods glfw.ModifierKey) bool
DetectTextInputDoneMod returns true if the modifiers pressed indicate the typed text can be committed
Types ¶
type Event ¶
type Event struct { // Common Keymap string `json:"keymap"` // Linux/MacOS switch Character string `json:"character"` KeyCode int `json:"keyCode"` Modifiers int `json:"modifiers"` Type string `json:"type"` // Linux Toolkit string `json:"toolkit,omitempty"` ScanCode int `json:"scanCode,omitempty"` UnicodeScalarValues uint32 `json:"unicodeScalarValues,omitempty"` // MacOS CharactersIgnoringModifiers string `json:"charactersIgnoringModifiers,omitempty"` Characters string `json:"characters,omitempty"` }
Event corresponds to a Flutter (dart) compatible RawKeyEventData keyevent data. Multi-platform keycode translation is handled within this package.
As input, go-flutter gets GLFW-keyevent who are only compatible with RawKeyEventDataLinux. To fully support keyboard shortcut (like Command+C to copy on darwin), the flutter framework expect the sent keyevent data to be in the form of a RawKeyEventDataMacOs keyevent data. This package maps the GLFW key-codes to the MacOS ones.
On the flutter framework side:
RawKeyEventDataMacOs data is received for darwin RawKeyEventDataLinux data is received for linux and windows
func Normalize ¶
func Normalize(key glfw.Key, scancode int, mods glfw.ModifierKey, action glfw.Action) (event Event, err error)
Normalize takes a GLFW-based key and normalizes it by converting the input to a keyboard.Event struct compatible with Flutter for the current OS.
RawKeyEventDataMacOs data for darwin RawKeyEventDataLinux data for linux and windows