Ask an expert. Trust the answer.

Your academic and career questions answered by verified experts

How to check TWO key pressed in Matlab?

Date: 2022-12-22 14:25:17

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. 

Answer: 

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

Why Matlabhelpers ?

Our Matlab assignment helpers for online MATLAB assignment help service take utmost care of your assignments by keeping the codes simple yet of high-quality. We offer the most reliable MATLAB solutions to students pursuing their Computer Science course from the Monash University, the University of Sydney, the University of New South Wales, the University of Melbourne; to name a few. Approach us today for best Matlab solutions online!

whatsApp order on matlabhelpers.com

telegram order on matlabsolutions.com