Using KeyPressFcn to initiate the callback?

1 view (last 30 days)
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!

Accepted Answer

Walter Roberson
Walter Roberson on 8 Jun 2013
function mykeypress_Callback(hObject, eventdata)
%invoke the same thing as pressing the button
handles = guidata(hObject);
button_Callback(hObject, eventdata, handles);
  4 Comments
Jake
Jake on 9 Jun 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 on 9 Jun 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 !

Sign in to comment.

More Answers (0)

Categories

Find more on Interactive Control and Callbacks in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!