From 207c1b6db1d2ab16cfa9af4a8f97521e4045152b Mon Sep 17 00:00:00 2001 From: Nickolas McDonald <43690021+n77y@users.noreply.github.com> Date: Sat, 19 Aug 2023 16:25:33 -0400 Subject: [PATCH] Add KEYBOARD_KEYS_MASK --- src/config.h | 3 ++- src/rcore.c | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/config.h b/src/config.h index 67c6060b8..44f9bd300 100644 --- a/src/config.h +++ b/src/config.h @@ -76,7 +76,8 @@ #define MAX_FILEPATH_CAPACITY 8192 // Maximum file paths capacity #define MAX_FILEPATH_LENGTH 4096 // Maximum length for filepaths (Linux PATH_MAX default value) -#define MAX_KEYBOARD_KEYS 512 // Maximum number of keyboard keys supported +#define KEYBOARD_KEYS_MASK 511 // Mask for maximum number of keyboard keys +#define MAX_KEYBOARD_KEYS (KEYBOARD_KEYS_MASK + 1)// Maximum number of keyboard keys supported #define MAX_MOUSE_BUTTONS 8 // Maximum number of mouse buttons supported #define MAX_GAMEPADS 4 // Maximum number of gamepads supported #define MAX_GAMEPAD_AXIS 8 // Maximum number of axis supported (per gamepad) diff --git a/src/rcore.c b/src/rcore.c index 5bc0b4ca6..8e094c148 100644 --- a/src/rcore.c +++ b/src/rcore.c @@ -3748,7 +3748,7 @@ void OpenURL(const char *url) #define KEY_STATE_PRESSED ( 2 | KEY_STATE_DOWN) // Flag for key pressed down on frame #define KEY_STATE_RELEASED 4 // Flag for key released on frame #define KEY_STATE_REPEATED ( 8 | KEY_STATE_DOWN) // Flag for key text repeat -#define KEY_STATE(key) CORE.Input.Keyboard.keyState[key & (MAX_KEYBOARD_KEYS - 1)] // Safely accesses key state +#define KEY_STATE(key) CORE.Input.Keyboard.keyState[key & KEYBOARD_KEYS_MASK] // Safely accesses key state // Check if a key has been pressed once bool IsKeyPressed(int key)