如何检查在Matlab中按下两个键?
-
21-12-2019 - |
题
我有一个带有许多按钮的matlab gui。现在我想将一些闪电图设置到按钮。 实际上我可以检查一个按钮,它可以正常工作。 我的Questin是我如何检查两个按钮是否会按?
像ctrl +键类似的东西。 它不能不是Ctrl键=)它可能是任何关键组合。
感谢您的帮助。 对不起我的英语。
要检查一个键我使用此代码:key1 = get(gcf,'CurrentKey');
if(strcmp (key1 ,'k'))
%CODE HERE
end
.
我尝试这样的东西(对于键k和q):
key2 = get(gcf,'CurrentKey');
keystr = [key1 + key2];
if(strcmp(keystr, 'kq'))
%CODE HERE
end
.
键1的值更改,如果按键盘上的另一个按钮。 所以&&运算符永远不会完整。
解决方案
它不是完全泛型,但我认为这应该做这个技巧:
首先确定控件是否被按下如@PURSUIT (可能为几个键工作)所示
modifiers = get(gcf,'currentModifier');
ctrlIsPressed = ismember('control',modifiers);
.
然后只需检查当前密钥,就像已经完成并结合结果一样。最终它可以看出这样的东西:
modifiers = get(gcf,'currentModifier');
key1 = get(gcf,'CurrentKey');
if(strcmp (key1 ,'k')) && ismember('control',modifiers)
%CODE HERE
end
. 不隶属于 StackOverflow