fuchsia.ui.input

PROTOCOLS

ImeService

Defined in fuchsia.ui.input/ime_service.fidl

The service provided by an IME

GetInputMethodEditor

Request

NameType
keyboard_type KeyboardType
action InputMethodAction
initial_state TextInputState
client InputMethodEditorClient
editor request<InputMethodEditor>

ShowKeyboard

Request

NameType

HideKeyboard

Request

NameType

InjectInput

Request

NameType
event InputEvent

DispatchKey

Request

NameType
event fuchsia.ui.input2/KeyEvent

Response

NameType
handled bool

ImeVisibilityService

Defined in fuchsia.ui.input/ime_service.fidl

Onscreen keyboard containers connect to this to know when a keyboard should be shown or hidden.

OnKeyboardVisibilityChanged

Response

NameType
visible bool

InputDeviceRegistry

Defined in fuchsia.ui.input/input_device_registry.fidl

Service to receive input events.

Input devices can describe their capabilities using DeviceDescriptor and register themselves with the InputDeviceRegistry.

RegisterDevice

Register a device with the capabilities described by DeviceDescriptor

Request

NameType
descriptor DeviceDescriptor
input_device request<InputDevice>

InputDevice

Defined in fuchsia.ui.input/input_device_registry.fidl

DispatchReport

Dispatch an InputReport from the device token

Request

NameType
report InputReport

InputMethodEditor

Defined in fuchsia.ui.input/text_input.fidl

A interface for interacting with a text input control.

SetKeyboardType

Request

NameType
keyboard_type KeyboardType

SetState

Request

NameType
state TextInputState

InjectInput

Request

NameType
event InputEvent

Show

Request

NameType

Hide

Request

NameType

InputMethodEditorClient

Defined in fuchsia.ui.input/text_input.fidl

An interface to receive information from TextInputService.

DidUpdateState

Request

NameType
state TextInputState
event InputEvent?

OnAction

Request

NameType
action InputMethodAction

ImeService

Defined in fuchsia.ui.input/ime_service.fidl

The service provided by an IME

GetInputMethodEditor

Request

NameType
keyboard_type KeyboardType
action InputMethodAction
initial_state TextInputState
client InputMethodEditorClient
editor request<InputMethodEditor>

ShowKeyboard

Request

NameType

HideKeyboard

Request

NameType

InjectInput

Request

NameType
event InputEvent

DispatchKey

Request

NameType
event fuchsia.ui.input2/KeyEvent

Response

NameType
handled bool

ImeVisibilityService

Defined in fuchsia.ui.input/ime_service.fidl

Onscreen keyboard containers connect to this to know when a keyboard should be shown or hidden.

OnKeyboardVisibilityChanged

Response

NameType
visible bool

InputDeviceRegistry

Defined in fuchsia.ui.input/input_device_registry.fidl

Service to receive input events.

Input devices can describe their capabilities using DeviceDescriptor and register themselves with the InputDeviceRegistry.

RegisterDevice

Register a device with the capabilities described by DeviceDescriptor

Request

NameType
descriptor DeviceDescriptor
input_device request<InputDevice>

InputDevice

Defined in fuchsia.ui.input/input_device_registry.fidl

DispatchReport

Dispatch an InputReport from the device token

Request

NameType
report InputReport

InputMethodEditor

Defined in fuchsia.ui.input/text_input.fidl

A interface for interacting with a text input control.

SetKeyboardType

Request

NameType
keyboard_type KeyboardType

SetState

Request

NameType
state TextInputState

InjectInput

Request

NameType
event InputEvent

Show

Request

NameType

Hide

Request

NameType

InputMethodEditorClient

Defined in fuchsia.ui.input/text_input.fidl

An interface to receive information from TextInputService.

DidUpdateState

Request

NameType
state TextInputState
event InputEvent?

OnAction

Request

NameType
action InputMethodAction

STRUCTS

SendKeyboardInputCmd

Defined in fuchsia.ui.input/commands.fidl

NameTypeDescriptionDefault
compositor_id uint32 No default
keyboard_event KeyboardEvent No default

SendPointerInputCmd

Defined in fuchsia.ui.input/commands.fidl

NameTypeDescriptionDefault
compositor_id uint32 No default
pointer_event PointerEvent No default

SetHardKeyboardDeliveryCmd

Defined in fuchsia.ui.input/commands.fidl

Typically, clients should receive text inputs from an IME.

For cases where no IME mediation is desired (such as a game application), this command requests Scenic to deliver hard keyboard events to the client.

By default, Scenic will not deliver hard keyboard events to a client.

NameTypeDescriptionDefault
delivery_request bool No default

SetParallelDispatchCmd

Defined in fuchsia.ui.input/commands.fidl

Typically, clients that participate in the hit test should receive input events in parallel. This behavior is required for gesture disambiguation.

This command, typically set by the root presenter, allows disabling parallel dispatch; it is part of the input v2 transition work.

NameTypeDescriptionDefault
parallel_dispatch bool No default

KeyboardEvent

Defined in fuchsia.ui.input/input_events.fidl

KeyboardEvent represents event generated by a user's interaction with a keyboard.

Those events are triggered by distinct pressed state changes of the keys.

The state transitions should be as follows: PRESSED -> (REPEAT ->) RELEASED or PRESSED -> (REPEAT ->) CANCELLED

The input system will repeat those events automatically when a code_point is available.

DEPRECATED: Will be removed in favor of fuchsia.ui.input.KeyEvent.

NameTypeDescriptionDefault
event_time uint64 Time the event was delivered. The time is in nanoseconds and corresponds to the uptime of the machine. No default
device_id uint32 No default
phase KeyboardEventPhase No default
hid_usage uint32 Keyboard HID Usage See https://www.usb.org/sites/default/files/documents/hut1_12v2.pdf No default
code_point uint32 The unicode code point represented by this key event, if any. Dead keys are represented as Unicode combining characters. If there is no unicode code point, this value is zero. No default
modifiers uint32 Key modifiers as defined by the different kModifier constants such as `kModifierCapsLock` currently pressed No default

PointerEvent

Defined in fuchsia.ui.input/input_events.fidl

Pointers represent raw data about the user's interaction with the screen.

The state transitions should be as follows: ADD (-> HOVER) -> DOWN -> MOVE -> UP (-> HOVER) -> REMOVE

At any point after the initial ADD, a transition to CANCEL is also possible.

NameTypeDescriptionDefault
event_time uint64 Time the event was delivered. The time is in nanoseconds and corresponds to the uptime of the machine. No default
device_id uint32 No default
pointer_id uint32 No default
type PointerEventType No default
phase PointerEventPhase No default
x float32 `x` and `y` are in the coordinate system of the View. No default
y float32 No default
radius_major float32 0
radius_minor float32 0
buttons uint32 Currently pressed buttons as defined the kButton constants such as `kMousePrimaryButton` No default

FocusEvent

Defined in fuchsia.ui.input/input_events.fidl

NameTypeDescriptionDefault
event_time uint64 Time the event was delivered. The time is in nanoseconds and corresponds to the uptime of the machine. No default
focused bool Whether the view has gained input focused or not. No default

Range

Defined in fuchsia.ui.input/input_reports.fidl

NameTypeDescriptionDefault
min int32 No default
max int32 No default

RangeF

Defined in fuchsia.ui.input/input_reports.fidl

NameTypeDescriptionDefault
min float32 No default
max float32 No default

Axis

Defined in fuchsia.ui.input/input_reports.fidl

NameTypeDescriptionDefault
range Range No default
resolution int32 1
scale AxisScale AxisScale.LINEAR

AxisF

Defined in fuchsia.ui.input/input_reports.fidl

NameTypeDescriptionDefault
range RangeF No default
resolution float32 1
scale AxisScale AxisScale.LINEAR

MediaButtonsDescriptor

Defined in fuchsia.ui.input/input_reports.fidl

NameTypeDescriptionDefault
buttons uint32 No default

KeyboardDescriptor

Defined in fuchsia.ui.input/input_reports.fidl

NameTypeDescriptionDefault
keys vector<uint32> No default

KeyboardReport

Defined in fuchsia.ui.input/input_reports.fidl

NameTypeDescriptionDefault
pressed_keys vector<uint32> No default

MouseDescriptor

Defined in fuchsia.ui.input/input_reports.fidl

NameTypeDescriptionDefault
rel_x Axis No default
rel_y Axis No default
vscroll Axis? No default
hscroll Axis? No default
buttons uint32 No default

MouseReport

Defined in fuchsia.ui.input/input_reports.fidl

NameTypeDescriptionDefault
rel_x int32 No default
rel_y int32 No default
rel_hscroll int32 No default
rel_vscroll int32 No default
pressed_buttons uint32 No default

StylusDescriptor

Defined in fuchsia.ui.input/input_reports.fidl

NameTypeDescriptionDefault
x Axis No default
y Axis No default
pressure Axis? No default
is_invertible bool false
buttons uint32 No default

StylusReport

Defined in fuchsia.ui.input/input_reports.fidl

NameTypeDescriptionDefault
x int32 No default
y int32 No default
pressure uint32 No default
is_in_contact bool No default
in_range bool No default
is_inverted bool No default
pressed_buttons uint32 No default

TouchscreenDescriptor

Defined in fuchsia.ui.input/input_reports.fidl

NameTypeDescriptionDefault
x Axis No default
y Axis No default
max_finger_id uint32 No default

Touch

Defined in fuchsia.ui.input/input_reports.fidl

NameTypeDescriptionDefault
finger_id uint32 No default
x int32 No default
y int32 No default
width uint32 No default
height uint32 No default

TouchscreenReport

Defined in fuchsia.ui.input/input_reports.fidl

NameTypeDescriptionDefault
touches vector<Touch> No default

SensorDescriptor

Defined in fuchsia.ui.input/input_reports.fidl

NameTypeDescriptionDefault
type SensorType No default
loc SensorLocation No default
min_sampling_freq uint32 No default
max_sampling_freq uint32 No default
fifo_max_event_count uint32 No default
phys_min int32 No default
phys_max int32 No default

MediaButtonsReport

Defined in fuchsia.ui.input/input_reports.fidl

MediaButtonsReport describes the media buttons event delivered from the event stream. Each bool in the report represents a single button where true means the button is being pressed. A single report should be sent on every state change.

NameTypeDescriptionDefault
volume_up bool No default
volume_down bool No default
mic_mute bool No default
reset bool No default

DeviceInfo

Defined in fuchsia.ui.input/input_reports.fidl

NameTypeDescriptionDefault
vendor_id uint32 No default
product_id uint32 No default
version uint32 No default
name string No default

DeviceDescriptor

Defined in fuchsia.ui.input/input_reports.fidl

NameTypeDescriptionDefault
device_info DeviceInfo? No default
keyboard KeyboardDescriptor? No default
media_buttons MediaButtonsDescriptor? No default
mouse MouseDescriptor? No default
stylus StylusDescriptor? No default
touchscreen TouchscreenDescriptor? No default
sensor SensorDescriptor? No default

InputReport

Defined in fuchsia.ui.input/input_reports.fidl

NameTypeDescriptionDefault
event_time uint64 No default
keyboard KeyboardReport? No default
media_buttons MediaButtonsReport? No default
mouse MouseReport? No default
stylus StylusReport? No default
touchscreen TouchscreenReport? No default
sensor SensorReport? No default
trace_id uint64 0

TextRange

Defined in fuchsia.ui.input/text_editing.fidl

A range of characters in a string of text. Although strings in FIDL's wire format are UTF-8 encoded, these indices are measured in UTF-16 code units for legacy reasons. These text input APIs will eventually be replaced by fuchsia.ui.text, which uses code points instead.

NameTypeDescriptionDefault
start int64 The index of the first UTF-16 code unit in the range. If `start` and `end` are both -1, the text range is empty. -1
end int64 The next index after the last UTF-16 code unit in this range. If `start` and `end` are both -1, the text range is empty. -1

TextSelection

Defined in fuchsia.ui.input/text_editing.fidl

A range of text that represents a selection. Although strings in FIDL's wire format are UTF-8 encoded, these indices are measured in UTF-16 code units for legacy reasons. These text input APIs will eventually be replaced by fuchsia.ui.text, which uses code points instead.

Text selection is always directional. Direction should be determined by comparing base and extent.

NameTypeDescriptionDefault
base int64 The offset at which the selection originates, as measured in UTF-16 code units. Might be larger than, smaller than, or equal to extent. No default
extent int64 The offset at which the selection terminates, as measured in UTF-16 code units. When the user uses the arrow keys to adjust the selection, this is the value that changes. Similarly, if the current theme paints a caret on one side of the selection, this is the location at which to paint the caret. Might be larger than, smaller than, or equal to base. No default
affinity TextAffinity If the text range is collapsed and has more than one visual location (e.g., occurs at a line break), which of the two locations to use when painting the caret. No default

TextInputState

Defined in fuchsia.ui.input/text_input.fidl

The current text, selection, and composing state for editing a run of text.

NameTypeDescriptionDefault
revision uint32 Current state revision to avoid race conditions. No default
text string The current text being edited. No default
selection TextSelection The range of text that is currently selected. No default
composing TextRange The range of text that is still being composed. No default

SendKeyboardInputCmd

Defined in fuchsia.ui.input/commands.fidl

NameTypeDescriptionDefault
compositor_id uint32 No default
keyboard_event KeyboardEvent No default

SendPointerInputCmd

Defined in fuchsia.ui.input/commands.fidl

NameTypeDescriptionDefault
compositor_id uint32 No default
pointer_event PointerEvent No default

SetHardKeyboardDeliveryCmd

Defined in fuchsia.ui.input/commands.fidl

Typically, clients should receive text inputs from an IME.

For cases where no IME mediation is desired (such as a game application), this command requests Scenic to deliver hard keyboard events to the client.

By default, Scenic will not deliver hard keyboard events to a client.

NameTypeDescriptionDefault
delivery_request bool No default

SetParallelDispatchCmd

Defined in fuchsia.ui.input/commands.fidl

Typically, clients that participate in the hit test should receive input events in parallel. This behavior is required for gesture disambiguation.

This command, typically set by the root presenter, allows disabling parallel dispatch; it is part of the input v2 transition work.

NameTypeDescriptionDefault
parallel_dispatch bool No default

KeyboardEvent

Defined in fuchsia.ui.input/input_events.fidl

KeyboardEvent represents event generated by a user's interaction with a keyboard.

Those events are triggered by distinct pressed state changes of the keys.

The state transitions should be as follows: PRESSED -> (REPEAT ->) RELEASED or PRESSED -> (REPEAT ->) CANCELLED

The input system will repeat those events automatically when a code_point is available.

DEPRECATED: Will be removed in favor of fuchsia.ui.input.KeyEvent.

NameTypeDescriptionDefault
event_time uint64 Time the event was delivered. The time is in nanoseconds and corresponds to the uptime of the machine. No default
device_id uint32 No default
phase KeyboardEventPhase No default
hid_usage uint32 Keyboard HID Usage See https://www.usb.org/sites/default/files/documents/hut1_12v2.pdf No default
code_point uint32 The unicode code point represented by this key event, if any. Dead keys are represented as Unicode combining characters. If there is no unicode code point, this value is zero. No default
modifiers uint32 Key modifiers as defined by the different kModifier constants such as `kModifierCapsLock` currently pressed No default

PointerEvent

Defined in fuchsia.ui.input/input_events.fidl

Pointers represent raw data about the user's interaction with the screen.

The state transitions should be as follows: ADD (-> HOVER) -> DOWN -> MOVE -> UP (-> HOVER) -> REMOVE

At any point after the initial ADD, a transition to CANCEL is also possible.

NameTypeDescriptionDefault
event_time uint64 Time the event was delivered. The time is in nanoseconds and corresponds to the uptime of the machine. No default
device_id uint32 No default
pointer_id uint32 No default
type PointerEventType No default
phase PointerEventPhase No default
x float32 `x` and `y` are in the coordinate system of the View. No default
y float32 No default
radius_major float32 0
radius_minor float32 0
buttons uint32 Currently pressed buttons as defined the kButton constants such as `kMousePrimaryButton` No default

FocusEvent

Defined in fuchsia.ui.input/input_events.fidl

NameTypeDescriptionDefault
event_time uint64 Time the event was delivered. The time is in nanoseconds and corresponds to the uptime of the machine. No default
focused bool Whether the view has gained input focused or not. No default

Range

Defined in fuchsia.ui.input/input_reports.fidl

NameTypeDescriptionDefault
min int32 No default
max int32 No default

RangeF

Defined in fuchsia.ui.input/input_reports.fidl

NameTypeDescriptionDefault
min float32 No default
max float32 No default

Axis

Defined in fuchsia.ui.input/input_reports.fidl

NameTypeDescriptionDefault
range Range No default
resolution int32 1
scale AxisScale AxisScale.LINEAR

AxisF

Defined in fuchsia.ui.input/input_reports.fidl

NameTypeDescriptionDefault
range RangeF No default
resolution float32 1
scale AxisScale AxisScale.LINEAR

MediaButtonsDescriptor

Defined in fuchsia.ui.input/input_reports.fidl

NameTypeDescriptionDefault
buttons uint32 No default

KeyboardDescriptor

Defined in fuchsia.ui.input/input_reports.fidl

NameTypeDescriptionDefault
keys vector<uint32> No default

KeyboardReport

Defined in fuchsia.ui.input/input_reports.fidl

NameTypeDescriptionDefault
pressed_keys vector<uint32> No default

MouseDescriptor

Defined in fuchsia.ui.input/input_reports.fidl

NameTypeDescriptionDefault
rel_x Axis No default
rel_y Axis No default
vscroll Axis? No default
hscroll Axis? No default
buttons uint32 No default

MouseReport

Defined in fuchsia.ui.input/input_reports.fidl

NameTypeDescriptionDefault
rel_x int32 No default
rel_y int32 No default
rel_hscroll int32 No default
rel_vscroll int32 No default
pressed_buttons uint32 No default

StylusDescriptor

Defined in fuchsia.ui.input/input_reports.fidl

NameTypeDescriptionDefault
x Axis No default
y Axis No default
pressure Axis? No default
is_invertible bool false
buttons uint32 No default

StylusReport

Defined in fuchsia.ui.input/input_reports.fidl

NameTypeDescriptionDefault
x int32 No default
y int32 No default
pressure uint32 No default
is_in_contact bool No default
in_range bool No default
is_inverted bool No default
pressed_buttons uint32 No default

TouchscreenDescriptor

Defined in fuchsia.ui.input/input_reports.fidl

NameTypeDescriptionDefault
x Axis No default
y Axis No default
max_finger_id uint32 No default

Touch

Defined in fuchsia.ui.input/input_reports.fidl

NameTypeDescriptionDefault
finger_id uint32 No default
x int32 No default
y int32 No default
width uint32 No default
height uint32 No default

TouchscreenReport

Defined in fuchsia.ui.input/input_reports.fidl

NameTypeDescriptionDefault
touches vector<Touch> No default

SensorDescriptor

Defined in fuchsia.ui.input/input_reports.fidl

NameTypeDescriptionDefault
type SensorType No default
loc SensorLocation No default
min_sampling_freq uint32 No default
max_sampling_freq uint32 No default
fifo_max_event_count uint32 No default
phys_min int32 No default
phys_max int32 No default

MediaButtonsReport

Defined in fuchsia.ui.input/input_reports.fidl

MediaButtonsReport describes the media buttons event delivered from the event stream. Each bool in the report represents a single button where true means the button is being pressed. A single report should be sent on every state change.

NameTypeDescriptionDefault
volume_up bool No default
volume_down bool No default
mic_mute bool No default
reset bool No default

DeviceInfo

Defined in fuchsia.ui.input/input_reports.fidl

NameTypeDescriptionDefault
vendor_id uint32 No default
product_id uint32 No default
version uint32 No default
name string No default

DeviceDescriptor

Defined in fuchsia.ui.input/input_reports.fidl

NameTypeDescriptionDefault
device_info DeviceInfo? No default
keyboard KeyboardDescriptor? No default
media_buttons MediaButtonsDescriptor? No default
mouse MouseDescriptor? No default
stylus StylusDescriptor? No default
touchscreen TouchscreenDescriptor? No default
sensor SensorDescriptor? No default

InputReport

Defined in fuchsia.ui.input/input_reports.fidl

NameTypeDescriptionDefault
event_time uint64 No default
keyboard KeyboardReport? No default
media_buttons MediaButtonsReport? No default
mouse MouseReport? No default
stylus StylusReport? No default
touchscreen TouchscreenReport? No default
sensor SensorReport? No default
trace_id uint64 0

TextRange

Defined in fuchsia.ui.input/text_editing.fidl

A range of characters in a string of text. Although strings in FIDL's wire format are UTF-8 encoded, these indices are measured in UTF-16 code units for legacy reasons. These text input APIs will eventually be replaced by fuchsia.ui.text, which uses code points instead.

NameTypeDescriptionDefault
start int64 The index of the first UTF-16 code unit in the range. If `start` and `end` are both -1, the text range is empty. -1
end int64 The next index after the last UTF-16 code unit in this range. If `start` and `end` are both -1, the text range is empty. -1

TextSelection

Defined in fuchsia.ui.input/text_editing.fidl

A range of text that represents a selection. Although strings in FIDL's wire format are UTF-8 encoded, these indices are measured in UTF-16 code units for legacy reasons. These text input APIs will eventually be replaced by fuchsia.ui.text, which uses code points instead.

Text selection is always directional. Direction should be determined by comparing base and extent.

NameTypeDescriptionDefault
base int64 The offset at which the selection originates, as measured in UTF-16 code units. Might be larger than, smaller than, or equal to extent. No default
extent int64 The offset at which the selection terminates, as measured in UTF-16 code units. When the user uses the arrow keys to adjust the selection, this is the value that changes. Similarly, if the current theme paints a caret on one side of the selection, this is the location at which to paint the caret. Might be larger than, smaller than, or equal to base. No default
affinity TextAffinity If the text range is collapsed and has more than one visual location (e.g., occurs at a line break), which of the two locations to use when painting the caret. No default

TextInputState

Defined in fuchsia.ui.input/text_input.fidl

The current text, selection, and composing state for editing a run of text.

NameTypeDescriptionDefault
revision uint32 Current state revision to avoid race conditions. No default
text string The current text being edited. No default
selection TextSelection The range of text that is currently selected. No default
composing TextRange The range of text that is still being composed. No default

ENUMS

KeyboardEventPhase

Type: uint32

Defined in fuchsia.ui.input/input_events.fidl

NameValueDescription
PRESSED 0
RELEASED 1
CANCELLED 2
REPEAT 3

PointerEventType

Type: uint32

Defined in fuchsia.ui.input/input_events.fidl

NameValueDescription
TOUCH 0
STYLUS 1
INVERTED_STYLUS 2
MOUSE 3

PointerEventPhase

Type: uint32

Defined in fuchsia.ui.input/input_events.fidl

NameValueDescription
ADD 0
HOVER 1
DOWN 2
MOVE 3
UP 4
REMOVE 5
CANCEL 6

AxisScale

Type: uint32

Defined in fuchsia.ui.input/input_reports.fidl

NameValueDescription
LINEAR 0
LOGARITHMIC 1

SensorType

Type: uint32

Defined in fuchsia.ui.input/input_reports.fidl

NameValueDescription
ACCELEROMETER 0
GYROSCOPE 1
MAGNETOMETER 2
LIGHTMETER 3

SensorLocation

Type: uint32

Defined in fuchsia.ui.input/input_reports.fidl

NameValueDescription
UNKNOWN 0
BASE 1
LID 2

TextAffinity

Type: uint32

Defined in fuchsia.ui.input/text_editing.fidl

Whether a TextPosition is visually upstream or downstream of its offset.

For example, when a text position exists at a line break, a single offset has two visual positions, one prior to the line break (at the end of the first line) and one after the line break (at the start of the second line). A text affinity disambiguates between those cases. (Something similar happens with between runs of bidirectional text.)

NameValueDescription
UPSTREAM 0
DOWNSTREAM 1

KeyboardType

Type: uint32

Defined in fuchsia.ui.input/text_input.fidl

NameValueDescription
TEXT 0
NUMBER 1
PHONE 2
DATETIME 3

InputMethodAction

Type: uint32

Defined in fuchsia.ui.input/text_input.fidl

NameValueDescription
UNSPECIFIED 0
NONE 1
GO 2
SEARCH 3
SEND 4
NEXT 5
DONE 6
PREVIOUS 7

KeyboardEventPhase

Type: uint32

Defined in fuchsia.ui.input/input_events.fidl

NameValueDescription
PRESSED 0
RELEASED 1
CANCELLED 2
REPEAT 3

PointerEventType

Type: uint32

Defined in fuchsia.ui.input/input_events.fidl

NameValueDescription
TOUCH 0
STYLUS 1
INVERTED_STYLUS 2
MOUSE 3

PointerEventPhase

Type: uint32

Defined in fuchsia.ui.input/input_events.fidl

NameValueDescription
ADD 0
HOVER 1
DOWN 2
MOVE 3
UP 4
REMOVE 5
CANCEL 6

AxisScale

Type: uint32

Defined in fuchsia.ui.input/input_reports.fidl

NameValueDescription
LINEAR 0
LOGARITHMIC 1

SensorType

Type: uint32

Defined in fuchsia.ui.input/input_reports.fidl

NameValueDescription
ACCELEROMETER 0
GYROSCOPE 1
MAGNETOMETER 2
LIGHTMETER 3

SensorLocation

Type: uint32

Defined in fuchsia.ui.input/input_reports.fidl

NameValueDescription
UNKNOWN 0
BASE 1
LID 2

TextAffinity

Type: uint32

Defined in fuchsia.ui.input/text_editing.fidl

Whether a TextPosition is visually upstream or downstream of its offset.

For example, when a text position exists at a line break, a single offset has two visual positions, one prior to the line break (at the end of the first line) and one after the line break (at the start of the second line). A text affinity disambiguates between those cases. (Something similar happens with between runs of bidirectional text.)

NameValueDescription
UPSTREAM 0
DOWNSTREAM 1

KeyboardType

Type: uint32

Defined in fuchsia.ui.input/text_input.fidl

NameValueDescription
TEXT 0
NUMBER 1
PHONE 2
DATETIME 3

InputMethodAction

Type: uint32

Defined in fuchsia.ui.input/text_input.fidl

NameValueDescription
UNSPECIFIED 0
NONE 1
GO 2
SEARCH 3
SEND 4
NEXT 5
DONE 6
PREVIOUS 7

TABLES

MediaButtonsEvent

Defined in fuchsia.ui.input/input_events.fidl

OrdinalNameTypeDescription
1 volume int8
2 mic_mute bool

MediaButtonsEvent

Defined in fuchsia.ui.input/input_events.fidl

OrdinalNameTypeDescription
1 volume int8
2 mic_mute bool

UNIONS

Command

Defined in fuchsia.ui.input/commands.fidl

NameTypeDescription
send_keyboard_input SendKeyboardInputCmd Commands for conveying input events to a `Session`. Structs defined in input_events.fidl.
send_pointer_input SendPointerInputCmd
set_hard_keyboard_delivery SetHardKeyboardDeliveryCmd Command to enable/disable delivery of hard keyboard events.
set_parallel_dispatch SetParallelDispatchCmd Command to enable/disable parallel delivery of input events.

InputEvent

Defined in fuchsia.ui.input/input_events.fidl

This union does not include MediaButtonsEvent because it's processed differently.

NameTypeDescription
pointer PointerEvent
keyboard KeyboardEvent
focus FocusEvent

SensorReport

Defined in fuchsia.ui.input/input_reports.fidl

NameTypeDescription
vector int16[3]
scalar uint16

Command

Defined in fuchsia.ui.input/commands.fidl

NameTypeDescription
send_keyboard_input SendKeyboardInputCmd Commands for conveying input events to a `Session`. Structs defined in input_events.fidl.
send_pointer_input SendPointerInputCmd
set_hard_keyboard_delivery SetHardKeyboardDeliveryCmd Command to enable/disable delivery of hard keyboard events.
set_parallel_dispatch SetParallelDispatchCmd Command to enable/disable parallel delivery of input events.

InputEvent

Defined in fuchsia.ui.input/input_events.fidl

This union does not include MediaButtonsEvent because it's processed differently.

NameTypeDescription
pointer PointerEvent
keyboard KeyboardEvent
focus FocusEvent

SensorReport

Defined in fuchsia.ui.input/input_reports.fidl

NameTypeDescription
vector int16[3]
scalar uint16

CONSTANTS

NameValueTypeDescription
kModifierNone 0 uint32 Keyboard modifiers
kModifierCapsLock 1 uint32
kModifierLeftShift 2 uint32
kModifierRightShift 4 uint32
kModifierShift 6 uint32
kModifierLeftControl 8 uint32
kModifierRightControl 16 uint32
kModifierControl 24 uint32
kModifierLeftAlt 32 uint32
kModifierRightAlt 64 uint32
kModifierAlt 96 uint32
kModifierLeftSuper 128 uint32
kModifierRightSuper 256 uint32
kModifierSuper 384 uint32
kMousePrimaryButton 1 uint32 Mouse buttons
kMouseSecondaryButton 2 uint32
kMouseTertiaryButton 4 uint32
kStylusPrimaryButton 1 uint32 Stylus buttons
kStylusSecondaryButton 2 uint32
kMouseButtonPrimary 1 uint32 Common mouse buttons report constants
kMouseButtonSecondary 2 uint32
kMouseButtonTertiary 4 uint32
kStylusBarrel 1 uint32 Common stylus buttons report constants
kVolumeUp 1 uint32 Used as mask bits (2^N) against ButtonDescriptor.buttons.
kVolumeDown 2 uint32
kMicMute 4 uint32
kReset 8 uint32
kModifierNone 0 uint32 Keyboard modifiers
kModifierCapsLock 1 uint32
kModifierLeftShift 2 uint32
kModifierRightShift 4 uint32
kModifierShift 6 uint32
kModifierLeftControl 8 uint32
kModifierRightControl 16 uint32
kModifierControl 24 uint32
kModifierLeftAlt 32 uint32
kModifierRightAlt 64 uint32
kModifierAlt 96 uint32
kModifierLeftSuper 128 uint32
kModifierRightSuper 256 uint32
kModifierSuper 384 uint32
kMousePrimaryButton 1 uint32 Mouse buttons
kMouseSecondaryButton 2 uint32
kMouseTertiaryButton 4 uint32
kStylusPrimaryButton 1 uint32 Stylus buttons
kStylusSecondaryButton 2 uint32
kMouseButtonPrimary 1 uint32 Common mouse buttons report constants
kMouseButtonSecondary 2 uint32
kMouseButtonTertiary 4 uint32
kStylusBarrel 1 uint32 Common stylus buttons report constants
kVolumeUp 1 uint32 Used as mask bits (2^N) against ButtonDescriptor.buttons.
kVolumeDown 2 uint32
kMicMute 4 uint32
kReset 8 uint32