Matlab App Designer ginput bug

2 vues (au cours des 30 derniers jours)
Vicente Fernández Rodilla
Commenté : Christopher le 26 Avr 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 commentaire
Christopher
Christopher le 26 Avr 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.

Connectez-vous pour commenter.

Réponses (1)

Kumar Pallav
Kumar Pallav le 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.

Catégories

En savoir plus sur Specifying Target for Graphics Output dans Help Center et File Exchange

Produits


Version

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by