Kazumi icon indicating copy to clipboard operation
Kazumi copied to clipboard

平板用快捷键后按一下会出现边框,退到后台后消失,但再按还是有

Open fewkisses opened this issue 1 month ago • 32 comments

issue 内容

Image 像是这样,按第一下出现边框且不会触发操作,第二下才可以正常触发 是三星平板配官方键盘套

提交前确认

  • [x] issue 列表中,没有我的新功能需求 / 问题

fewkisses avatar Nov 28 '25 06:11 fewkisses

补充:友项目pliplus也会有按一下不触发任何操作、需再次按才触发的现象,但不会有这个黄绿色边框。一般出现这个框是只会在不兼容键盘快捷键的应用才有,但kazumi在二次点击后是可以正常识别按键操作的

fewkisses avatar Nov 28 '25 06:11 fewkisses

有些奇怪,我的安卓设备没有这个问题,我换台设备试试看。 如果还在转圈时按确实不会捕获快捷键,有可能触发。 旧版有这个问题么?旧版应该不允许安卓使用快捷键。

yaoyaozijing avatar Nov 28 '25 15:11 yaoyaozijing

旧版的确不允许用快捷键,按下只有这个边框,快捷键上我用的最适配的是油管,既不会有边框也可以初次就触发

fewkisses avatar Nov 28 '25 16:11 fewkisses

会是键盘类型导致的吗,我用的三星官方键盘套,是直接触点连接,不需要蓝牙

fewkisses avatar Nov 28 '25 16:11 fewkisses

和连接方式没关系,我尝试修复了一下,稍等。

yaoyaozijing avatar Nov 28 '25 16:11 yaoyaozijing

尝试这一个构建,看一下还有没有问题:https://github.com/yaoyaozijing/Kazumi/actions/runs/19768849693/artifacts/4708641916

yaoyaozijing avatar Nov 28 '25 16:11 yaoyaozijing

边框是解决了,但按第一下会不生效这个还是有

fewkisses avatar Nov 28 '25 16:11 fewkisses

你的安卓版本是多少

yaoyaozijing avatar Nov 28 '25 16:11 yaoyaozijing

16,oneui8

fewkisses avatar Nov 28 '25 16:11 fewkisses

刚刚发现,这个问题不是只有删掉后台后重启,第一次按会不生效,而是退出前台,再切回来按下一次也会不生效,和piliplus那是一样的

fewkisses avatar Nov 28 '25 16:11 fewkisses

我手上没有三星设备,这边的几台安卓都没办法复现这个问题,修起来会比较麻烦,要研究一下。

yaoyaozijing avatar Nov 28 '25 16:11 yaoyaozijing

Image 我一般会用dex模式,就是默认以小窗打开,然后我想着用小窗看看,就发现如图,按下去时它不生效的原因应该是识别控件顺序,识别到左上角也就是当前屏幕的第一个控件,而导航栏里的一个应用也被框了起来,第二次按就正常识别快捷键了

fewkisses avatar Nov 28 '25 16:11 fewkisses

Dex模式会先聚焦系统UI框架,再传给应用,这个我没有办法。 平板模式下可能也用了相同的逻辑,只不过没把窗口框架绘制出来。也有可能是有无障碍服务干扰了焦点行为,可以全部关掉试试。 还可以试一下其他键能否第一次就传入,方向键、空格、Tab以外的按键可能可以,能行的话加一个快捷键好了。

yaoyaozijing avatar Nov 28 '25 17:11 yaoyaozijing

其他键也都是这样,这导致我很奇怪为什么油管就不会有这问题,虽说油管也是左上角控件会被选中甚至标题栏也被选中,但它与此同时也识别快捷键并触发操作

fewkisses avatar Nov 28 '25 17:11 fewkisses

Good Lock > Multi Star > Multi Focus开了么?也叫多重点,那玩意可能有影响。

yaoyaozijing avatar Nov 28 '25 17:11 yaoyaozijing

试了,开启与否并无影响

fewkisses avatar Nov 28 '25 17:11 fewkisses

我想跟插件还是设置都没有关系,因为要是有关系的话,油管就不会同时识别

fewkisses avatar Nov 28 '25 17:11 fewkisses

尝试这个构建 https://github.com/yaoyaozijing/Kazumi/actions/runs/19771086088/artifacts/4709407256 播放器会主动抢夺焦点并弹出消息「焦点抢夺」,检查是否弹出、以及弹出后能否第一次输入能否生效。

yaoyaozijing avatar Nov 28 '25 18:11 yaoyaozijing

焦点抢夺只在第一次加载视频时出现,弹出的瞬间按下快捷键确实触发了,但后续切出后台再进就没有弹出消息,自然也还是不生效

fewkisses avatar Nov 29 '25 04:11 fewkisses

第一次能生效就行,后面切后台回来再捕获很好加。

yaoyaozijing avatar Nov 29 '25 04:11 yaoyaozijing

尝试这一个构建,现在第一次加载视频、从后台回到前台时都会主动抢夺焦点。 https://github.com/yaoyaozijing/Kazumi/actions/runs/19778867834/artifacts/4711633552

yaoyaozijing avatar Nov 29 '25 04:11 yaoyaozijing

还是不会,虽然不显示消息也能触发,但从回到前台还是不会

fewkisses avatar Nov 29 '25 04:11 fewkisses

但凡重新进后台再重载视频的第一次按也不触发

fewkisses avatar Nov 29 '25 04:11 fewkisses

我对这种情况不熟悉,但直觉上问题可能不在dart代码里,可能需要调整我们的 android 清单文件,来调整键盘和焦点的行为

Predidit avatar Nov 29 '25 05:11 Predidit

尝试这个构建. https://github.com/yaoyaozijing/Kazumi/actions/runs/19779246377/artifacts/4711765735 回到前台时应该会弹出消息"回到前台并抢夺焦点"。 我怀疑oneUI进后台不会变成inactive,导致没法检测到回到前台、执行抢夺焦点命令。

yaoyaozijing avatar Nov 29 '25 05:11 yaoyaozijing

现在可以弹出“回到前台并抢夺焦点了”,但仍然不会触发任何操作

fewkisses avatar Nov 29 '25 05:11 fewkisses

回到前台能检测到,然后执行和初始化时相同的请求焦点行为,然而初始化时有效,此时却无效。 的确不好解决,我也没法复现,先这样吧,等等看有没有人出现同样问题,获取更多样本再说。

yaoyaozijing avatar Nov 29 '25 05:11 yaoyaozijing

添加了多次延迟请求焦点,分别为0.5秒,5秒和10秒。 两次的效果不一样,有可能是回到前台焦点请求过快又被窗口框架给请求走了,而初始化播放器时已经等了足够久所以能成功。 看一下多久后能有效果。 https://github.com/yaoyaozijing/Kazumi/actions/runs/19780039834/artifacts/4711962787

yaoyaozijing avatar Nov 29 '25 06:11 yaoyaozijing

这个构建甚至在最开始的播放就无法触发,在我删掉后台后再播放就是这样,至于延迟请求,也都没有效果,而且10秒的提示会在5秒前出现一次,而后又一次

fewkisses avatar Nov 29 '25 06:11 fewkisses

新的发现-刚刚去打开抖音试了试空格,没想到抖音没有这个问题,只不过会略微延迟一下再执行暂停

fewkisses avatar Nov 29 '25 06:11 fewkisses