两态 UI:连接态是 host/port/code 表单(原生 View 零依赖,intent extras 保留且 优先,构建脚本不受影响),成功后切远控态。只存 host/port;验证码不落盘(用户裁决)。 返回键分态:IME 显示时先收键盘,否则断开回表单——否则一次返回关键盘又杀会话。 IME 走 P1:onCheckIsTextEditor + BaseInputConnection 子类。commitText 整段 经 v3 Text 通道上行(char[]→GetCharArrayRegion,UTF-16 无损);控制键映射 Set-1 扫描码(值与 viewer/keymap.rs 同源,右 Shift 按官方文档不置 extended)。 composing 不上远端(U4),getText* 回空串——本地没有也不伪造远端缓冲区。 键盘按钮显式 showSoftInput,不自动弹(vivo 行为不一致 + 挡画面)。 RemoteSurfaceView 补 isFocusableInTouchMode:没有它触摸态拿不到焦点, InputConnection 根本不会建立(2a 弹不出键盘的根因之一)。 |
||
|---|---|---|
| .. | ||
| android-viewer | ||