Firmware for the Keyboardio Model 01 and other keyboards with AVR or ARM MCUs.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Go to file
Gergely Nagy 2bfd64a900
Simplify the "shifted" case too
6 years ago
examples/TopsyTurvy Assign my copyright to Keyboard.io 6 years ago
src Simplify the "shifted" case too 6 years ago
.gitignore Test the plugin with Travis CI 8 years ago
.travis.yml New build infrastructure 8 years ago
CONTRIBUTING.md Add CONTRIBUTING.md 6 years ago
COPYING Initial import 8 years ago
Makefile Update Makefile with OSX fixes and new paths 7 years ago
README.md Updated to use the new plugin APIs 7 years ago
library.properties Assign my copyright to Keyboard.io 6 years ago

README.md

Kaleidoscope-TopsyTurvy

status Build Status

TopsyTurvy is a plugin that inverts the behaviour of the Shift key for some selected keys. That is, if configured so, it will input ! when pressing the 1 key without Shift, but with the modifier pressed, it will input the original 1 symbol.

Using the plugin

To use the plugin, one needs to include the header, mark keys to apply plugin effects to, and use the plugin:

#include <Kaleidoscope.h>
#include <Kaleidoscope-TopsyTurvy.h>

// In the keymap:
TOPSY(1), TOPSY(2), TOPSY(3)

KALEIDOSCOPE_INIT_PLUGINS(TopsyTurvy);

void setup () {
  Kaleidoscope.setup ();
}

Keymap markup

There is only one macro that the plugin provides, which one can use in keymap definitions:

TOPSY(key)

Mark the specified key (without the Key_ prefix!) for TopsyTurvy, and swap the effect of Shift when the key is used. One can have any number of topsy-turvy keys on a keymap.

The keys must be plain old keys, modifiers or anything other augmentation cannot be applied.

The plugin provides a number of macros one can use in keymap definitions:

Plugin methods

The plugin provides the TopsyTurvy object, without any public methods or properties.

Further reading

Starting from the example is the recommended way of getting started with the plugin.