Mercurial > mplayer.hg
diff input/input.h @ 4418:8141d2c399e4
A new configurable input system and joystick support for this system
author | albeu |
---|---|
date | Wed, 30 Jan 2002 12:46:03 +0000 |
parents | |
children | 44c23fd75005 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/input/input.h Wed Jan 30 12:46:03 2002 +0000 @@ -0,0 +1,84 @@ + +#ifdef HAVE_NEW_INPUT + +#define MP_CMD_SEEK 0 +#define MP_CMD_AUDIO_DELAY 1 +#define MP_CMD_QUIT 2 +#define MP_CMD_PAUSE 3 +#define MP_CMD_GRAB_FRAMES 4 +#define MP_CMD_PLAY_TREE_STEP 5 +#define MP_CMD_PLAY_TREE_UP_STEP 6 +#define MP_CMD_PLAY_ALT_SRC_STEP 7 +#define MP_CMD_SUB_DELAY 8 +#define MP_CMD_OSD 9 +#define MP_CMD_VOLUME 10 +#define MP_CMD_MIXER_USEMASTER 11 +#define MP_CMD_CONTRAST 12 +#define MP_CMD_BRIGHTNESS 13 +#define MP_CMD_HUE 14 +#define MP_CMD_SATURATION 15 +#define MP_CMD_FRAMEDROPPING 16 +#define MP_CMD_TV_STEP_CHANNEL 17 +#define MP_CMD_TV_STEP_NORM 18 +#define MP_CMD_TV_STEP_CHANNEL_LIST 19 + +#define MP_CMD_ARG_INT 0 +#define MP_CMD_ARG_FLOAT 1 +#define MP_CMD_ARG_STRING 2 + +#define MP_CMD_MAX_ARGS 10 + +#define MP_INPUT_ERROR -1 +#define MP_INPUT_DEAD -2 +#define MP_INPUT_NOTHING -3 + +typedef union mp_cmd_arg_value { + int i; + float f; + char* s; +} mp_cmd_arg_value_t; + +typedef struct mp_cmd_arg { + int type; + mp_cmd_arg_value_t v; +} mp_cmd_arg_t; + +typedef struct mp_cmd { + int id; + char* name; + int nargs; + mp_cmd_arg_t args[MP_CMD_MAX_ARGS]; +} mp_cmd_t; + + +typedef struct mp_cmd_bind { + int input; + char* cmd; +} mp_cmd_bind_t; + +typedef int (*mp_key_func_t)(int fd); +typedef int (*mp_cmd_func_t)(int fd,char* dest,int size); +typedef void (*mp_close_func_t)(int fd); + +int +mp_input_add_cmd_fd(int fd, int select, mp_cmd_func_t read_func, mp_close_func_t close_func); + +void +mp_input_rm_cmd_fd(int fd); + +int +mp_input_add_key_fd(int fd, int select, mp_key_func_t read_func, mp_close_func_t close_func); + +void +mp_input_rm_key_fd(int fd); + +mp_cmd_t* +mp_input_get_cmd(int time, int paused); + +void +mp_cmd_free(mp_cmd_t* cmd); + +void +mp_input_init(void); + +#endif /* HAVE_NEW_INPUT */