fuchsia.ui.input

Added: 7

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 server_end<InputMethodEditor>

HideKeyboard

Request

<EMPTY>

ShowKeyboard

Request

<EMPTY>

InputDevice

Defined in fuchsia.ui.input/input_device_registry.fidl

Deprecated: 13

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.

DispatchKey3

Deprecated: 8

Request

NameType
event fuchsia.ui.input3/KeyEvent

Response

NameType
handled bool

Hide

Deprecated: 13

Request

<EMPTY>

InjectInput

Deprecated: 8

Request

NameType
event InputEvent

SetKeyboardType

Request

NameType
keyboard_type KeyboardType

SetState

Request

NameType
state TextInputState

Show

Deprecated: 13

Request

<EMPTY>

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

Axis

Defined in fuchsia.ui.input/input_reports.fidl

Deprecated: 13

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

AxisF

Defined in fuchsia.ui.input/input_reports.fidl

Deprecated: 13

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

DeviceDescriptor

Defined in fuchsia.ui.input/input_reports.fidl

Deprecated: 13

FieldTypeDescriptionDefault
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

DeviceInfo

Defined in fuchsia.ui.input/input_reports.fidl

Deprecated: 13

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

FocusEvent

Defined in fuchsia.ui.input/input_events.fidl

Deprecated: 10

FieldTypeDescriptionDefault
event_time uint64

Time the event was delivered. The time is in nanoseconds and corresponds to the monotonic time as determined by the zx_clock_get_monotonic syscall.

No default
focused bool

Whether the view has gained input focused or not.

No default

InputReport

Defined in fuchsia.ui.input/input_reports.fidl

Deprecated: 13

FieldTypeDescriptionDefault
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

KeyboardDescriptor

Defined in fuchsia.ui.input/input_reports.fidl

Deprecated: 13

FieldTypeDescriptionDefault
keys vector<uint32> 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.

Deprecated: 13

FieldTypeDescriptionDefault
event_time uint64

Time the event was delivered. The time is in nanoseconds and corresponds to the monotonic time as determined by the zx_clock_get_monotonic syscall.

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

KeyboardReport

Defined in fuchsia.ui.input/input_reports.fidl

Deprecated: 13

FieldTypeDescriptionDefault
pressed_keys vector<uint32> No default

MediaButtonsDescriptor

Defined in fuchsia.ui.input/input_reports.fidl

Deprecated: 13

FieldTypeDescriptionDefault
buttons uint32 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.

Deprecated: 13

FieldTypeDescriptionDefault
volume_up bool No default
volume_down bool No default
mic_mute bool No default
reset bool No default
pause bool No default
camera_disable bool No default

MouseDescriptor

Defined in fuchsia.ui.input/input_reports.fidl

Deprecated: 13

FieldTypeDescriptionDefault
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

Deprecated: 13

FieldTypeDescriptionDefault
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

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.

Deprecated: 10

FieldTypeDescriptionDefault
event_time uint64

Time the event was delivered. The time is in nanoseconds and corresponds to the monotonic time as determined by the zx_clock_get_monotonic syscall.

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

Range

Defined in fuchsia.ui.input/input_reports.fidl

Deprecated: 13

FieldTypeDescriptionDefault
min int32 No default
max int32 No default

RangeF

Defined in fuchsia.ui.input/input_reports.fidl

Deprecated: 13

FieldTypeDescriptionDefault
min float32 No default
max float32 No default

SendKeyboardInputCmd

Defined in fuchsia.ui.input/commands.fidl

Deprecated: 10

FieldTypeDescriptionDefault
compositor_id uint32 No default
keyboard_event KeyboardEvent No default

SendPointerInputCmd

Defined in fuchsia.ui.input/commands.fidl

Deprecated: 10

FieldTypeDescriptionDefault
compositor_id uint32 No default
pointer_event PointerEvent No default

SensorDescriptor

Defined in fuchsia.ui.input/input_reports.fidl

Deprecated: 13

FieldTypeDescriptionDefault
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

SetHardKeyboardDeliveryCmd

Defined in fuchsia.ui.input/commands.fidl

Deprecated: 10

FieldTypeDescriptionDefault
delivery_request bool No default

SetParallelDispatchCmd

Defined in fuchsia.ui.input/commands.fidl

Deprecated: 10

FieldTypeDescriptionDefault
parallel_dispatch bool No default

StylusDescriptor

Defined in fuchsia.ui.input/input_reports.fidl

Deprecated: 13

FieldTypeDescriptionDefault
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

Deprecated: 13

FieldTypeDescriptionDefault
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

TextInputState

Defined in fuchsia.ui.input/text_input.fidl

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

FieldTypeDescriptionDefault
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

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.

FieldTypeDescriptionDefault
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.

FieldTypeDescriptionDefault
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

Touch

Defined in fuchsia.ui.input/input_reports.fidl

Deprecated: 13

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

TouchscreenDescriptor

Defined in fuchsia.ui.input/input_reports.fidl

Deprecated: 13

FieldTypeDescriptionDefault
x Axis No default
y Axis No default
max_finger_id uint32 No default

TouchscreenReport

Defined in fuchsia.ui.input/input_reports.fidl

Deprecated: 13

FieldTypeDescriptionDefault
touches vector<Touch> No default

ENUMS

AxisScale flexible

Type: uint32

Defined in fuchsia.ui.input/input_reports.fidl

Deprecated: 13

NameValueDescription
0
1

InputMethodAction flexible

Type: uint32

Defined in fuchsia.ui.input/text_input.fidl

Determines what happens if the "action" key is pressed on the keyboard, typically would either be the "Enter" key on a physical keyboard, or an action button on a virtual keyboard, which is usually placed where Enter would be, but with a custom label.

NameValueDescription
0

The method action was not specified at all.

1

No special action is requested.

2

The action is "Go", e.g. execute a command.

3

The action is to invoke a search.

4

The action is to invoke "send", e.g. if this is an email or a SMS message.

5

The action is to move to the next field in the focus sequence.

6

The action is to end the text editing.

7

The action is to move to the previous field in the focus sequence.

8

Pressing the action key inserts a new line into the text field. In contrast to other values, which all stop editing and invoke a specific action.

Added: 8

KeyboardEventPhase flexible

Type: uint32

Defined in fuchsia.ui.input/input_events.fidl

Deprecated: 13

NameValueDescription
0

When key is pressed down.

1

When key is released.

2

This key PRESSED is not directed to this input client anymore.

3

Whether this is an automatically generated key repeat

KeyboardType flexible

Type: uint32

Defined in fuchsia.ui.input/text_input.fidl

Requests a specific keyboard type from the text editing subsystem.

This is most relevant for virtual keyboards which have some leeway in how the keyboard is presented to the user, as well as which input is acceptable.

For example, a NUMBER keyboard type may only allow decimal numbers to be entered. In addition, a virtual keyboard might only show a numeric keypad for text entry.

NameValueDescription
0

Single-line text fields only. Use MULTILINE below for multiline text.

1

A text field intended for entering numbers only.

2

A text field for entering phone numbers only (e.g. digits, limited punctuation, perhaps some validation).

3

A text field for entering date and time. For example, may have a calendar widget on the side, to aid in date time entry.

4

Multi-line text.

Added: 8

PointerEventPhase strict

Type: uint32

Defined in fuchsia.ui.input/input_events.fidl

Deprecated: 10

NameValueDescription
0

The device has started tracking the pointer.

For example, the pointer might be hovering above the device, having not yet made contact with the surface of the device.

1

The pointer has moved with respect to the device while not in contact with the device.

2

The pointer has made contact with the device.

For MOUSE devices, this is triggered when the primary button is pressed down to emulate a touch on the screen.

3

The pointer has moved with respect to the device while in contact with the device.

4

The pointer has stopped making contact with the device.

For MOUSE devices, this is triggered when the primary button is released.

5

The device is no longer tracking the pointer.

For example, the pointer might have drifted out of the device's hover detection range or might have been disconnected from the system entirely.

6

The input from the pointer is no longer directed towards this receiver.

PointerEventType strict

Type: uint32

Defined in fuchsia.ui.input/input_events.fidl

Deprecated: 10

NameValueDescription
0

A touch-based pointer device.

1

A pointer device with a stylus.

2

A pointer device with a stylus that has been inverted.

3

A pointer device without a stylus.

SensorLocation flexible

Type: uint32

Defined in fuchsia.ui.input/input_reports.fidl

Deprecated: 13

NameValueDescription
0
1
2

SensorType flexible

Type: uint32

Defined in fuchsia.ui.input/input_reports.fidl

Deprecated: 13

NameValueDescription
0
1
2
3

TextAffinity strict

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.)

We do not expect new values to be added to this enum.

NameValueDescription
0

The position has affinity for the upstream side of the text position.

For example, if the offset of the text position is a line break, the position represents the end of the first line.

1

The position has affinity for the downstream side of the text position.

For example, if the offset of the text position is a line break, the position represents the start of the second line.

TABLES

MediaButtonsEvent

Defined in fuchsia.ui.input/input_events.fidl

OrdinalFieldTypeDescription
volume int8
mic_mute bool
pause bool
camera_disable bool
power bool
Added: 15

UNIONS

Command strict

Defined in fuchsia.ui.input/commands.fidl

Deprecated: 10
OrdinalVariantTypeDescription
send_keyboard_input SendKeyboardInputCmd
send_pointer_input SendPointerInputCmd
set_hard_keyboard_delivery SetHardKeyboardDeliveryCmd
set_parallel_dispatch SetParallelDispatchCmd

InputEvent strict

Defined in fuchsia.ui.input/input_events.fidl

OrdinalVariantTypeDescription
pointer PointerEvent
Deprecated: 10
keyboard KeyboardEvent
Deprecated: 13
focus FocusEvent
Deprecated: 10

SensorReport strict

Defined in fuchsia.ui.input/input_reports.fidl

Deprecated: 13
OrdinalVariantTypeDescription
vector int16[3]
scalar uint16

CONSTANTS

NameValueTypeDescription
kCameraDisable 32 uint32
Removed: 14 Deprecated: 13
kMicMute 4 uint32
Removed: 14 Deprecated: 13
kModifierAlt 96 uint32
Deprecated: 13
kModifierCapsLock 1 uint32
Deprecated: 13
kModifierControl 24 uint32
Deprecated: 13
kModifierLeftAlt 32 uint32
Deprecated: 13
kModifierLeftControl 8 uint32
Deprecated: 13
kModifierLeftShift 2 uint32
Deprecated: 13
kModifierLeftSuper 128 uint32
Deprecated: 13
kModifierNone 0 uint32

Keyboard modifiers

Deprecated: 13
kModifierRightAlt 64 uint32
Deprecated: 13
kModifierRightControl 16 uint32
Deprecated: 13
kModifierRightShift 4 uint32
Deprecated: 13
kModifierRightSuper 256 uint32
Deprecated: 13
kModifierShift 6 uint32
Deprecated: 13
kModifierSuper 384 uint32
Deprecated: 13
kMouseButtonPrimary 1 uint32

Common mouse buttons report constants

Removed: 14 Deprecated: 13
kMouseButtonSecondary 2 uint32
Removed: 14 Deprecated: 13
kMouseButtonTertiary 4 uint32
Removed: 14 Deprecated: 13
kPause 16 uint32
Removed: 14 Deprecated: 13
kReset 8 uint32
Removed: 14 Deprecated: 13
kStylusBarrel 1 uint32

Common stylus buttons report constants

Removed: 14 Deprecated: 13
kVolumeDown 2 uint32
Removed: 14 Deprecated: 13
kVolumeUp 1 uint32

Used as mask bits (2^N) against ButtonDescriptor.buttons.

Removed: 14 Deprecated: 13