问题:如何主动检查某个(装饰)键是否被按下,如CTRL或SHIFT,如:
if (SomeKeyboardRelatedService.isControlPressed()) {...}
后台
我想检查当用户单击鼠标时是否按下了某个(装饰)键。我们无法做到这一点 * 积极 *。相反,我们使用RawKeyboardListener
,并记住onKey
事件中的isControlPressed
。这样,稍后在GestureDetector.onTap
中我们可以检查isControlPressed
是否是true
。问题是:
1.我们自己维持按键状态似乎没有任何合理的地方,因为它违反了单一真理来源原则,并可能导致不一致。
1.它实际上是导致不一致,如果用户切换远离应用程序,而持有特殊键。
我们已经阅读了相关文档,并使用几个关键字进行了搜索,最终没有结果。
2条答案
按热度按时间nnt7mjpx1#
RawKeyboard可能是你正在寻找的。示例:
请注意,在检查控制键等时,您需要检查所有可能的键变体。
syqv5f0l2#
我使用这个方法来检测是否按下了ctrl + v或cmd + v,以从剪贴板中获取图像
1
...
二
...
三