协议
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 中定义
DispatchReport
从设备 token
中调度 InputReport
请求
名称 | 类型 |
---|---|
report |
InputReport
|
InputMethodEditor
在 fuchsia.ui.input/text_input.fidl 中定义
用于与文本输入控件交互的界面。
DispatchKey3
请求
名称 | 类型 |
---|---|
event |
fuchsia.ui.input3/KeyEvent
|
响应
名称 | 类型 |
---|---|
handled |
bool
|
隐藏
请求
<EMPTY>
InjectInput
请求
名称 | 类型 |
---|---|
event |
InputEvent
|
SetKeyboardType
请求
名称 | 类型 |
---|---|
keyboard_type |
KeyboardType
|
SetState
请求
名称 | 类型 |
---|---|
state |
TextInputState
|
显示
请求
<EMPTY>
InputMethodEditorClient
在 fuchsia.ui.input/text_input.fidl 中定义
用于从 TextInputService
接收信息的接口。
DidUpdateState
请求
名称 | 类型 |
---|---|
state |
TextInputState
|
event |
InputEvent?
|
OnAction
请求
名称 | 类型 |
---|---|
action |
InputMethodAction
|
结构
轴
在 fuchsia.ui.input/input_reports.fidl 中定义
野战 | 类型 | 说明 | 默认 |
---|---|---|---|
range |
Range
|
无默认取景方式 | |
resolution |
int32
|
1 | |
scale |
AxisScale
|
AxisScale.LINEAR |
AxisF
在 fuchsia.ui.input/input_reports.fidl 中定义
野战 | 类型 | 说明 | 默认 |
---|---|---|---|
range |
RangeF
|
无默认取景方式 | |
resolution |
float32
|
1 | |
scale |
AxisScale
|
AxisScale.LINEAR |
DeviceDescriptor
在 fuchsia.ui.input/input_reports.fidl 中定义
野战 | 类型 | 说明 | 默认 |
---|---|---|---|
device_info |
DeviceInfo?
|
无默认取景方式 | |
keyboard |
KeyboardDescriptor?
|
无默认取景方式 | |
media_buttons |
MediaButtonsDescriptor?
|
无默认取景方式 | |
mouse |
MouseDescriptor?
|
无默认取景方式 | |
stylus |
StylusDescriptor?
|
无默认取景方式 | |
touchscreen |
TouchscreenDescriptor?
|
无默认取景方式 | |
sensor |
SensorDescriptor?
|
无默认取景方式 |
DeviceInfo
在 fuchsia.ui.input/input_reports.fidl 中定义
野战 | 类型 | 说明 | 默认 |
---|---|---|---|
vendor_id |
uint32
|
无默认取景方式 | |
product_id |
uint32
|
无默认取景方式 | |
version |
uint32
|
无默认取景方式 | |
name |
string
|
无默认取景方式 |
FocusEvent
在 fuchsia.ui.input/input_events.fidl 中定义
野战 | 类型 | 说明 | 默认 |
---|---|---|---|
event_time |
uint64
|
事件传送时间。该时间以纳秒为单位,对应于由 zx_clock_get_monotonic 系统调用确定的单调时间。 |
无默认取景方式 |
focused |
bool
|
视图是否已获得输入焦点。 |
无默认取景方式 |
InputReport
在 fuchsia.ui.input/input_reports.fidl 中定义
野战 | 类型 | 说明 | 默认 |
---|---|---|---|
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 中定义
野战 | 类型 | 说明 | 默认 |
---|---|---|---|
keys |
vector<uint32>
|
无默认取景方式 |
KeyboardEvent
在 fuchsia.ui.input/input_events.fidl 中定义
KeyboardEvent
表示用户与键盘互动生成的事件。
这些事件由按键的不同按下状态变化触发。
状态转换应如下所示:PRESSED -> (REPEAT ->) RELEASED 或 PRESSED -> (REPEAT ->) CANCELLED
当 code_point 可用时,输入系统会自动重复这些事件。
已弃用:将被移除,取而代之的是 fuchsia.ui.input.KeyEvent
。
野战 | 类型 | 说明 | 默认 |
---|---|---|---|
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 常量(例如当前按下的 |
无默认取景方式 |
KeyboardReport
在 fuchsia.ui.input/input_reports.fidl 中定义
野战 | 类型 | 说明 | 默认 |
---|---|---|---|
pressed_keys |
vector<uint32>
|
无默认取景方式 |
MediaButtonsDescriptor
在 fuchsia.ui.input/input_reports.fidl 中定义
野战 | 类型 | 说明 | 默认 |
---|---|---|---|
buttons |
uint32
|
无默认取景方式 |
MediaButtonsReport
在 fuchsia.ui.input/input_reports.fidl 中定义
MediaButtonsReport
描述从事件流传送的媒体按钮事件。报告中的每个布尔值表示一个按钮,其中 true 表示正在按下该按钮。每次状态更改时应发送一份报告。
野战 | 类型 | 说明 | 默认 |
---|---|---|---|
volume_up |
bool
|
无默认取景方式 | |
volume_down |
bool
|
无默认取景方式 | |
mic_mute |
bool
|
无默认取景方式 | |
reset |
bool
|
无默认取景方式 | |
pause |
bool
|
无默认取景方式 | |
camera_disable |
bool
|
无默认取景方式 |
MouseDescriptor
在 fuchsia.ui.input/input_reports.fidl 中定义
野战 | 类型 | 说明 | 默认 |
---|---|---|---|
rel_x |
Axis
|
无默认取景方式 | |
rel_y |
Axis
|
无默认取景方式 | |
vscroll |
Axis?
|
无默认取景方式 | |
hscroll |
Axis?
|
无默认取景方式 | |
buttons |
uint32
|
无默认取景方式 |
MouseReport
在 fuchsia.ui.input/input_reports.fidl 中定义
野战 | 类型 | 说明 | 默认 |
---|---|---|---|
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 状态。
野战 | 类型 | 说明 | 默认 |
---|---|---|---|
event_time |
uint64
|
事件传送时间。该时间以纳秒为单位,对应于由 zx_clock_get_monotonic 系统调用确定的单调时间。 |
无默认取景方式 |
device_id |
uint32
|
无默认取景方式 | |
pointer_id |
uint32
|
无默认取景方式 | |
type |
PointerEventType
|
无默认取景方式 | |
phase |
PointerEventPhase
|
无默认取景方式 | |
x |
float32
|
|
无默认取景方式 |
y |
float32
|
无默认取景方式 | |
radius_major |
float32
|
0 | |
radius_minor |
float32
|
0 | |
buttons |
uint32
|
当前按下的按钮,按照 kButton 常量的定义,例如 |
无默认取景方式 |
范围
在 fuchsia.ui.input/input_reports.fidl 中定义
野战 | 类型 | 说明 | 默认 |
---|---|---|---|
min |
int32
|
无默认取景方式 | |
max |
int32
|
无默认取景方式 |
RangeF
在 fuchsia.ui.input/input_reports.fidl 中定义
野战 | 类型 | 说明 | 默认 |
---|---|---|---|
min |
float32
|
无默认取景方式 | |
max |
float32
|
无默认取景方式 |
SendKeyboardInputCmd
在 fuchsia.ui.input/commands.fidl 中定义
野战 | 类型 | 说明 | 默认 |
---|---|---|---|
compositor_id |
uint32
|
无默认取景方式 | |
keyboard_event |
KeyboardEvent
|
无默认取景方式 |
SendPointerInputCmd
在 fuchsia.ui.input/commands.fidl 中定义
野战 | 类型 | 说明 | 默认 |
---|---|---|---|
compositor_id |
uint32
|
无默认取景方式 | |
pointer_event |
PointerEvent
|
无默认取景方式 |
SensorDescriptor
在 fuchsia.ui.input/input_reports.fidl 中定义
野战 | 类型 | 说明 | 默认 |
---|---|---|---|
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 中定义
野战 | 类型 | 说明 | 默认 |
---|---|---|---|
delivery_request |
bool
|
无默认取景方式 |
SetParallelDispatchCmd
在 fuchsia.ui.input/commands.fidl 中定义
野战 | 类型 | 说明 | 默认 |
---|---|---|---|
parallel_dispatch |
bool
|
无默认取景方式 |
StylusDescriptor
在 fuchsia.ui.input/input_reports.fidl 中定义
野战 | 类型 | 说明 | 默认 |
---|---|---|---|
x |
Axis
|
无默认取景方式 | |
y |
Axis
|
无默认取景方式 | |
pressure |
Axis?
|
无默认取景方式 | |
is_invertible |
bool
|
false | |
buttons |
uint32
|
无默认取景方式 |
StylusReport
在 fuchsia.ui.input/input_reports.fidl 中定义
野战 | 类型 | 说明 | 默认 |
---|---|---|---|
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 代码单元的索引。 如果 |
-1 |
end |
int64
|
此范围中最后一个 UTF-16 代码单元之后的下一个索引。 如果 |
-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 中定义
野战 | 类型 | 说明 | 默认 |
---|---|---|---|
finger_id |
uint32
|
无默认取景方式 | |
x |
int32
|
无默认取景方式 | |
y |
int32
|
无默认取景方式 | |
width |
uint32
|
无默认取景方式 | |
height |
uint32
|
无默认取景方式 |
TouchscreenDescriptor
在 fuchsia.ui.input/input_reports.fidl 中定义
野战 | 类型 | 说明 | 默认 |
---|---|---|---|
x |
Axis
|
无默认取景方式 | |
y |
Axis
|
无默认取景方式 | |
max_finger_id |
uint32
|
无默认取景方式 |
TouchscreenReport
在 fuchsia.ui.input/input_reports.fidl 中定义
野战 | 类型 | 说明 | 默认 |
---|---|---|---|
touches |
vector<Touch>
|
无默认取景方式 |
枚举
AxisScale 灵活
类型:uint32
在 fuchsia.ui.input/input_reports.fidl 中定义
名称 | 值 | 说明 |
---|---|---|
LINEAR |
0 |
|
日志 |
1 |
InputMethodAction 灵活
类型:uint32
在 fuchsia.ui.input/text_input.fidl 中定义
确定在键盘上按“操作”键时会发生什么情况,一般是实体键盘上的“Enter”键或虚拟键盘上的操作按钮(通常位于 Enter 键的位置,但带有自定义标签)。
名称 | 值 | 说明 |
---|---|---|
未指定 |
0 |
未指定方法操作。 |
无 |
1 |
无需采取任何特殊操作。 |
前往 |
2 |
操作是“开始”,例如执行一个命令。 |
SEARCH |
3 |
该操作是调用搜索。 |
发送 |
4 |
操作是调用“发送”,例如这是电子邮件还是短信。 |
继续 |
5 |
此操作是移至对焦序列中的下一个字段。 |
完成 |
6 |
该操作将结束文本编辑。 |
上一步 |
7 |
该操作是移至对焦序列中的上一个字段。 |
。 |
8 |
按操作键会在文本字段中插入一个新行。与其他值相反,它们都会停止修改并调用特定操作。 添加:8 项
|
KeyboardEventPhase
类型:uint32
在 fuchsia.ui.input/input_events.fidl 中定义
名称 | 值 | 说明 |
---|---|---|
PRESSED |
0 |
当键被按下时。 |
新歌速递 |
1 |
当键被释放时。 |
CANCELLED |
2 |
系统不会再将此键“ |
重复 |
3 |
是否为自动生成的密钥重复 |
KeyboardType 柔性
类型:uint32
在 fuchsia.ui.input/text_input.fidl 中定义
从文本编辑子系统请求特定键盘类型。
这与虚拟键盘最为相关,虚拟键盘在呈现给用户的方式以及可接受的输入方式方面有一定程度的调整。
例如,NUMBER
键盘类型可能只允许输入十进制数字。此外,虚拟键盘可能只显示用于文本输入的数字键盘。
名称 | 值 | 说明 |
---|---|---|
TEXT |
0 |
仅限单行式文本字段。对于多行文本,请使用下面的“MULTILINE”。 |
数字 |
1 |
仅用于输入数字的文本字段。 |
手机 |
2 |
仅用于输入电话号码的文本字段(例如数字、有限的标点符号,或许是一些验证)。 |
DATETIME |
3 |
用于输入日期和时间的文本字段。例如,在侧面可以放置一个日历微件,以帮助输入日期时间。 |
多行 |
4 |
多行文本。 添加:8 项
|
PointerEventPhase 严格
类型:uint32
在 fuchsia.ui.input/input_events.fidl 中定义
名称 | 值 | 说明 |
---|---|---|
ADD |
0 |
设备已开始跟踪指针。 例如,指针可能悬停在设备上方,尚未与设备表面接触。 |
HOVER |
1 |
在未与设备接触的情况下,指针已相对于设备移动。 |
DOWN |
2 |
指针已与设备接触。 对于 |
移动 |
3 |
在与设备接触时,指针已相对于设备移动。 |
UP |
4 |
指针已停止与设备接触。 对于 |
移除 |
5 |
设备不再跟踪指针。 例如,指针可能偏移了设备的悬停检测范围,或者可能已完全与系统断开连接。 |
取消 |
6 |
来自指针的输入不再指向此接收器。 |
PointerEventType 严格
类型:uint32
在 fuchsia.ui.input/input_events.fidl 中定义
名称 | 值 | 说明 |
---|---|---|
TOUCH |
0 |
基于触摸的指针设备。 |
STYLUS |
1 |
一台指尖设备和一支触控笔。 |
INVERTED_STYLUS |
2 |
一个指控设备,其中的触控笔已反转。 |
MOUSE |
3 |
没有触控笔的指针设备。 |
SensorLocation 灵活
类型:uint32
在 fuchsia.ui.input/input_reports.fidl 中定义
名称 | 值 | 说明 |
---|---|---|
未知 |
0 |
|
BASE |
1 |
|
LID |
2 |
SensorType 灵活
类型:uint32
在 fuchsia.ui.input/input_reports.fidl 中定义
名称 | 值 | 说明 |
---|---|---|
加速器 |
0 |
|
陀螺仪 |
1 |
|
磁铁 |
2 |
|
光度计 |
3 |
TextAffinity 严格
类型:uint32
在 fuchsia.ui.input/text_editing.fidl 中定义
TextPosition 在视觉上是在其偏移量的上游还是下游。
例如,当某个文本位置位于换行符处时,单个偏移量具有两个可见位置,一个在换行符之前(在第一行的结尾),另一个在换行符之后(在第二行的开头)。文本相似性可消除这些情况之间的歧义。(双向文本运行之间也会发生类似的情况。)
我们预计不会向此枚举添加新值。
名称 | 值 | 说明 |
---|---|---|
上游 |
0 |
该位置与文本位置的上游侧存在相似性。 例如,如果文本位置的偏移量是换行符,则位置表示第一行的结束位置。 |
下游 |
1 |
该位置与文本位置的下游存在相似性。 例如,如果文本位置的偏移量是换行符,则位置表示第二行的起始位置。 |
表
MediaButtonsEvent
在 fuchsia.ui.input/input_events.fidl 中定义
序数 | 野战 | 类型 | 说明 |
---|---|---|---|
1 |
volume |
int8
|
|
2 |
mic_mute |
bool
|
|
3 |
pause |
bool
|
|
4 |
camera_disable |
bool
|
|
5 |
power |
bool
|
添加数量:15
|
6 |
function |
bool
|
添加数量:20
|
联合
命令严格
在 fuchsia.ui.input/commands.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
send_keyboard_input |
SendKeyboardInputCmd
|
|
2 |
send_pointer_input |
SendPointerInputCmd
|
|
3 |
set_hard_keyboard_delivery |
SetHardKeyboardDeliveryCmd
|
|
4 |
set_parallel_dispatch |
SetParallelDispatchCmd
|
InputEvent 严格
在 fuchsia.ui.input/input_events.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
pointer |
PointerEvent
|
已弃用:10
|
2 |
keyboard |
KeyboardEvent
|
已废弃:13
|
3 |
focus |
FocusEvent
|
已弃用:10
|
SensorReport 严格
在 fuchsia.ui.input/input_reports.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
vector |
int16[3]
|
|
2 |
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
|