I have a Matlab GUI with many buttons. Now I want to set some shotcuts to the button. Actually I can check for one button and it works fine. My questin is how I can check if two buttons will be press?
Something like CTRL + KEY. It mustn´t the CTRL key =) It could be any key combination.
Thanks for help. Sorry for my english.
To check for one key I use this code:
key1 = get(gcf,'CurrentKey');
if(strcmp (key1 ,'k'))
%CODE HERE
end
I have try something like this (for the keys k and q):
key2 = get(gcf,'CurrentKey');
keystr = [key1 + key2];
if(strcmp(keystr, 'kq'))
%CODE HERE
end
The value of key1 change, if you press another button on the keyboard. So the && operator is never fullfilled.
It is not fully generic, but I think this should do the trick:
First determine whether control is pressed as shown by @Pursuit (probably works for several keys)
modifiers = get(gcf,'currentModifier');
ctrlIsPressed = ismember('control',modifiers);
Then just check the current key, as you already did and combine the result. In the end it could look something like this:
modifiers = get(gcf,'currentModifier');
key1 = get(gcf,'CurrentKey');
if(strcmp (key1 ,'k')) && ismember('control',modifiers)
%CODE HERE
end