# Events

> Learn all about events and event handling in Babylon.js.

Source: https://doc.babylonjs.com/features/featuresDeepDive/events

## Event Handling

Naturally, the main sources of events are the mouse, keyboard, touch, device movement, and game controllers. In this section, we will consider how to manage some of these. In terms of coding, Babylon.js has two features that handle events: actions and observables. It is also possible to use plain JavaScript.

## Pages in this section

- [Actions](https://doc.babylonjs.com/features/featuresDeepDive/events/actions.md): Learn how to use actions in Babylon.js.
- [Observables](https://doc.babylonjs.com/features/featuresDeepDive/events/observables.md): Learn all about observables in Babylon.js.
- [Promises](https://doc.babylonjs.com/features/featuresDeepDive/events/promises.md): Learn all about the power of promises in Babylon.js.
- [Coroutines](https://doc.babylonjs.com/features/featuresDeepDive/events/coroutines.md): Easily extend logic over time with Babylon.js coroutines.
