mirror of
https://github.com/raysan5/raylib.git
synced 2025-09-08 12:28:15 +00:00
Improved function GetKeyPressed()
To support multiple keys (including function keys)
This commit is contained in:
@@ -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
|
||||
|
@@ -790,10 +790,10 @@ int GuiSpinner(Rectangle bounds, int value, int minValue, int maxValue)
|
||||
char *GuiTextBox(Rectangle bounds, char *text)
|
||||
{
|
||||
#define MAX_CHARS_LENGTH 20
|
||||
#define KEY_BACKSPACE_TEXT 3
|
||||
#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();
|
||||
|
||||
@@ -821,18 +821,21 @@ char *GuiTextBox(Rectangle bounds, char *text)
|
||||
text[MAX_CHARS_LENGTH - 1] = '\0';
|
||||
}
|
||||
else
|
||||
{
|
||||
if ((letter >= 32) && (letter < 127))
|
||||
{
|
||||
for (int i = 0; i < MAX_CHARS_LENGTH; i++)
|
||||
{
|
||||
if (text[i] == '\0')
|
||||
{
|
||||
text[i] = letter;
|
||||
text[i] = (char)letter;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//--------------------------------------------------------------------
|
||||
|
||||
// Draw control
|
||||
|
Reference in New Issue
Block a user