如何在Matlab中检查按下的两个键?

如何在Matlab中检查按下的两个键?,matlab,keypress,matlab-figure,matlab-guide,Matlab,Keypress,Matlab Figure,Matlab Guide,我有一个带有许多按钮的MatlabGUI。现在我想在按钮上设置一些剪切。 事实上,我可以检查一个按钮,它可以正常工作。 我的问题是如何检查两个按钮是否按下 类似于CTRL+KEY。 它不能是CTRL键=),它可以是任意组合键 谢谢你的帮助。 对不起我的英语 要检查一把钥匙,我使用以下代码: key1 = get(gcf,'CurrentKey'); if(strcmp (key1 ,'k')) %CODE HERE end 我尝试过类似的方法(对于键k和q): 如果您按下键盘上的另一个按钮,

我有一个带有许多按钮的MatlabGUI。现在我想在按钮上设置一些剪切。 事实上,我可以检查一个按钮,它可以正常工作。 我的问题是如何检查两个按钮是否按下

类似于CTRL+KEY。 它不能是CTRL键=),它可以是任意组合键

谢谢你的帮助。 对不起我的英语

要检查一把钥匙,我使用以下代码:

key1 = get(gcf,'CurrentKey');

if(strcmp (key1 ,'k'))
%CODE HERE
end
我尝试过类似的方法(对于键k和q):

如果您按下键盘上的另一个按钮,则按键1的值会发生变化。
因此,&&运算符永远不会完全填充。

它不是完全通用的,但我认为这应该可以实现以下目的:

首先确定是否按下控件(可能适用于多个键)

然后只需检查当前键,就像您已经做的那样,并合并结果。最后,它可能看起来像这样:

modifiers = get(gcf,'currentModifier');        
key1 = get(gcf,'CurrentKey');

if(strcmp (key1 ,'k')) && ismember('control',modifiers)
    %CODE HERE
end

您使用什么代码检查是否按下了一个按钮?我对这方面不太了解,但简单地说,&&operator不在这里工作吗?这是一个很好的解决方案。但每次按控制键和其他键时,我都会得到一个0。@user3510014如果只按控制键,它能工作吗?如果没有,请检查链接的问题,看看你有什么不同。我只使用了控制键。链接问题中的注释是什么意思(如果知道,请使用实际数字)?如果我检查修饰符的值,它是一个空单元格数组-
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