Improved function GetKeyPressed()
To support multiple keys (including function keys)
This commit is contained in:
parent
d0e7195a16
commit
6ee5718b2e
@ -1735,10 +1735,11 @@ static void KeyCallback(GLFWwindow *window, int key, int scancode, int action, i
|
||||
TakeScreenshot();
|
||||
}
|
||||
#endif
|
||||
else currentKeyState[key] = action;
|
||||
|
||||
// TODO: Review (and remove) this HACK for GuiTextBox, to deteck back key
|
||||
if ((key == 259) && (action == GLFW_PRESS)) lastKeyPressed = 3;
|
||||
else
|
||||
{
|
||||
currentKeyState[key] = action;
|
||||
if (action == GLFW_PRESS) lastKeyPressed = key;
|
||||
}
|
||||
}
|
||||
|
||||
// GLFW3 Mouse Button Callback, runs on mouse button pressed
|
||||
|
17
src/raygui.c
17
src/raygui.c
@ -789,11 +789,11 @@ int GuiSpinner(Rectangle bounds, int value, int minValue, int maxValue)
|
||||
// NOTE: Requires static variables: framesCounter - ERROR!
|
||||
char *GuiTextBox(Rectangle bounds, char *text)
|
||||
{
|
||||
#define MAX_CHARS_LENGTH 20
|
||||
#define KEY_BACKSPACE_TEXT 3
|
||||
#define MAX_CHARS_LENGTH 20
|
||||
#define KEY_BACKSPACE_TEXT 259 // GLFW BACKSPACE: 3 + 256
|
||||
|
||||
int initPos = bounds.x + 4;
|
||||
char letter = -1;
|
||||
int letter = -1;
|
||||
static int framesCounter = 0;
|
||||
Vector2 mousePoint = GetMousePosition();
|
||||
|
||||
@ -822,12 +822,15 @@ char *GuiTextBox(Rectangle bounds, char *text)
|
||||
}
|
||||
else
|
||||
{
|
||||
for (int i = 0; i < MAX_CHARS_LENGTH; i++)
|
||||
if ((letter >= 32) && (letter < 127))
|
||||
{
|
||||
if (text[i] == '\0')
|
||||
for (int i = 0; i < MAX_CHARS_LENGTH; i++)
|
||||
{
|
||||
text[i] = letter;
|
||||
break;
|
||||
if (text[i] == '\0')
|
||||
{
|
||||
text[i] = (char)letter;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user