io7m | single-page | multi-page | JSycamore User Manual
2.5. Components
Previous
2. Model
Up
2.7. Themes
Next

# 2.6. Events

- 2.6.1. Description
- 2.6.2. Input Events
  - 2.6.2.1. Description
  - 2.6.2.2. Mouse Events
  - 2.6.2.3. Keyboard Events
- 2.6.3. Output Events

## 2.6.1. Description

1
Events are the primary means by which the jsycamore package accepts input from external code, and by which it publishes notifications on state changes.
2
Events are divided into input events and output events.

## 2.6.2. Input Events

## 2.6.2.1. Description

1
Input events are events that represent input to the UI. In order to remain fully platform-independent, the jsycamore package does not directly read from the keyboard and mouse. Instead, users are expected to be running jsycamore inside an existing system such as AWT, or perhaps embedded in a GPU context via GLFW, and are therefore responsible for translating input events coming from those systems into method calls defined on the SyScreenMouseEventsType and SyScreenKeyEventsType interfaces. When these methods are called, the screen will dispatch input events internally to any relevant components.

## 2.6.2.2. Mouse Events

1
Mouse events...

## 2.6.2.3. Keyboard Events

1
Keyboard events...

## 2.6.3. Output Events

1
Output events are events that indicate state changes that have occurred. For example, closing a window will publish an event.
2
Users may obtain access to a stream of output events from each screen.
2.5. Components
Previous
2. Model
Up
2.7. Themes
Next
io7m | single-page | multi-page | JSycamore User Manual