Model100: Enable a few more plugins for the Model100

Enables IdleLEDs, PersistentLEDMode, Qukeys, OneShot (+ Escape-OneShot) and
DynamicMacros for the Model100.

We also remove the `LEDOff` activation in `setup()`, to let
`PersistentLEDMode()` do its thing instead.

Signed-off-by: Gergely Nagy <algernon@keyboard.io>
examples/factory-firmware
Gergely Nagy 3 years ago
parent a5d043b2b3
commit ba764a6f47
No known key found for this signature in database
GPG Key ID: AC1E90BAC433F68F

@ -1,5 +1,5 @@
// -*- mode: c++ -*- // -*- mode: c++ -*-
// Copyright 2016 Keyboardio, inc. <jesse@keyboard.io> // Copyright 2016-2022 Keyboardio, inc. <jesse@keyboard.io>
// See "LICENSE" for license details // See "LICENSE" for license details
#ifndef BUILD_INFORMATION #ifndef BUILD_INFORMATION
@ -63,6 +63,12 @@
// Support for an LED mode that lets one configure per-layer color maps // Support for an LED mode that lets one configure per-layer color maps
#include "Kaleidoscope-Colormap.h" #include "Kaleidoscope-Colormap.h"
// Support for turning the LEDs off after a certain amount of time
#include "Kaleidoscope-IdleLEDs.h"
// Support for setting a default LED mode
#include "Kaleidoscope-PersistentLEDMode.h"
// Support for Keyboardio's internal keyboard testing mode // Support for Keyboardio's internal keyboard testing mode
#include "Kaleidoscope-HardwareTestMode.h" #include "Kaleidoscope-HardwareTestMode.h"
@ -75,6 +81,16 @@
// Support for USB quirks, like changing the key state report protocol // Support for USB quirks, like changing the key state report protocol
#include "Kaleidoscope-USB-Quirks.h" #include "Kaleidoscope-USB-Quirks.h"
// Support for secondary actions on keys
#include "Kaleidoscope-Qukeys.h"
// Support for one-shot modifiers and layer keys
#include "Kaleidoscope-OneShot.h"
#include "Kaleidoscope-Escape-OneShot.h"
// Support for dynamic, Chrysalis-editable macros
#include "Kaleidoscope-DynamicMacros.h"
/** This 'enum' is a list of all the macros used by the Model 100's firmware /** This 'enum' is a list of all the macros used by the Model 100's firmware
* The names aren't particularly important. What is important is that each * The names aren't particularly important. What is important is that each
* is unique. * is unique.
@ -516,7 +532,28 @@ KALEIDOSCOPE_INIT_PLUGINS(
// comfortable - or able - to do automatically, but can be useful // comfortable - or able - to do automatically, but can be useful
// nevertheless. Such as toggling the key report protocol between Boot (used // nevertheless. Such as toggling the key report protocol between Boot (used
// by BIOSes) and Report (NKRO). // by BIOSes) and Report (NKRO).
USBQuirks); USBQuirks,
// The Qukeys plugin enables the "Secondary action" functionality in
// Chrysalis. Keys with secondary actions will have their primary action
// performed when tapped, but the secondary action when held.
Qukeys,
// Enables the "Sticky" behavior for modifiers, and the "Layer shift when
// held" functionality for layer keys.
OneShot,
EscapeOneShot,
EscapeOneShotConfig,
// Turns LEDs off after a configurable amount of idle time.
IdleLEDs,
PersistentIdleLEDs,
// Enables setting a default LED mode without compiling new firmware.
PersistentLEDMode,
// Enables dynamic, Chrysalis-editable macros.
DynamicMacros);
/** The 'setup' function is one of the two standard Arduino sketch functions. /** The 'setup' function is one of the two standard Arduino sketch functions.
* It's called when your keyboard first powers up. This is where you set up * It's called when your keyboard first powers up. This is where you set up
@ -546,22 +583,21 @@ void setup() {
// https://github.com/keyboardio/Kaleidoscope/blob/master/docs/plugins/LED-Stalker.md // https://github.com/keyboardio/Kaleidoscope/blob/master/docs/plugins/LED-Stalker.md
StalkerEffect.variant = STALKER(BlazingTrail); StalkerEffect.variant = STALKER(BlazingTrail);
// We want to make sure that the firmware starts with LED effects off
// This avoids over-taxing devices that don't have a lot of power to share
// with USB devices
LEDOff.activate();
// To make the keymap editable without flashing new firmware, we store // To make the keymap editable without flashing new firmware, we store
// additional layers in EEPROM. For now, we reserve space for five layers. If // additional layers in EEPROM. For now, we reserve space for eight layers. If
// one wants to use these layers, just set the default layer to one in EEPROM, // one wants to use these layers, just set the default layer to one in EEPROM,
// by using the `settings.defaultLayer` Focus command, or by using the // by using the `settings.defaultLayer` Focus command, or by using the
// `keymap.onlyCustom` command to use EEPROM layers only. // `keymap.onlyCustom` command to use EEPROM layers only.
EEPROMKeymap.setup(5); EEPROMKeymap.setup(8);
// We need to tell the Colormap plugin how many layers we want to have custom // We need to tell the Colormap plugin how many layers we want to have custom
// maps for. To make things simple, we set it to five layers, which is how // maps for. To make things simple, we set it to eight layers, which is how
// many editable layers we have (see above). // many editable layers we have (see above).
ColormapEffect.max_layers(5); ColormapEffect.max_layers(8);
// For Dynamic Macros, we need to reserve storage space for the editable
// macros. A kilobyte is a reasonable default.
DynamicMacros.reserve_storage(1024);
} }
/** loop is the second of the standard Arduino sketch functions. /** loop is the second of the standard Arduino sketch functions.

Loading…
Cancel
Save