这段时间没有做设置上的更改,也没有引入新的AHK脚本。可能模拟动作产生的ctrl keyup被quicker自身捕捉了
我特意换了几个软件测试,都有问题,不是chrome的锅
是和上图类似的设置么?
好的我研究下。
第一个Ctrl+右键的很久没用了,但是印象中是可以切换虚拟桌面不触发右键动作的,现在光触发右键不干活了
我的刚测试了一下,卸载logi options就正常了,有这个,在chrome里会无法触发水平滚动事件。
你是哪个牌子的鼠标? 如果也是罗技的可以试一下这个方法。 另外在设置里可以添加触发提示,确认一下是没有触发还是触发后没有实现功能。
我没装鼠标自带驱动,用的系统默认驱动。两个虚拟桌面都切换到资源管理器界面测试,问题依旧
右键的没有触发,滚轮的只能触发一个
今天换了个电脑测试也没问题。 方便的话可以先退出其他软件或脚本排除一下可能的干扰。另外一个方法就是退回到比较早的版本看看能不能正常。
首先把近期安装的fences 4和listary 5都卸载了,禁用AHK,问题还在。
下载了旧版quicker,1.30.7,问题消失。
问题应该是出在quicker这边了,某次更新在不起眼的地方逻辑发生了改变。
缩小范围到1.32.3没问题,1.32.8有问题
装了十几个历史版本,最终确定该问题自1.32.5引入,之后每个版本都存在
查了下代码,有一个地方修改可能这个这个地方有关。在模拟快捷键的时候,如果是Ctrl键,会模拟成LeftCtrl,这个可能造成Ctrl变成抬起状态。不过windows在长按按键的时候应该会自动重复,所以抬起后会被再次变成按下状态。如果有某个原因造成了ctrl没有自动重复,可能造成类似现象。
可以打开键盘状态窗口,看下操作的时候Ctrl键的状态是不是一直是按下的,在这个列表里。
不是的只要触发动作ctrl就没了,我的理解从键盘上获取的真实输入状态ctrl是没有放开的,quicker这里的判断逻辑不对了。windows长按的时候应该不是重复发送按键的
但是比较奇怪的一点,为何在你的电脑上是正常的呢?昨晚你的电脑测试也有问题,难道这个还看人品?
不知道是不是和键盘有关系,我这里会重复。windows是有重复功能,可以参考 https://www.xstui.com/read/870
键盘状态应该可以修改一下识别方法,我试试。
这个重复指的是输入文本时候的重复,是系统行为,键盘物理上并没有重复。quicker检测的不是键盘物理状态而是获取windows给的信息吗
似乎没有API可以准确读取键盘的物理状态。 目前使用的GetAsyncKeyState方法,在模拟了按键消息之后也会变成抬起状态。 可以参考这里 https://stackoverflow.com/questions/8206927/physical-key-state 。所以如果系统没有自动重复ctrl的按下消息,就会有目前的结果,Ctrl被抬起,高级鼠标触发失效。 有一个方法是使用扩展热键里的自定义引导键,可以避开冲突。另外使用Ctrl/Alt/Shift作为引导键可能还会产生一个意外组合的问题,比如模拟了V,得到的结果就是Ctrl+V。
扩展热键里不能设置鼠标滚轮。还有quicker 1.32.5之前是怎么实现的自动重复ctrl
GetAsyncKeyState也是跟着消息队列来,一个key up就改状态了
但是这个动作只有Ctrl最顺手,其他按键总有莫名其妙的问题,要不距离不合适。Ctrl键的模拟方式可以加个选项吗?
我等再考虑下。 不过为啥你的电脑ctrl不会自动重复呢,windows里有做什么设置么,或者键盘比较特殊?
装旧版问题消失,可以排除设置和其他软件的问题
发现RCTRL没有问题,平时用LCTRL比RCTRL多多了,能不能把模拟的LCTRL换成RCTRL
有点两难,有的软件特别是一些国产软件(如WPS系列),不是用的windows标准快捷键机制,导致模拟CTRL/RCTRL的时候触发不到。后面看看要不要加个选项。
那是必须要加上啊,LCTRL这么好的位置可以定义好多触发
暂时写了个复杂的动作来实现了,希望早日加上选项
感谢作者大大
已发版,试下看看。 https://getquicker.net/Help/Versions
感谢,已完美