Module Sdl.Event
Event accessors and event_type
constants and enumeration.
Event
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 -> event
create ()
is an uninitialized event structure.
Event types and their fields
Event type aliases and misc
val first_event : event_type
val last_event : event_type
Common
These fields are common to all event types.
val typ : event_type field
val timestamp : uint32 field
Application events
val app_did_enter_background : event_type
val app_did_enter_foreground : event_type
val app_low_memory : event_type
val app_terminating : event_type
val app_will_enter_background : event_type
val app_will_enter_foreground : event_type
Clipboard
val clipboard_update : event_type
Controller events
val controller_axis_motion : event_type
val controller_button_down : event_type
val controller_button_up : event_type
val controller_device_added : event_type
val controller_device_remapped : event_type
val controller_device_removed : event_type
SDL_ControllerAxisEvent fields
SDL_ControllerButtonEvent fields
val controller_button_which : joystick_id field
val controller_button_button : uint8 field
val controller_button_state : button_state field
SDL_ControllerDeviceEvent fields
val controller_device_which : joystick_id field
Dollar gesture events
val dollar_gesture : event_type
val dollar_record : event_type
SDL_DollarGestureEvent fields
Drop events
Warning If you enable this event drop_file_free
must be called on the event after you have finished processing it.
val drop_file : event_type
val drop_text : event_type
val drop_begin : event_type
val drop_complete : event_type
val drop_file_free : event -> unit
SDL_DropEvent fields
val drop_file_file : event -> string
Touch events
val finger_down : event_type
val finger_motion : event_type
val finger_up : event_type
SDL_TouchFingerEvent fields
Joystick events
val joy_axis_motion : event_type
val joy_ball_motion : event_type
val joy_button_down : event_type
val joy_button_up : event_type
val joy_device_added : event_type
val joy_device_removed : event_type
val joy_hat_motion : event_type
SDL_JoyAxisEvent fields
SDL_JoyBallEvent fields
SDL_JoyButtonEvent fields
val joy_button_which : joystick_id field
val joy_button_button : uint8 field
val joy_button_state : button_state field
SDL_JoyDeviceEvent fields
val joy_device_which : joystick_id field
SDL_JoyHatEvent fields
Keyboard event
val key_down : event_type
val key_up : event_type
val keymap_changed : event_type
SDL_KeyboardEvent fields
Mouse events
val mouse_button_down : event_type
val mouse_button_up : event_type
val mouse_motion : event_type
val mouse_wheel : event_type
SDL_MouseButtonEvent fields
val mouse_button_window_id : int field
val mouse_button_which : uint32 field
val mouse_button_button : uint8 field
val mouse_button_state : button_state field
val mouse_button_clicks : uint8 field
SDL 2.0.2
val mouse_button_x : int field
SDL 2.0.2
val mouse_button_y : int field
SDL_MouseMotionEvent fields
SDL_MouseWheelEvent fields
val mouse_wheel_normal : mouse_wheel_direction
val mouse_wheel_flipped : mouse_wheel_direction
val mouse_wheel_window_id : int field
val mouse_wheel_which : uint32 field
val mouse_wheel_x : int field
val mouse_wheel_y : int field
val mouse_wheel_direction : mouse_wheel_direction field
2.04
Multi gesture events
val multi_gesture : event_type
SDL_MultiGestureEvent fields
Quit events
val quit : event_type
System window manager events
val sys_wm_event : event_type
Text events
val text_editing : event_type
val text_input : event_type
SDL_TextEditingEvent fields
SDL_TextInputEvent fields
User events
val user_event : event_type
SDL_UserEvent fields
Window events
val window_event : event_type
val window_event_enum : window_event_id -> [ `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_shown : window_event_id
val window_event_exposed : window_event_id
val window_event_moved : window_event_id
val window_event_resized : window_event_id
val window_event_size_changed : window_event_id
val window_event_minimized : window_event_id
val window_event_maximized : window_event_id
val window_event_restored : window_event_id
val window_event_enter : window_event_id
val window_event_leave : window_event_id
val window_event_focus_gained : window_event_id
val window_event_focus_lost : window_event_id
val window_event_close : window_event_id
val window_event_take_focus : window_event_id
val window_event_hit_test : window_event_id
SDL_WindowEvent fields
val window_window_id : int field
val window_event_id : window_event_id field
val window_data1 : int32 field
val window_data2 : int32 field
Render target
val render_targets_reset : event_type
val render_device_reset : event_type
Audio hotplug events
val audio_device_added : event_type
val audio_device_removed : event_type
SDL_AudioDeviceEvent fields
Event type enum
val enum : event_type -> [ `App_did_enter_background | `App_did_enter_foreground | `App_low_memory | `App_terminating | `App_will_enter_background | `App_will_enter_foreground | `Clipboard_update | `Controller_axis_motion | `Controller_button_down | `Controller_button_up | `Controller_device_added | `Controller_device_remapped | `Controller_device_removed | `Dollar_gesture | `Dollar_record | `Drop_file | `Finger_down | `Finger_motion | `Finger_up | `Joy_axis_motion | `Joy_ball_motion | `Joy_button_down | `Joy_button_up | `Joy_device_added | `Joy_device_removed | `Joy_hat_motion | `Key_down | `Key_up | `Mouse_button_down | `Mouse_button_up | `Mouse_motion | `Mouse_wheel | `Multi_gesture | `Quit | `Sys_wm_event | `Text_editing | `Text_input | `Unknown of int | `User_event | `Window_event ]