diff options
author | nopunin10did <w.alex.ronke@gmail.com> | 2022-01-10 15:36:02 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-01-10 12:36:02 -0800 |
commit | 2dd7242e999c10341f42bb75bcad7ec12b8ed9ce (patch) | |
tree | 966c5566d85ef3db5376c599e7d07aaf44a37991 /keyboards/nopunin10did/kastenwagen1840/kastenwagen1840.c | |
parent | 0e11f8ec202fb5c91b6054705a40070a1c1cec42 (diff) |
[Keyboard] Kastenwagen 1840 and Kastenwagen 48 (#13565)
* cleaning up
* deleting to undelete
* Stub out defaults
* Jabberwocky firmware WIP
* Stubbing out keymap spacing
* Default keymap and layout updates
* start stubbing out JSON for configurator
* more WIP
* Update jabberwocky.h
* Add Readme
* Apply suggestions from code review
* Fix layout capitalization
* Updates to personal and default keymaps
* Add instructions for jumping the bootloader
* Update keyboards/nopunin10did/jabberwocky/rules.mk
* Add easier ctrl-alt-del to my keymap
* Start stubbing out KW firmware
* More firmware and keymap stuff
* Fix compile error
* Filling out other layers in default keymap
* Update layout JSON and finish default layouts
* Add rotary and LED code
* Add VIA support (first draft)
* Move VIA compatibility to VIA-specific branch
* Fix readme formatting
* Fix state count issue in LED code
* Fix an erroneous change to a Jabberwocky file
* Default LEDs to on.
* Apply suggestions from code review
* Delete kastenwagen.json
* Update keyboards/nopunin10did/kastenwagen/config.h
* Apply suggestions from code review
* Apply suggestions from noroadsleft code review
* Update image in the readme
* Split 1840 & 48 into two boards (part 1)
* Splitting into two keyboards (part 2)
Diffstat (limited to 'keyboards/nopunin10did/kastenwagen1840/kastenwagen1840.c')
-rw-r--r-- | keyboards/nopunin10did/kastenwagen1840/kastenwagen1840.c | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/keyboards/nopunin10did/kastenwagen1840/kastenwagen1840.c b/keyboards/nopunin10did/kastenwagen1840/kastenwagen1840.c new file mode 100644 index 0000000000..a54b557406 --- /dev/null +++ b/keyboards/nopunin10did/kastenwagen1840/kastenwagen1840.c @@ -0,0 +1,60 @@ +/* Copyright 2022 W. Alex Ronke, a.k.a. NoPunIn10Did (w.alex.ronke@gmail.com) + * + * 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 2 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 <http://www.gnu.org/licenses/>. + */ + +#include "kastenwagen1840.h" + +#ifndef LAYER_LED_DISABLE + +void keyboard_pre_init_kb(void) { + setPinOutput(LED_INDICATOR_TOP); + setPinOutput(LED_INDICATOR_MID); + setPinOutput(LED_INDICATOR_BOT); + keyboard_pre_init_user(); +} + +__attribute__((weak)) layer_state_t layer_state_set_user(layer_state_t state) { + writePinHigh(LED_INDICATOR_TOP); + writePinHigh(LED_INDICATOR_MID); + writePinHigh(LED_INDICATOR_BOT); + + switch(get_highest_layer(state) % 4) { + case 1: + writePinLow(LED_INDICATOR_TOP); + writePinLow(LED_INDICATOR_MID); + break; + case 2: + writePinLow(LED_INDICATOR_TOP); + writePinLow(LED_INDICATOR_BOT); + break; + case 3: + writePinLow(LED_INDICATOR_MID); + writePinLow(LED_INDICATOR_BOT); + break; + } + return state; +} + +#endif + +bool encoder_update_kb(uint8_t index, bool clockwise) { + if (!encoder_update_user(index, clockwise)) { return false; } + if (clockwise) { + tap_code(KC_PGUP); + } else { + tap_code(KC_PGUP); + } + return true; +}; |