1 #ifndef _ARDRONE_INPUT_H_
2 #define _ARDRONE_INPUT_H_
4 #include <VP_Os/vp_os_types.h>
5 #include <ardrone_tool/ardrone_tool.h>
7 typedef struct _input_device_t {
8 char name[MAX_NAME_LENGTH];
10 C_RESULT (*init)(void);
11 C_RESULT (*update)(void);
12 C_RESULT (*shutdown)(void);
15 typedef struct _input_state_t
32 // Input change handling
33 input_state_t* ardrone_tool_get_input_state( void );
34 C_RESULT ardrone_tool_set_ui_pad_ag(int32_t value);
35 C_RESULT ardrone_tool_set_ui_pad_ab(int32_t value);
36 C_RESULT ardrone_tool_set_ui_pad_ad(int32_t value);
37 C_RESULT ardrone_tool_set_ui_pad_ah(int32_t value);
38 C_RESULT ardrone_tool_set_ui_pad_l1(int32_t value);
39 C_RESULT ardrone_tool_set_ui_pad_r1(int32_t value);
40 C_RESULT ardrone_tool_set_ui_pad_l2(int32_t value);
41 C_RESULT ardrone_tool_set_ui_pad_r2(int32_t value);
42 C_RESULT ardrone_tool_set_ui_pad_select(int32_t value);
43 C_RESULT ardrone_tool_set_ui_pad_start(int32_t value);
44 C_RESULT ardrone_tool_set_ui_pad_xy(int32_t x, int32_t y);
46 // Callbacks for user input event handling
47 extern C_RESULT custom_reset_user_input(input_state_t* input_state, uint32_t user_input ) WEAK;
48 extern C_RESULT custom_update_user_input(input_state_t* input_state, uint32_t user_input ) WEAK;
51 C_RESULT ardrone_tool_input_add( input_device_t* device );
52 C_RESULT ardrone_tool_input_remove( input_device_t* device );
54 C_RESULT ardrone_tool_input_init(void);
55 C_RESULT ardrone_tool_input_reset(void);
56 C_RESULT ardrone_tool_input_update(void);
57 C_RESULT ardrone_tool_input_shutdown(void);
58 C_RESULT ardrone_tool_start_reset(void);
60 #endif // _ARDRONE_INPUT_H_