diff --git a/README.md b/README.md index e4b08b23..4ff71352 100644 --- a/README.md +++ b/README.md @@ -31,3 +31,10 @@ The plugin only makes sense when using one-shot keys. ## Plugin methods The plugin provides the `EscapeOneShot` object, which has no public methods. + +## Further reading + +Starting from the [example][plugin:example] is the recommended way of getting +started with the plugin. + + [plugin:example]: https://github.com/keyboardio/Akela-Escape-OneShot/blob/master/examples/Escape-OneShot/Escape-OneShot.ino diff --git a/examples/Escape-OneShot/Escape-OneShot.ino b/examples/Escape-OneShot/Escape-OneShot.ino new file mode 100644 index 00000000..10371681 --- /dev/null +++ b/examples/Escape-OneShot/Escape-OneShot.ino @@ -0,0 +1,72 @@ +/* -*- mode: c++ -*- + * Akela -- Animated Keyboardio Extension Library for Anything + * Copyright (C) 2016, 2017 Gergely Nagy + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include +#include + +const Key keymaps[][ROWS][COLS] PROGMEM = { + [0] = KEYMAP_STACKED + ( + Key_LEDEffectNext, Key_1, Key_2, Key_3, Key_4, Key_5, Key_LEDEffectNext, + Key_Backtick, Key_Q, Key_W, Key_E, Key_R, Key_T, Key_Tab, + Key_PageUp, Key_A, Key_S, Key_D, Key_F, Key_G, + Key_PageDn, Key_Z, Key_X, Key_C, Key_V, Key_B, Key_Esc, + + OSM(LCtrl), Key_Backspace, OSM(LGUI), Key_LShift, + Key_Keymap1_Momentary, + + Key_skip, Key_6, Key_7, Key_8, Key_9, Key_0, Key_skip, + Key_Enter, Key_Y, Key_U, Key_I, Key_O, Key_P, Key_Equals, + Key_H, Key_J, Key_K, Key_L, Key_Semicolon, Key_Quote, + Key_skip, Key_N, Key_M, Key_Comma, Key_Period, Key_Slash, Key_Minus, + + Key_RShift, OSM(RAlt), Key_Space, OSM(RCtrl), + OSL(1) + ), + + [1] = KEYMAP_STACKED + ( + ___, ___, ___, ___, ___, ___, ___, + ___, ___, ___, ___, ___, ___, ___, + ___, ___, ___, ___, ___, ___, + ___, ___, ___, ___, ___, ___, ___, + + ___, ___, ___, ___, + ___, + + ___, ___, ___, ___, ___, ___, ___, + ___, ___, ___, ___, ___, ___, ___, + Key_UpArrow, Key_DnArrow, Key_LArrow, Key_RArrow, ___, ___, + ___, ___, ___, ___, ___, ___, ___, + + ___, ___, ___, ___, + ___ + ), + +}; + +void setup () { + OneShot.enableAuto (); + + Keyboardio.use (&OneShot, &EscapeOneShot, NULL); + Keyboardio.setup (KEYMAP_SIZE); +} + +void loop () { + Keyboardio.loop (); +}