Domanda

Ho una GUI Matlab con molti pulsanti.Ora voglio impostare alcune riprese al pulsante. In realtà posso controllare un pulsante e funziona bene. La mia questin è come posso controllare se due pulsanti saranno premere?

Qualcosa come Ctrl + Key. Non deve il tasto Ctrl=) Potrebbe essere qualsiasi combinazione di tasti.

Grazie per l'aiuto. Scusa per il mio inglese.

Per verificare una chiave I utilizzo questo codice:

key1 = get(gcf,'CurrentKey');

if(strcmp (key1 ,'k'))
%CODE HERE
end
.

Ho provato qualcosa del genere (per le chiavi k e q):

key2 = get(gcf,'CurrentKey');

keystr = [key1 + key2];

if(strcmp(keystr, 'kq'))
%CODE HERE
end
.

Il valore del tasto1 Modifica, se si preme un altro pulsante sulla tastiera. Quindi l'operatore && non è mai pieno pieno.

È stato utile?

Soluzione

Non è completamente generico, ma penso che questo dovrebbe fare il trucco:

Prima di determinare se il controllo viene premuto come mostrato da @pursuit (probabilmente funziona per diverse chiavi)

modifiers = get(gcf,'currentModifier');        
ctrlIsPressed = ismember('control',modifiers);
.

Allora basta controllare il tasto corrente, come hai già fatto e combinare il risultato.Alla fine potrebbe sembrare qualcosa del genere:

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

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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top