diff options
Diffstat (limited to 'input.scm')
| -rw-r--r-- | input.scm | 111 |
1 files changed, 111 insertions, 0 deletions
diff --git a/input.scm b/input.scm new file mode 100644 index 0000000..ef5dd00 --- /dev/null +++ b/input.scm @@ -0,0 +1,111 @@ +;;; +;;; Input-related functions: keyboard +;;; + +;; Check if a key has been pressed once +;; bool IsKeyPressed(int key); +(define key-pressed? + (c-lambda (int) bool "IsKeyPressed")) + +;; Check if a key has been pressed again (Only PLATFORM_DESKTOP) +;; bool IsKeyPressedRepeat(int key); +(define key-pressed-repeat? + (c-lambda (int) bool "IsKeyPressedRepeat")) + +;; Check if a key is being pressed +;; bool IsKeyDown(int key); +(define key-down? + (c-lambda (int) bool "IsKeyDown")) + +;; Check if a key has been released once +;; bool IsKeyReleased(int key); +(define key-released? + (c-lambda (int) bool "IsKeyReleased")) + +;; Check if a key is NOT being pressed +;; bool IsKeyUp(int key); +(define key-up? + (c-lambda (int) bool "IsKeyUp")) + +;; Get key pressed (keycode), call it multiple times for keys queued, returns 0 when the queue is empty +;; int GetKeyPressed(void); +(define get-pressed-key + (c-lambda () int "GetKeyPressed")) + +;; Get char pressed (unicode), call it multiple times for chars queued, returns 0 when the queue is empty +;; int GetCharPressed(void); +(define get-pressed-char + (c-lambda () int "GetCharPressed")) + +;; Set a custom key to exit program (default is ESC) +;; void SetExitKey(int key); +(define set-exit-key + (c-lambda (int) void "SetExitKey")) + + +;;; +;;; Input-related functions: mouse +;;; + +;; Check if a mouse button has been pressed once +;; bool IsMouseButtonPressed(int button); +(define mouse-btn-pressed? + (c-lambda (int) bool "IsMouseButtonPressed")) + +;; Check if a mouse button is being pressed +;; bool IsMouseButtonDown(int button); +(define mouse-btn-down? + (c-lambda (int) bool "IsMouseButtonDown")) + +;; Check if a mouse button has been released once +;; bool IsMouseButtonReleased(int button); +(define mouse-btn-released? + (c-lambda (int) bool "IsMouseButtonReleased")) + +;; Check if a mouse button is NOT being pressed +;; bool IsMouseButtonUp(int button); +(define mouse-btn-up? + (c-lambda (int) bool "IsMouseButtonUp")) + +;; Get mouse position X +;; int GetMouseX(void); +(define get-mouse-x + (c-lambda () int "GetMouseX")) + +;; Get mouse position Y +;; int GetMouseY(void); +(define get-mouse-y + (c-lambda () int "GetMouseY")) + +;; Get mouse position XY +;; Vector2 GetMousePosition(void); +;; replaced by this: +(define get-mouse-pos + (lambda () + (cons (get-mouse-x) + (get-mouse-y)))) + +;; Get mouse delta between frames +;; Vector2 GetMouseDelta(void); + +;; Set mouse position XY +;; void SetMousePosition(int x, int y); +(define set-mouse-pos + (c-lambda (int int) void "SetMousePosition")) + +;; Set mouse offset +;; void SetMouseOffset(int offsetX, int offsetY); +(define set-mouse-offset + (c-lambda (int int) void "SetMouseOffset")) + +;; Set mouse scaling +;; void SetMouseScale(float scaleX, float scaleY); + +;; Get mouse wheel movement for X or Y, whichever is larger +;; float GetMouseWheelMove(void); + +;; Get mouse wheel movement for both X and Y +;; Vector2 GetMouseWheelMoveV(void); + +;; Set mouse cursor +;; void SetMouseCursor(int cursor); |
