fuchsia.ui.input

添加次数:7

协议

ImeService

fuchsia.ui.input/ime_service.fidl 中定义

IME 提供的服务

GetInputMethodEditor

请求

名称类型
keyboard_type KeyboardType
action InputMethodAction
initial_state TextInputState
client InputMethodEditorClient
editor server_end<InputMethodEditor>

HideKeyboard

请求

<EMPTY>

ShowKeyboard

请求

<EMPTY>

InputDevice

fuchsia.ui.input/input_device_registry.fidl 中定义

已废弃:13

DispatchReport

从设备 token 中调度 InputReport

请求

名称类型
report InputReport

InputMethodEditor

fuchsia.ui.input/text_input.fidl 中定义

用于与文本输入控件交互的界面。

DispatchKey3

已弃用:8

请求

名称类型
event fuchsia.ui.input3/KeyEvent

响应

名称类型
handled bool

隐藏

已废弃:13

请求

<EMPTY>

InjectInput

已弃用:8

请求

名称类型
event InputEvent

SetKeyboardType

请求

名称类型
keyboard_type KeyboardType

SetState

请求

名称类型
state TextInputState

显示

已废弃:13

请求

<EMPTY>

InputMethodEditorClient

fuchsia.ui.input/text_input.fidl 中定义

用于从 TextInputService 接收信息的接口。

DidUpdateState

请求

名称类型
state TextInputState
event InputEvent?

OnAction

请求

名称类型
action InputMethodAction

结构

fuchsia.ui.input/input_reports.fidl 中定义

已废弃:13

野战类型说明默认
range Range 无默认取景方式
resolution int32 1
scale AxisScale AxisScale.LINEAR

AxisF

fuchsia.ui.input/input_reports.fidl 中定义

已废弃:13

野战类型说明默认
range RangeF 无默认取景方式
resolution float32 1
scale AxisScale AxisScale.LINEAR

DeviceDescriptor

fuchsia.ui.input/input_reports.fidl 中定义

已废弃:13

野战类型说明默认
device_info DeviceInfo? 无默认取景方式
keyboard KeyboardDescriptor? 无默认取景方式
media_buttons MediaButtonsDescriptor? 无默认取景方式
mouse MouseDescriptor? 无默认取景方式
stylus StylusDescriptor? 无默认取景方式
touchscreen TouchscreenDescriptor? 无默认取景方式
sensor SensorDescriptor? 无默认取景方式

DeviceInfo

fuchsia.ui.input/input_reports.fidl 中定义

已废弃:13

野战类型说明默认
vendor_id uint32 无默认取景方式
product_id uint32 无默认取景方式
version uint32 无默认取景方式
name string 无默认取景方式

FocusEvent

fuchsia.ui.input/input_events.fidl 中定义

已弃用:10

野战类型说明默认
event_time uint64

事件传送时间。该时间以纳秒为单位,对应于由 zx_clock_get_monotonic 系统调用确定的单调时间。

无默认取景方式
focused bool

视图是否已获得输入焦点。

无默认取景方式

InputReport

fuchsia.ui.input/input_reports.fidl 中定义

已废弃:13

野战类型说明默认
event_time uint64 无默认取景方式
keyboard KeyboardReport? 无默认取景方式
media_buttons MediaButtonsReport? 无默认取景方式
mouse MouseReport? 无默认取景方式
stylus StylusReport? 无默认取景方式
touchscreen TouchscreenReport? 无默认取景方式
sensor SensorReport? 无默认取景方式
trace_id uint64 0

KeyboardDescriptor

fuchsia.ui.input/input_reports.fidl 中定义

已废弃:13

野战类型说明默认
keys vector<uint32> 无默认取景方式

KeyboardEvent

fuchsia.ui.input/input_events.fidl 中定义

KeyboardEvent 表示用户与键盘互动生成的事件。

这些事件由按键的不同按下状态变化触发。

状态转换应如下所示:PRESSED -> (REPEAT ->) RELEASED 或 PRESSED -> (REPEAT ->) CANCELLED

当 code_point 可用时,输入系统会自动重复这些事件。

已弃用:将被移除,取而代之的是 fuchsia.ui.input.KeyEvent

已废弃:13

野战类型说明默认
event_time uint64

事件传送时间。该时间以纳秒为单位,对应于由 zx_clock_get_monotonic 系统调用确定的单调时间。

无默认取景方式
device_id uint32 无默认取景方式
phase KeyboardEventPhase 无默认取景方式
hid_usage uint32

键盘 HID 用法 请参阅 https://www.usb.org/sites/default/files/documents/hut1_12v2.pdf

无默认取景方式
code_point uint32

此键事件所表示的 Unicode 代码点(如果有)。 死键表示为 Unicode 组合字符。

如果没有 Unicode 代码点,则此值为零。

无默认取景方式
modifiers uint32

由不同的 kModifier 常量(例如当前按下的 kModifierCapsLock)定义的按键修饰符

无默认取景方式

KeyboardReport

fuchsia.ui.input/input_reports.fidl 中定义

已废弃:13

野战类型说明默认
pressed_keys vector<uint32> 无默认取景方式

MediaButtonsDescriptor

fuchsia.ui.input/input_reports.fidl 中定义

已废弃:13

野战类型说明默认
buttons uint32 无默认取景方式

MediaButtonsReport

fuchsia.ui.input/input_reports.fidl 中定义

MediaButtonsReport 描述从事件流传送的媒体按钮事件。报告中的每个布尔值表示一个按钮,其中 true 表示正在按下该按钮。每次状态更改时应发送一份报告。

已废弃:13

野战类型说明默认
volume_up bool 无默认取景方式
volume_down bool 无默认取景方式
mic_mute bool 无默认取景方式
reset bool 无默认取景方式
pause bool 无默认取景方式
camera_disable bool 无默认取景方式

MouseDescriptor

fuchsia.ui.input/input_reports.fidl 中定义

已废弃:13

野战类型说明默认
rel_x Axis 无默认取景方式
rel_y Axis 无默认取景方式
vscroll Axis? 无默认取景方式
hscroll Axis? 无默认取景方式
buttons uint32 无默认取景方式

MouseReport

fuchsia.ui.input/input_reports.fidl 中定义

已废弃:13

野战类型说明默认
rel_x int32 无默认取景方式
rel_y int32 无默认取景方式
rel_hscroll int32 无默认取景方式
rel_vscroll int32 无默认取景方式
pressed_buttons uint32 无默认取景方式

PointerEvent

fuchsia.ui.input/input_events.fidl 中定义

指针表示有关用户与屏幕互动的原始数据。

状态转换应如下所示:ADD (-> HOVER) -> DOWN -> MOVE -> UP (-> HOVER) -> REMOVE

在初始 ADD 操作之后,也可以随时转为 CANCEL 状态。

已弃用:10

野战类型说明默认
event_time uint64

事件传送时间。该时间以纳秒为单位,对应于由 zx_clock_get_monotonic 系统调用确定的单调时间。

无默认取景方式
device_id uint32 无默认取景方式
pointer_id uint32 无默认取景方式
type PointerEventType 无默认取景方式
phase PointerEventPhase 无默认取景方式
x float32

xy 位于视图的坐标系中。

无默认取景方式
y float32 无默认取景方式
radius_major float32 0
radius_minor float32 0
buttons uint32

当前按下的按钮,按照 kButton 常量的定义,例如 kMousePrimaryButton

无默认取景方式

范围

fuchsia.ui.input/input_reports.fidl 中定义

已废弃:13

野战类型说明默认
min int32 无默认取景方式
max int32 无默认取景方式

RangeF

fuchsia.ui.input/input_reports.fidl 中定义

已废弃:13

野战类型说明默认
min float32 无默认取景方式
max float32 无默认取景方式

SendKeyboardInputCmd

fuchsia.ui.input/commands.fidl 中定义

已弃用:10

野战类型说明默认
compositor_id uint32 无默认取景方式
keyboard_event KeyboardEvent 无默认取景方式

SendPointerInputCmd

fuchsia.ui.input/commands.fidl 中定义

已弃用:10

野战类型说明默认
compositor_id uint32 无默认取景方式
pointer_event PointerEvent 无默认取景方式

SensorDescriptor

fuchsia.ui.input/input_reports.fidl 中定义

已废弃:13

野战类型说明默认
type SensorType 无默认取景方式
loc SensorLocation 无默认取景方式
min_sampling_freq uint32 无默认取景方式
max_sampling_freq uint32 无默认取景方式
fifo_max_event_count uint32 无默认取景方式
phys_min int32 无默认取景方式
phys_max int32 无默认取景方式

SetHardKeyboardDeliveryCmd

fuchsia.ui.input/commands.fidl 中定义

已弃用:10

野战类型说明默认
delivery_request bool 无默认取景方式

SetParallelDispatchCmd

fuchsia.ui.input/commands.fidl 中定义

已弃用:10

野战类型说明默认
parallel_dispatch bool 无默认取景方式

StylusDescriptor

fuchsia.ui.input/input_reports.fidl 中定义

已废弃:13

野战类型说明默认
x Axis 无默认取景方式
y Axis 无默认取景方式
pressure Axis? 无默认取景方式
is_invertible bool false
buttons uint32 无默认取景方式

StylusReport

fuchsia.ui.input/input_reports.fidl 中定义

已废弃:13

野战类型说明默认
x int32 无默认取景方式
y int32 无默认取景方式
pressure uint32 无默认取景方式
is_in_contact bool 无默认取景方式
in_range bool 无默认取景方式
is_inverted bool 无默认取景方式
pressed_buttons uint32 无默认取景方式

TextInputState

fuchsia.ui.input/text_input.fidl 中定义

用于修改一连串文本的当前文本、选择和撰写状态。

野战类型说明默认
revision uint32

修订当前状态以避免出现竞态条件。

无默认取景方式
text string

当前正在编辑的文本。

无默认取景方式
selection TextSelection

当前所选文字的范围。

无默认取景方式
composing TextRange

仍在撰写的文本范围。

无默认取景方式

TextRange

fuchsia.ui.input/text_editing.fidl 中定义

文本字符串中的一系列字符。虽然 FIDL 传输格式的字符串采用 UTF-8 编码,但由于遗留原因,这些索引是以 UTF-16 代码单元衡量的。这些文本输入 API 最终将被 fuchsia.ui.text 取代,后者改为使用码位。

野战类型说明默认
start int64

范围内第一个 UTF-16 代码单元的索引。

如果 startend 的值均为 -1,则文本范围为空。

-1
end int64

此范围中最后一个 UTF-16 代码单元之后的下一个索引。

如果 startend 的值均为 -1,则文本范围为空。

-1

TextSelection

fuchsia.ui.input/text_editing.fidl 中定义

表示选择的文本范围。虽然 FIDL 传输格式的字符串采用 UTF-8 编码,但由于遗留原因,这些索引是以 UTF-16 代码单元衡量的。这些文本输入 API 最终将被 fuchsia.ui.text 取代,后者改为使用码位。

文本选择始终具有方向性。应通过比较基准范围和范围来确定方向。

野战类型说明默认
base int64

所选内容的起始偏移量,以 UTF-16 代码单元为单位。

可以大于、小于或等于程度。

无默认取景方式
extent int64

选择终止的偏移量,以 UTF-16 代码单元为单位进行衡量。

当用户使用箭头键调整选择时,该值会发生变化。同样,如果当前主题在所选内容的一侧绘制插入符号,则这是绘制插入符号的位置。

可以大于、小于或等于底数。

无默认取景方式
affinity TextAffinity

如果文本范围处于收起状态且有多个可视位置(例如,在换行符处发生),则在绘制插入符号时应使用两个位置中的哪个位置。

无默认取景方式

触控

fuchsia.ui.input/input_reports.fidl 中定义

已废弃:13

野战类型说明默认
finger_id uint32 无默认取景方式
x int32 无默认取景方式
y int32 无默认取景方式
width uint32 无默认取景方式
height uint32 无默认取景方式

TouchscreenDescriptor

fuchsia.ui.input/input_reports.fidl 中定义

已废弃:13

野战类型说明默认
x Axis 无默认取景方式
y Axis 无默认取景方式
max_finger_id uint32 无默认取景方式

TouchscreenReport

fuchsia.ui.input/input_reports.fidl 中定义

已废弃:13

野战类型说明默认
touches vector<Touch> 无默认取景方式

枚举

AxisScale 灵活

类型:uint32

fuchsia.ui.input/input_reports.fidl 中定义

已废弃:13

名称说明
0
1

InputMethodAction 灵活

类型:uint32

fuchsia.ui.input/text_input.fidl 中定义

确定在键盘上按“操作”键时会发生什么情况,一般是实体键盘上的“Enter”键或虚拟键盘上的操作按钮(通常位于 Enter 键的位置,但带有自定义标签)。

名称说明
0

未指定方法操作。

1

无需采取任何特殊操作。

2

操作是“开始”,例如执行一个命令。

3

该操作是调用搜索。

4

操作是调用“发送”,例如这是电子邮件还是短信。

5

此操作是移至对焦序列中的下一个字段。

6

该操作将结束文本编辑。

7

该操作是移至对焦序列中的上一个字段。

8

按操作键会在文本字段中插入一个新行。与其他值相反,它们都会停止修改并调用特定操作。

添加:8 项

KeyboardEventPhase

类型:uint32

fuchsia.ui.input/input_events.fidl 中定义

已废弃:13

名称说明
0

当键被按下时。

1

当键被释放时。

2

系统不会再将此键“PRESSED”定向到此输入客户端。

3

是否为自动生成的密钥重复

KeyboardType 柔性

类型:uint32

fuchsia.ui.input/text_input.fidl 中定义

从文本编辑子系统请求特定键盘类型。

这与虚拟键盘最为相关,虚拟键盘在呈现给用户的方式以及可接受的输入方式方面有一定程度的调整。

例如,NUMBER 键盘类型可能只允许输入十进制数字。此外,虚拟键盘可能只显示用于文本输入的数字键盘。

名称说明
0

仅限单行式文本字段。对于多行文本,请使用下面的“MULTILINE”。

1

仅用于输入数字的文本字段。

2

仅用于输入电话号码的文本字段(例如数字、有限的标点符号,或许是一些验证)。

3

用于输入日期和时间的文本字段。例如,在侧面可以放置一个日历微件,以帮助输入日期时间。

4

多行文本。

添加:8 项

PointerEventPhase 严格

类型:uint32

fuchsia.ui.input/input_events.fidl 中定义

已弃用:10

名称说明
0

设备已开始跟踪指针。

例如,指针可能悬停在设备上方,尚未与设备表面接触。

1

在未与设备接触的情况下,指针已相对于设备移动。

2

指针已与设备接触。

对于 MOUSE 设备,当主按钮被按下以模拟屏幕轻触时,就会触发此测试。

3

在与设备接触时,指针已相对于设备移动。

4

指针已停止与设备接触。

对于 MOUSE 设备,当主按钮被释放时,就会触发此测试。

5

设备不再跟踪指针。

例如,指针可能偏移了设备的悬停检测范围,或者可能已完全与系统断开连接。

6

来自指针的输入不再指向此接收器。

PointerEventType 严格

类型:uint32

fuchsia.ui.input/input_events.fidl 中定义

已弃用:10

名称说明
0

基于触摸的指针设备。

1

一台指尖设备和一支触控笔。

2

一个指控设备,其中的触控笔已反转。

3

没有触控笔的指针设备。

SensorLocation 灵活

类型:uint32

fuchsia.ui.input/input_reports.fidl 中定义

已废弃:13

名称说明
0
1
2

SensorType 灵活

类型:uint32

fuchsia.ui.input/input_reports.fidl 中定义

已废弃:13

名称说明
0
1
2
3

TextAffinity 严格

类型:uint32

fuchsia.ui.input/text_editing.fidl 中定义

TextPosition 在视觉上是在其偏移量的上游还是下游。

例如,当某个文本位置位于换行符处时,单个偏移量具有两个可见位置,一个在换行符之前(在第一行的结尾),另一个在换行符之后(在第二行的开头)。文本相似性可消除这些情况之间的歧义。(双向文本运行之间也会发生类似的情况。)

我们预计不会向此枚举添加新值。

名称说明
0

该位置与文本位置的上游侧存在相似性。

例如,如果文本位置的偏移量是换行符,则位置表示第一行的结束位置。

1

该位置与文本位置的下游存在相似性。

例如,如果文本位置的偏移量是换行符,则位置表示第二行的起始位置。

MediaButtonsEvent

fuchsia.ui.input/input_events.fidl 中定义

序数野战类型说明
volume int8
mic_mute bool
pause bool
camera_disable bool
power bool
添加数量:15

联合

命令严格

fuchsia.ui.input/commands.fidl 中定义

已弃用:10
序数变体类型说明
send_keyboard_input SendKeyboardInputCmd
send_pointer_input SendPointerInputCmd
set_hard_keyboard_delivery SetHardKeyboardDeliveryCmd
set_parallel_dispatch SetParallelDispatchCmd

InputEvent 严格

fuchsia.ui.input/input_events.fidl 中定义

序数变体类型说明
pointer PointerEvent
已弃用:10
keyboard KeyboardEvent
已废弃:13
focus FocusEvent
已弃用:10

SensorReport 严格

fuchsia.ui.input/input_reports.fidl 中定义

已废弃:13
序数变体类型说明
vector int16[3]
scalar uint16

常量

名称类型说明
kModifierAlt 96 uint32
已废弃:13
kModifierCapsLock 1 uint32
已废弃:13
kModifierControl 24 uint32
已废弃:13
kModifierLeftAlt 32 uint32
已废弃:13
kModifierLeftControl 8 uint32
已废弃:13
kModifierLeftShift 2 uint32
已废弃:13
kModifierLeftSuper 128 uint32
已废弃:13
kModifierNone 0 uint32

键盘辅助键

已废弃:13
kModifierRightAlt 64 uint32
已废弃:13
kModifierRightControl 16 uint32
已废弃:13
kModifierRightShift 4 uint32
已废弃:13
kModifierRightSuper 256 uint32
已废弃:13
kModifierShift 6 uint32
已废弃:13
kModifierSuper 384 uint32
已废弃:13