Claude Chappe' Curse - A C Game
Logo Institut d'Informatique Claude Chappe Logo Université de Le Mans Logo Raeptor Production
 
Loading...
Searching...
No Matches
input.h
Go to the documentation of this file.
1#ifndef INPUT_H
2#define INPUT_H
3
23#define HANDLE_KEY_PRESSED(_input_id, _key) if (event.key.keysym.sym == _input_id) { \
24 if (!(input->active_keys & _key)) input->pressed_keys |= _key; \
25 input->active_keys |= _key; \
26 }
27
36#define HANDLE_KEY_RELEASED(_input_id, _key) if (event.key.keysym.sym == _input_id) { \
37 if ((input->active_keys & _key)) input->released_keys |= _key; \
38 input->active_keys &= ~_key; \
39 }
40
48enum Keys {
49 KEY_UP = 1 << 0,
50 KEY_RIGHT = 1 << 1,
51 KEY_DOWN = 1 << 2,
52 KEY_LEFT = 1 << 3,
53 KEY_JUMP = 1 << 4,
54 KEY_CROUCH = 1 << 5,
55 KEY_SPRINT = 1 << 6,
56 KEY_MENU = 1 << 7,
57 KEY_FLASHLIGHT = 1 << 8,
58 KEY_VALIDATE = 1 << 9,
59 KEY_INTERACT = 1 << 10,
60 KEY_FULLSCREEN = 1 << 11,
62};
63
86
102
103
112
121void init_input(Input *input);
122
133
136#endif
#define u16
Alias for uint16_t (unsigned 16-bit integer).
Definition aliases.h:13
#define s8
Alias for int8_t (signed 8-bit integer).
Definition aliases.h:31
#define s32
Alias for int32_t (signed 32-bit integer).
Definition aliases.h:43
#define u8
Alias for uint8_t (unsigned 8-bit integer).
Definition aliases.h:7
Keys
Enumeration of possible keys.
Definition input.h:48
int update_input(Input *input)
Updates the input state.
Definition input.c:48
void default_input_settings()
Sets the default input settings for the application.
Definition input.c:12
void init_input(Input *input)
Initializes the input structure.
Definition input.c:29
@ KEY_MENU
Definition input.h:56
@ KEY_UP
Definition input.h:49
@ KEY_FLASHLIGHT
Definition input.h:57
@ KEY_SPRINT
Definition input.h:55
@ KEY_INTERACT
Definition input.h:59
@ KEY_LEFT
Definition input.h:52
@ KEY_RIGHT
Definition input.h:50
@ KEY_COUNT
Definition input.h:61
@ KEY_JUMP
Definition input.h:53
@ KEY_FULLSCREEN
Definition input.h:60
@ KEY_VALIDATE
Definition input.h:58
@ KEY_DOWN
Definition input.h:51
@ KEY_CROUCH
Definition input.h:54
Input input
Definition raptiquax.c:33
Structure to store input state.
Definition input.h:93
bool text_input
Definition input.h:98
bool locked
Definition input.h:94
u16 released_keys
Definition input.h:97
char inputBuffer[100]
Definition input.h:99
Mouse mouse
Definition input.h:100
u16 active_keys
Definition input.h:95
u16 pressed_keys
Definition input.h:96
Structure to store mouse state.
Definition input.h:71
s32 lastY
Definition input.h:75
s8 scroll_x
Definition input.h:79
u8 pressed_button
Definition input.h:82
u8 active_button
Definition input.h:83
s32 dy
Definition input.h:77
s32 dx
Definition input.h:76
u8 released_button
Definition input.h:84
s32 lastX
Definition input.h:74
s8 scroll_y
Definition input.h:80
s32 y
Definition input.h:73
s32 x
Definition input.h:72