Merge pull request #322 from keyboardio/f/glossary

doc/glossary.md: A small update
pull/331/head
Jesse Vincent 7 years ago committed by GitHub
commit 5c9b0df8ce
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -4,10 +4,39 @@ This document is intended to name and describe the concepts, functions and data
It is, as yet, incredibly incomplete.
Entries should be included in dictionary order. When describing an identifier of any kind from the codebase, it should be
Entries should be included in dictionary order. When describing an identifier of any kind from the codebase, it should be
written using identical capitalization to its use in the code and surrounded by backticks: `identifierName`
### Cycle
Event handler
The `loop` method in one's sketch file is the heart of the firmware. It runs -
as the name suggests - in a loop. We call these runs cycles. A lot of things
happen within a cycle: from key scanning, through key event handling, LED
animations, and so on and so forth.
: A function, usually provided by a `Plugin` that is run by a `Hook`
### Event handler
A function, usually provided by a [`Plugin`](#plugin) that is run by a [`Hook`](#hook).
At the time of this writing, the following event handlers are run by hooks:
- `onSetup`: Run once, when the plugin is initialised during
`Kaleidoscope.setup()`.
- `beforeEachCycle`: Run as the first thing at the start of each [cycle](#cycle).
- `onKeyswitchEvent`: Run for every non-idle key, in each [cycle](#cycle) the
key isn't idle in. If a key gets pressed, released, or is held, it is not
considered idle, and this event handler will run for it too.
- `beforeReportingState`: Runs each [cycle](#cycle) right before sending the
various reports (keys pressed, mouse events, etc) to the host.
- `afterEachCycle`: Runs at the very end of each [cycle](#cycle).
### Hook
A point where the core firmware calls [event handlers](#event-handler), allowing
[plugins](#plugin) to augment the firmware behaviour, by running custom code.
### Plugin
An Arduino library prepared to work with Kaleidoscope. They implement methods
from the `kaleidoscope::Plugin` (usually a subset of them). See [event
handlers](#event-handler) above for a list of methods.

Loading…
Cancel
Save