summaryrefslogtreecommitdiffstats
path: root/input/input.h
diff options
context:
space:
mode:
authoralbeu <albeu@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-01-30 12:46:03 +0000
committeralbeu <albeu@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-01-30 12:46:03 +0000
commitf60af655fb185975a92373e4263f2a862dbcc8da (patch)
tree80bd450e58b0cd102e1cfd6eaa4e9d287dce00d1 /input/input.h
parent50d37d64a4178810b66d96a3f434e49ff692a8f1 (diff)
downloadmpv-f60af655fb185975a92373e4263f2a862dbcc8da.tar.bz2
mpv-f60af655fb185975a92373e4263f2a862dbcc8da.tar.xz
A new configurable input system and joystick support for this system
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@4419 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'input/input.h')
-rw-r--r--input/input.h84
1 files changed, 84 insertions, 0 deletions
diff --git a/input/input.h b/input/input.h
new file mode 100644
index 0000000000..b6d69b7d4b
--- /dev/null
+++ b/input/input.h
@@ -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 */