Sdl.Eventevent accessors and event_type constants and enumeration.
Once you have determined the typ you can access fields available for that type. Safe if you use the wrong accessors: you will just end with garbage data.
val create : unit -> eventcreate () is an uninitialized event structure.
val first_event : event_typeval last_event : event_typeThese fields are common to all event types.
val typ : event_type fieldval app_did_enter_background : event_typeval app_did_enter_foreground : event_typeval app_low_memory : event_typeval app_terminating : event_typeval app_will_enter_background : event_typeval app_will_enter_foreground : event_typeval clipboard_update : event_typeval controller_axis_motion : event_typeval controller_button_down : event_typeval controller_button_up : event_typeval controller_device_added : event_typeval controller_device_remapped : event_typeval controller_device_removed : event_typeval controller_axis_which : joystick_id fieldval controller_axis_axis : Controller.axis fieldval controller_button_which : joystick_id fieldval controller_button_button : Controller.button fieldval controller_button_state : button_state fieldval controller_device_which : joystick_id fieldval dollar_gesture : event_typeval dollar_record : event_typeval dollar_gesture_gesture_id : gesture_id fieldval dollar_gesture_num_fingers : int fieldval dollar_gesture_error : float fieldval dollar_gesture_x : float fieldval dollar_gesture_y : float fieldWarning If you enable this event drop_file_free must be called on the event after you have finished processing it.
val drop_file : event_typeval drop_text : event_typeval drop_begin : event_typeval drop_complete : event_typeval drop_file_free : event -> unitval drop_file_file : event -> string optionval drop_window_id : int fieldval finger_down : event_typeval finger_motion : event_typeval finger_up : event_typeval touch_finger_x : float fieldval touch_finger_y : float fieldval touch_finger_dx : float fieldval touch_finger_dy : float fieldval touch_finger_pressure : float fieldval joy_axis_motion : event_typeval joy_ball_motion : event_typeval joy_button_down : event_typeval joy_button_up : event_typeval joy_device_added : event_typeval joy_device_removed : event_typeval joy_hat_motion : event_typeval joy_axis_which : joystick_id fieldval joy_ball_which : joystick_id fieldval joy_ball_xrel : int fieldval joy_ball_yrel : int fieldval joy_button_which : joystick_id fieldval joy_button_state : button_state fieldval joy_device_which : joystick_id fieldval joy_hat_which : joystick_id fieldval key_down : event_typeval key_up : event_typeval keymap_changed : event_typeval keyboard_window_id : int fieldval keyboard_state : button_state fieldval keyboard_repeat : int fieldval mouse_button_down : event_typeval mouse_button_up : event_typeval mouse_motion : event_typeval mouse_wheel : event_typeval mouse_button_window_id : int fieldval mouse_button_state : button_state fieldval mouse_button_x : int fieldSDL 2.0.2
val mouse_button_y : int fieldval mouse_motion_window_id : int fieldval mouse_motion_x : int fieldval mouse_motion_y : int fieldval mouse_motion_xrel : int fieldval mouse_motion_yrel : int fieldval mouse_wheel_normal : mouse_wheel_directionval mouse_wheel_flipped : mouse_wheel_directionval mouse_wheel_window_id : int fieldval mouse_wheel_x : int fieldval mouse_wheel_y : int fieldval mouse_wheel_direction : mouse_wheel_direction field2.04
val multi_gesture : event_typeval multi_gesture_dtheta : float fieldval multi_gesture_ddist : float fieldval multi_gesture_x : float fieldval multi_gesture_y : float fieldval multi_gesture_num_fingers : int fieldval quit : event_typeval sys_wm_event : event_typeval text_editing : event_typeval text_input : event_typeval text_editing_window_id : int fieldval text_editing_text : string fieldval text_editing_start : int fieldval text_editing_length : int fieldval text_input_window_id : int fieldval text_input_text : string fieldval user_event : event_typeval user_window_id : int fieldval user_code : int fieldval display_event : event_typeval display_display : int32 fieldval display_event_id : int fieldval display_data1 : int32 fieldval sensor_update : event_typeval sensor_which : int32 fieldval sensor_data0 : float fieldval sensor_data1 : float fieldval sensor_data2 : float fieldval sensor_data3 : float fieldval sensor_data4 : float fieldval sensor_data5 : float fieldval window_event : event_typetype window_event_enum = [ | `Close| `Enter| `Exposed| `Focus_gained| `Focus_lost| `Hidden| `Hit_test| `Leave| `Maximized| `Minimized| `Moved| `Resized| `Restored| `Shown| `Size_changed| `Take_focus| `Unknown of window_event_id ]val window_event_enum : window_event_id -> window_event_enumval window_event_shown : window_event_idval window_event_exposed : window_event_idval window_event_moved : window_event_idval window_event_resized : window_event_idval window_event_size_changed : window_event_idval window_event_minimized : window_event_idval window_event_maximized : window_event_idval window_event_restored : window_event_idval window_event_enter : window_event_idval window_event_leave : window_event_idval window_event_focus_gained : window_event_idval window_event_focus_lost : window_event_idval window_event_close : window_event_idval window_event_take_focus : window_event_idval window_event_hit_test : window_event_idval window_window_id : int fieldval window_event_id : window_event_id fieldval window_data1 : int32 fieldval window_data2 : int32 fieldval render_targets_reset : event_typeval render_device_reset : event_typeval audio_device_added : event_typeval audio_device_removed : event_typeval audio_device_is_capture : int fieldtype enum = [ | `App_did_enter_background| `App_did_enter_foreground| `App_low_memory| `App_terminating| `App_will_enter_background| `App_will_enter_foreground| `Audio_device_added| `Audio_device_removed| `Clipboard_update| `Controller_axis_motion| `Controller_device_added| `Controller_device_remapped| `Controller_device_removed| `Dollar_gesture| `Dollar_record| `Drop_begin| `Drop_complete| `Drop_file| `Drop_text| `Finger_down| `Finger_motion| `Finger_up| `Keymap_changed| `Joy_axis_motion| `Joy_ball_motion| `Joy_device_added| `Joy_device_removed| `Joy_hat_motion| `Key_down| `Key_up| `Mouse_motion| `Mouse_wheel| `Multi_gesture| `Quit| `Render_targets_reset| `Render_device_reset| `Sys_wm_event| `Text_editing| `Text_input| `Unknown of int| `User_event| `Window_event| `Display_event| `Sensor_update ]val enum : event_type -> enum