---
name: "SDL_AddEventWatch"
section: "3"
platform: "linux"
package: "libsdl3-doc"
version: "3.2.10+ds-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/SDL_AddEventWatch"
---

# SDL\_AddEventWatch(3)

Add a callback to be triggered when an event is added to the event queue.

## NAME

SDL\_AddEventWatch - Add a callback to be triggered when an event is added to the event queue.

## HEADER FILE

Defined in SDL3/SDL\_events.h

## SYNOPSIS

```
#include "SDL3/SDL.h"
```

**bool SDL\_AddEventWatch(SDL\_EventFilter filter, void \*userdata);**

## DESCRIPTION

**filter** will be called when an event happens, and its return value is ignored. **WARNING** : Be very careful of what you do in the event filter function, as it may run in a different thread!

If the quit event is generated by a signal (e.g. SIGINT), it will bypass the internal queue and be delivered to the watch callback immediately, and arrive at the next event poll.

Note: the callback is called for events posted by the user through

**SDL\_PushEvent** (), but not for disabled events, nor for events by a filter callback set with

**SDL\_SetEventFilter** (), nor for events posted by the user through  **SDL\_PeepEvents** ().

## FUNCTION PARAMETERS

- *filter*

  an  **SDL\_EventFilter**\
    function to call when an event happens.

- *userdata*

  a pointer that is passed to **filter** .

## RETURN VALUE

Returns true on success or false on failure; call

**SDL\_GetError** () for more information.

## THREAD SAFETY

It is safe to call this function from any thread.

## AVAILABILITY

This function is available since SDL 3.2.0.

## SEE ALSO

**•**(3), [**SDL\_RemoveEventWatch**(3)](/SDL_RemoveEventWatch/3.md), **•**(3), [**SDL\_SetEventFilter**(3)](/SDL_SetEventFilter/3.md)
