1
0
Fork 0

[Keyboard] Improvements for the Torn keyboard (#11268)

* Add bongo cat animation

* Map all keys on base layer

... to make it easier to test newly built keyboards. The encoders
are optional and can be placed in different locations.

* Fix Torn in QMK configurator

This removes additional variables defined in the keymap.c file, so
that the default firmware can be compiled by the configurator.

Co-authored-by: Richard Titmuss <richardt@spotify.com>
This commit is contained in:
Richard Titmuss 2021-01-14 06:50:18 +01:00 committed by GitHub
parent 73235e7ca0
commit 523c8315a2
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 434 additions and 87 deletions

View file

@ -31,18 +31,24 @@ static int8_t encoder_LUT[] = {0, -1, 1, 0, 1, 0, 0, -1, -1, 0, 0, 1, 0, 1, -1,
static uint8_t encoder_state = 0;
static int8_t encoder_pulses = 0;
extern const uint16_t PROGMEM encoder_keymaps[][2][2];
__attribute__((weak)) extern const uint16_t PROGMEM encoder_keymaps[][2][2];
const uint16_t encoder_default[2][2] = { { KC_PGDN, KC_PGUP }, { KC__VOLDOWN, KC__VOLUP } };
/**
* Tap on encoder updates using the encoder keymap
*/
void encoder_update_kb(uint8_t index, bool clockwise) {
int layer = get_highest_layer(layer_state);
uint16_t code;
do {
code = pgm_read_word(&encoder_keymaps[layer--][index][clockwise]);
} while (code == KC_TRNS);
if (encoder_keymaps) {
int layer = get_highest_layer(layer_state);
do {
code = pgm_read_word(&encoder_keymaps[layer--][index][clockwise]);
} while (code == KC_TRNS);
} else {
code = encoder_default[index][clockwise];
}
tap_code16(code);
}