109 lines
2.8 KiB
C
109 lines
2.8 KiB
C
/****************************************************************************/
|
|
/* */
|
|
/* Input */
|
|
/* */
|
|
/* Par NineStars V2 */
|
|
/****************************************************************************/
|
|
|
|
#ifndef DEF_INPUT
|
|
#define DEF_INPUT
|
|
|
|
|
|
|
|
// input_update : mets à jour le clavier, il faut appeler cette méthode une fois par frame
|
|
void input_update();
|
|
|
|
// input_press : renvoie 1 si la touche key est pressée, 0 sinon
|
|
int input_press(char key);
|
|
|
|
// input_trigger : renvoie 1 au moment où key est pressée, 0 sinon
|
|
int input_trigger(char key);
|
|
|
|
// input_release : renvoie 1 au moment où key est relachée, 0 sinon
|
|
int input_release(char key);
|
|
|
|
// input_hold_short : renvoie 1 si la touche a été pressée un court instant, 0 sinon
|
|
int input_hold_short(char key);
|
|
|
|
// input_hold_long : renvoie 1 si la touche a été pressée un long instant, 0 sinon
|
|
int input_hold_long(char key);
|
|
|
|
// input_repeat : renvoie 1 quand la touche est pressée, puis des 1 à intervalle régulier
|
|
int input_repeat(char key);
|
|
|
|
// input_reapeat_short : renvoie 1 quand la touche est pressée, puis des 1 à intervalle régulier courts
|
|
int input_repeat_short(char key);
|
|
|
|
// input_dir4 : renvoie un nombre donnant la direction des touches fléchées suivant l'ordre du pavé numérique
|
|
// sans prendre en compte les diagonales, 0 si aucune direction
|
|
int input_dir4();
|
|
|
|
// input_dir8 : renvoie un nombre donnant la direction des touches fléchées suivant l'ordre du pavé numérique
|
|
// en prenant en compte les diagonales, 0 si aucune direction
|
|
int input_dir8();
|
|
|
|
int input_any_key();
|
|
|
|
|
|
|
|
|
|
|
|
void key_inject(int keycode);
|
|
unsigned char key_down(unsigned char code);
|
|
|
|
/***************/
|
|
/** Key codes **/
|
|
/***************/
|
|
#define K_0 71
|
|
#define K_1 72
|
|
#define K_2 62
|
|
#define K_3 52
|
|
#define K_4 73
|
|
#define K_5 63
|
|
#define K_6 53
|
|
#define K_7 74
|
|
#define K_8 64
|
|
#define K_9 54
|
|
#define K_DP 61
|
|
#define K_EXP 51
|
|
#define K_PMINUS 41
|
|
#define K_PLUS 42
|
|
#define K_MINUS 32
|
|
#define K_MULT 43
|
|
#define K_DIV 33
|
|
#define K_FRAC 75
|
|
#define K_LPAR 55
|
|
#define K_RPAR 45
|
|
#define K_COMMA 35
|
|
#define K_STORE 25
|
|
#define K_XTT 76
|
|
#define K_LOG 66
|
|
#define K_LN 56
|
|
#define K_SIN 46
|
|
#define K_COS 36
|
|
#define K_TAN 26
|
|
#define K_SQUARE 67
|
|
#define K_POW 57
|
|
#define K_EXE 31
|
|
#define K_DEL 44
|
|
#define K_AC 32
|
|
#define K_FD 65
|
|
#define K_EXIT 47
|
|
#define K_SHIFT 78
|
|
#define K_ALPHA 77
|
|
#define K_OPTN 68
|
|
#define K_VARS 58
|
|
#define K_UP 28
|
|
#define K_DOWN 37
|
|
#define K_LEFT 38
|
|
#define K_RIGHT 27
|
|
#define K_F1 79
|
|
#define K_F2 69
|
|
#define K_F3 59
|
|
#define K_F4 49
|
|
#define K_F5 39
|
|
#define K_F6 29
|
|
#define K_MENU 48
|
|
|
|
#endif
|