Documentation ¶
Overview ¶
Package key implements key and text events and operations.
Index ¶
- Constants
- type Caret
- type EditEvent
- type Event
- type Filter
- type FocusCmd
- type FocusDirection
- type FocusEvent
- type FocusFilter
- type InputHint
- type InputHintOp
- type Modifiers
- type Name
- type Range
- type SelectionCmd
- type SelectionEvent
- type Snippet
- type SnippetCmd
- type SnippetEvent
- type SoftKeyboardCmd
- type State
Constants ¶
const ModShortcut = ModCtrl
ModShortcut is the platform's shortcut modifier, usually the ctrl modifier. On Apple platforms it is the cmd key.
const ModShortcutAlt = ModCtrl
ModShortcutAlt is the platform's alternative shortcut modifier, usually the ctrl modifier. On Apple platforms it is the alt modifier.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Caret ¶
type Caret struct { // Pos is the intersection point of the caret and its baseline. Pos f32.Point // Ascent is the length of the caret above its baseline. Ascent float32 // Descent is the length of the caret below its baseline. Descent float32 }
Caret represents the position of a caret.
type EditEvent ¶
type EditEvent struct { // Range specifies the range to replace with Text. Range Range Text string }
An EditEvent requests an edit by an input method.
func (EditEvent) ImplementsEvent ¶
func (EditEvent) ImplementsEvent()
type Event ¶
type Event struct { // Name of the key. Name Name // Modifiers is the set of active modifiers when the key was pressed. Modifiers Modifiers // State is the state of the key when the event was fired. State State }
An Event is generated when a key is pressed. For text input use EditEvent.
func (Event) ImplementsEvent ¶
func (Event) ImplementsEvent()
type Filter ¶ added in v0.5.0
type Filter struct { // Focus is the tag that must be focused for the filter to match. It has no effect // if it is nil. Focus event.Tag // Required is the set of modifiers that must be included in events matched. Required Modifiers // Optional is the set of modifiers that may be included in events matched. Optional Modifiers // Name of the key to be matched. As a special case, the empty // Name matches every key not matched by any other filter. Name Name }
Filter matches any Event that matches the parameters.
func (Filter) ImplementsFilter ¶ added in v0.5.0
func (Filter) ImplementsFilter()
type FocusCmd ¶ added in v0.5.0
type FocusCmd struct { // Tag is the new focus. The focus is cleared if Tag is nil, or if Tag // has no [event.Op] references. Tag event.Tag }
FocusCmd requests to set or clear the keyboard focus.
func (FocusCmd) ImplementsCommand ¶ added in v0.5.0
func (FocusCmd) ImplementsCommand()
type FocusDirection ¶ added in v0.5.0
type FocusDirection int
const ( FocusRight FocusDirection = iota FocusLeft FocusUp FocusDown FocusForward FocusBackward )
type FocusEvent ¶
type FocusEvent struct {
Focus bool
}
A FocusEvent is generated when a handler gains or loses focus.
func (FocusEvent) ImplementsEvent ¶
func (FocusEvent) ImplementsEvent()
type FocusFilter ¶ added in v0.5.0
FocusFilter matches any FocusEvent, EditEvent, SnippetEvent, or SelectionEvent with the specified target.
func (FocusFilter) ImplementsFilter ¶ added in v0.5.0
func (FocusFilter) ImplementsFilter()
type InputHint ¶
type InputHint uint8
InputHint changes the on-screen-keyboard type. That hints the type of data that might be entered by the user.
const ( // HintAny hints that any input is expected. HintAny InputHint = iota // HintText hints that text input is expected. It may activate auto-correction and suggestions. HintText // HintNumeric hints that numeric input is expected. It may activate shortcuts for 0-9, "." and ",". HintNumeric // HintEmail hints that email input is expected. It may activate shortcuts for common email characters, such as "@" and ".com". HintEmail // HintURL hints that URL input is expected. It may activate shortcuts for common URL fragments such as "/" and ".com". HintURL // HintTelephone hints that telephone number input is expected. It may activate shortcuts for 0-9, "#" and "*". HintTelephone // HintPassword hints that password input is expected. It may disable autocorrection and enable password autofill. HintPassword )
type InputHintOp ¶ added in v0.5.0
InputHintOp describes the type of text expected by a tag.
func (InputHintOp) Add ¶ added in v0.5.0
func (h InputHintOp) Add(o *op.Ops)
type Modifiers ¶
type Modifiers uint32
Modifiers
const ( // ModCtrl is the ctrl modifier key. ModCtrl Modifiers = 1 << iota // ModCommand is the command modifier key // found on Apple keyboards. ModCommand // ModShift is the shift modifier key. ModShift // ModAlt is the alt modifier key, or the option // key on Apple keyboards. ModAlt // ModSuper is the "logo" modifier key, often // represented by a Windows logo. ModSuper )
type Name ¶ added in v0.5.0
type Name string
Name is the identifier for a keyboard key.
For letters, the upper case form is used, via unicode.ToUpper. The shift modifier is taken into account, all other modifiers are ignored. For example, the "shift-1" and "ctrl-shift-1" combinations both give the Name "!" with the US keyboard layout.
const ( // Names for special keys. NameLeftArrow Name = "←" NameRightArrow Name = "→" NameUpArrow Name = "↑" NameDownArrow Name = "↓" NameReturn Name = "⏎" NameEnter Name = "⌤" NameEscape Name = "⎋" NameHome Name = "⇱" NameEnd Name = "⇲" NameDeleteBackward Name = "⌫" NameDeleteForward Name = "⌦" NamePageUp Name = "⇞" NamePageDown Name = "⇟" NameTab Name = "Tab" NameSpace Name = "Space" NameCtrl Name = "Ctrl" NameShift Name = "Shift" NameAlt Name = "Alt" NameSuper Name = "Super" NameCommand Name = "⌘" NameF1 Name = "F1" NameF2 Name = "F2" NameF3 Name = "F3" NameF4 Name = "F4" NameF5 Name = "F5" NameF6 Name = "F6" NameF7 Name = "F7" NameF8 Name = "F8" NameF9 Name = "F9" NameF10 Name = "F10" NameF11 Name = "F11" NameF12 Name = "F12" NameBack Name = "Back" )
type Range ¶
Range represents a range of text, such as an editor's selection. Start and End are in runes.
type SelectionCmd ¶ added in v0.5.0
SelectionCmd updates the selection for an input handler.
func (SelectionCmd) ImplementsCommand ¶ added in v0.5.0
func (SelectionCmd) ImplementsCommand()
type SelectionEvent ¶
type SelectionEvent Range
SelectionEvent is generated when an input method changes the selection.
func (SelectionEvent) ImplementsEvent ¶
func (SelectionEvent) ImplementsEvent()
type Snippet ¶
Snippet represents a snippet of text content used for communicating between an editor and an input method.
type SnippetCmd ¶ added in v0.5.0
SnippetCmd updates the content snippet for an input handler.
func (SnippetCmd) ImplementsCommand ¶ added in v0.5.0
func (SnippetCmd) ImplementsCommand()
type SnippetEvent ¶
type SnippetEvent Range
SnippetEvent is generated when the snippet range is updated by an input method.
func (SnippetEvent) ImplementsEvent ¶
func (SnippetEvent) ImplementsEvent()
type SoftKeyboardCmd ¶ added in v0.5.0
type SoftKeyboardCmd struct {
Show bool
}
SoftKeyboardCmd shows or hides the on-screen keyboard, if available.
func (SoftKeyboardCmd) ImplementsCommand ¶ added in v0.5.0
func (SoftKeyboardCmd) ImplementsCommand()