case imeKey(app: String, status: RemoteCommand_RemoteTextFieldStatus)
case .imeKey(let app, let status):
$0.remoteImeKeyInject = .with
$0.textFieldStatus = status
$0.appInfo = .with {
$0.appPackage = app
}
}
I试图研究与Android TV中Swift中与TLSClientManager和键盘输入集成有关的在线资源和文档。但是,我还没有找到一个明确的解决方案来满足我的特定要求。I期望找到有关如何将键盘输入功能合并到我的远程应用中的指导或见解,从而使用户可以输入文本并使用设备的键盘导航,同时维护以发送命令的tlsclientmanager功能。
发送文本您应该使用批处理编辑。
proto文件应该看起来像这样:message RemoteEditInfo {
int32 insert = 1;
RemoteImeObject text_field_status = 2;
}
message RemoteImeObject {
int32 start = 1;
int32 end = 2;
string value = 3;
}
message RemoteImeBatchEdit {
int32 ime_counter = 1;
int32 field_counter = 2;
repeated RemoteEditInfo edit_info = 3;
}
当您建立连接时,应该收听电视和存储的响应
remoteImeBatchEditResponse
{"remoteImeBatchEdit":{"imeCounter":0,"fieldCounter":0}}
需要正确准备发送数据。
最终数据应该看起来像这样:
remoteImeBatchEdit: {
imeCounter,
fieldCounter,
editInfo: [{
insert: 0,
textFieldStatus: {
start: text.length - 1,
end: text.length - 1,
value: text
}
}]
}
python和js
的实施