Using KeyPressFcn to initiate the callback?

4 vues (au cours des 30 derniers jours)
Jake
Jake le 8 Juin 2013
Hi, I have a function under a button callback, including ginput and other functions. However, at the moment, the button needs to be pressed over and over to run that ginput function. how can I initiate the callback with the KeyPressFcn?
Example:
function button_Callback(hObject, eventdata, handles)
[x, y] = ginput(1);
sum = x + y;
set(handles.display,'string',sum);
I'm not sure if this above program works completely (may have an error between strings and numbers) but that's not the point, this is a dummy program. If I'd want to run this small bit of script with a key press, how could I do that? Thank you!

Réponse acceptée

Walter Roberson
Walter Roberson le 8 Juin 2013
function mykeypress_Callback(hObject, eventdata)
%invoke the same thing as pressing the button
handles = guidata(hObject);
button_Callback(hObject, eventdata, handles);
  4 commentaires
Jake
Jake le 9 Juin 2013
I meant that the user would press J and 1 at the same time. When these buttons are pressed in conjunction, the script should run.
Walter Roberson
Walter Roberson le 9 Juin 2013
On standard keyboards, J and 1 at the same time would be a bit tricky, as J is a shifted character, but if you are holding down the shift key then (US keyboards) the 1 would become ! (exclamation mark.) It is not impossible to generate the combination, though: caps-lock j 1 would act to shift the j to J but would not shift the 1 to !

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Interactive Control and Callbacks dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by