外设天下 - 电脑外设发烧友聚集地

我的人缘0
101
发表于 2011-3-17 16:51 只看该作者
玩War3的时候有没有人发现编队莫名其妙地没了?
回复 支持 反对

使用道具 举报

我的人缘0
102
发表于 2011-3-17 17:01 只看该作者
本帖最后由 leonfg 于 2011-3-17 17:05 编辑
99# leonfg 对OS来说,这是一种正常情况。USB的复合设备和物理上两个设备并没有太多区别,实现符合USB HID 1.1规范。

就像浏览器大战中,IE6其实是个烂浏览器,大量不遵守W3C规范的实现,但是因为盗版和捆绑的原 ...
Saphire 发表于 2011-3-17 16:50

关键是微软拼音不给力呀,我打字是用微软双拼起步的,用了很长一段时间微软拼音,后来用自然码输入法双拼,比同时期的微软拼音强大太多,后来就用搜狗google神马的了,只是依旧使用微软双拼方案,一直觉得微软双拼的操作和功能不好用,不方便。
回复 支持 反对

使用道具 举报

我的人缘0
103
发表于 2011-3-17 17:02 只看该作者
本帖最后由 leonfg 于 2011-3-17 17:04 编辑
现在只不过是复合设备的多个逻辑键盘,如果实现左右手键盘,或者我做个脚踏键盘,来负责Ctrl、Shift和Alt,那这种问题怎么解决?
Saphire 发表于 2011-3-17 16:50

所以还是os自己解决了最好,对待多个键盘和一个键盘的处理方式一样就行了。
ps 我刚才测微软输入法的响应,就是没有接两个键盘,拿鼠标按键自定义成一个符号键来测试的,微软保持,搜狗变了
回复 支持 反对

使用道具 举报

我的人缘0
104
发表于 2011-3-17 17:05 只看该作者
另外我想了只要是这种模拟多个键盘实现usb全无冲的方式,这个问题没有办法解决。比如从键盘方解决这个问题,那只能是让键盘在我们松开符号键的同时停止向电脑发送shift按下状态的消息,但其实这个按键还是按着的,如果是使用普通键盘,这种情况下系统依然能识别这个shift是按下状态,用keyboardtest测试就能看出来。所以如果那样解决的话也跟用一个普通键盘时的情况不符,有可能在使用中遇到别的问题。
所以最好还是让操作系统把多个键盘的按键动作按照一个键盘的方式来对待。
leonfg 发表于 2011-3-17 16:43
不要用你不理解的或臆造的原理去推导。那样得到的结论是不靠谱的。比如键盘的机制就不是你想的这么运作,所以解释也不对。出现这种情况的原因是OS的Repeat机制是以键盘为单位的,单独键盘按下,不夹杂其他键,OS就会认为Repeat发生。现在因为逻辑上是多个键盘,所以每个键盘的Repeat都在持续。

从职责来看,应用软件要识别这种情况,并作出合理的处理。现在的问题是软件在处理一个Keydown和Keyup对时,没有判断Repeat的来源。导致作出错误的动作。

BCI就这个毛病,先臆想一套公理,再推导出若干定理,自己还以为得计,孰不知和实际情况一比照就像笑话一样。
回复 支持 反对

使用道具 举报

我的人缘0
105
发表于 2011-3-17 17:07 只看该作者
测试
关键是微软拼音不给力呀,我打字是用微软双拼起步的,用了很长一段时间微软拼音,后来用自然码输入法双拼,比同时期的微软拼音强大太多,后来就用搜狗google神马的了,只是依旧使用微软双拼方案,一直觉得微软双拼 ...
leonfg 发表于 2011-3-17 17:01
那你去给你喜欢的软件提Bug报告去呀,自己去推动事态发展!难道等老天爷出现,把所有不完善的软件都改完善了?
回复 支持 反对

使用道具 举报

我的人缘0
106
发表于 2011-3-17 17:16 只看该作者
本帖最后由 leonfg 于 2011-3-17 17:27 编辑
不要用你不理解的或臆造的原理去推导。那样得到的结论是不靠谱的。比如键盘的机制就不是你想的这么运作,所以解释也不对。出现这种情况的原因是OS的Repeat机制是以键盘为单位的,单独键盘按下,不夹杂其他键,OS就会 ...
Saphire 发表于 2011-3-17 17:05

从键盘方来说它要想解决这个问题,只能采用我说的这个方法,你说的是系统方面的repeat机制,这有关系吗?我就是说这个问题从键盘方面来解决的话也不可能完美实现,我说错了吗?
关键就在于系统的repeat机制是以键盘为单位的,我知道系统的设备管理方式就是这样的,所以依然没有什么解决的希望。但是从现实上来说让所有软件开发者都负起这个责任来也不怎么可能。
所以相对来讲唯一可能实现的就是让系统来做。但是实际上也不可能实现
没有谁是全才,对于自己不懂或者涉入不深的领域就不能发表意见了吗,我们用户从我们自己的角度、理解、使用习惯出发来提出需求和可能的解决方案,有时反而可以起到他山之石的作用。
回复 支持 反对

使用道具 举报

我的人缘0
107
发表于 2011-3-17 17:18 只看该作者
那你去给你喜欢的软件提Bug报告去呀,自己去推动事态发展!难道等老天爷出现,把所有不完善的软件都改完善了?
Saphire 发表于 2011-3-17 17:07

你真别说,哈工大当时有人尝试做手机输入法方面的研究,我真提了不少意见,但是对于微软拼音,我真没兴趣。
回复 支持 反对

使用道具 举报

我的人缘0
108
发表于 2011-3-17 17:23 只看该作者
测试
从键盘方来说它要想解决这个问题,只能采用我说的这个方法,你说的是系统方面的repeat机制,这有关系吗?
关键就在于系统的repeat机制是以键盘为单位的,我知道系统的设备管理方式就是这样的,所以依然没有什么解 ...
leonfg 发表于 2011-3-17 17:16
键盘方面信号不是你那样运作的,比如你按住一个键a,记事本上会持续出现a,然后按住b,出现b,松开b,这时无动作,然后松开a。

键盘方面是a按下发送1次,b按下发送1次,b松开发送1次,a松开发送1次。持续出现的字母都是操作系统的机制。换成这种复合设备,依然是这么发送信号,区别是a是逻辑键盘A发送,b是逻辑键盘B发送。对于OS来说,每个键盘的按键都是Repeat的。
回复 支持 反对

使用道具 举报

我的人缘0
109
发表于 2011-3-17 17:30 只看该作者
我知道为什么我没问题了,因为我打符号都是先shift然后标点再shift松开最后标点松开
所以我没问题.打字快的好处,不知道游戏如何影响
回复 支持 反对

使用道具 举报

我的人缘0
110
发表于 2011-3-17 17:30 只看该作者
测试
键盘方面信号不是你那样运作的,比如你按住一个键a,记事本上会持续出现a,然后按住b,出现b,松开b,这时无动作,然后松开a。

键盘方面是a按下发送1次,b按下发送1次,b松开发送1次,a松开发送1次。持续出现的字 ...
Saphire 发表于 2011-3-17 17:23

我懂了 但是键盘方能提供的解决方案也是一样,只是在发送松开符号键信号的同时发送shift送的消息,不管shift实际上松了还是按着。外在表现一样。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则