./setdisplay.sh imeInputTarget in display# 0 Window{fc89d96 u0 com.ktcp.video/com.ktcp.video.activity.detail.DetailCoverActivity} 该窗口不在 display#0 或 display#2 上 rk3588_s:/vendor/bin # ./setdisplay.sh imeInputTarget 该窗口不在 display#0 或 display#2 上
时间: 2024-03-02 14:48:17 浏览: 87
这个问题可能是因为当前焦点所在的窗口不在 `display#0` 或 `display#2` 上,导致无法找到对应的显示器 ID。
可以尝试使用以下命令来获取当前所有显示器的 ID:
```
dumpsys window displays | grep 'id=' | awk -F ' = ' '{print $2}'
```
然后再根据具体情况调整 `setdisplay.sh` 脚本中的显示器 ID,确保将输入法窗口移动到正确的显示器上。
另外,也可以在 `setdisplay.sh` 脚本中添加一些错误处理机制,例如在找不到对应显示器 ID 的情况下给出提示信息,或者在移动窗口失败时给出错误提示等。
相关问题
rk3588_s:/ # ls ./vendor/bin/setdisplay.sh -l -rwxr-xr-x 1 root shell 414 2023-06-02 13:05 ./vendor/bin/setdisplay.sh
根据您提供的信息,该脚本已经具有执行权限,因此原因不在于权限问题。您可以尝试手动执行脚本中的 `get_display_id` 函数,看看能否得到正确的输出。例如,可以在终端中输入以下命令:
```
dumpsys window | grep "mCurrentFocus" | tail -n 1 | awk '{print $NF}' | cut -d'}' -f1
```
该命令会输出当前活跃窗口的信息,如果能够正确输出,则说明 `get_display_id` 函数实现正确,问题可能出在其他地方。
./vendor/bin/setdisplay.sh rk3588_s:/ # dumpsys window | awk '/displayId=/ {print $1}' | sed 's/displayId=//g' 2 0
这是一个 shell 脚本命令,看起来是为了设置显示器的参数。具体来说,它会执行一个名为 setdisplay.sh 的脚本,脚本的参数是 rk3588_s:/。这个参数可能是指定了一个特定的设备或者显示器。脚本的具体内容可能会调用一些其它的命令来设置显示器的分辨率、刷新率等参数。第二行的命令则是使用 dumpsys 命令来获取当前窗口的信息,并用 awk 和 sed 工具将其中的 displayId 提取出来,最终输出为 2 0。这个输出可能表示当前的窗口显示在第二个显示器上。
阅读全文