Matlab App Designer ginput bug

4 views (last 30 days)
Vicente Fernández Rodilla
Commented: Christopher on 26 Apr 2023
I am developing an App in Matlab App Designer, and I need to use ginput to detect if the user pressed an arrow button (left, right, up or down).
[gx, gy, button] = ginput(1) ;
switch button
case 28 %left arrow
%do some stuff
case 29 %right arrow
%do some stuff
case 30 %up arrow
%do some stuff
case 31 %down arrow
%do some stuff
%case ... (more stuff)
end
When I use this code in Matlab Command Window, it works as desired, but in Matlab App Designer, all arrow buttons are detected as ASCII character 65506 (¬), so there is no way to know what arrow button the user has pressed.
Can anyone help me? Am I doing something wrong?
  1 Comment
Christopher
Christopher on 26 Apr 2023
I am also experiencing this bug. I experimentally determined that 28, 29, 30, 31 are left/right/up/down using ginput outside of app designer. It seems like MATLAB just uses some seldom-used separator characters' ascii values to handle the arrow keys, as there are not arrow keys in ascii.
For now, I'm getting the functionality I want from WASD keys, but I wish that the arrow keys worked.

Sign in to comment.

Answers (1)

Kumar Pallav
Kumar Pallav on 25 Mar 2022
From the code you shared, the ASCII value of left arrow is mentioned as 28, however, it is actually 37. Similarly, up arrow ASCII value is 38. Could you please change the values and verify again.

Categories

Find more on Specifying Target for Graphics Output in Help Center and File Exchange

Products


Release

R2021b

Community Treasure Hunt

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

Start Hunting!