diff options
author | Xyverz <xyverz@gmail.com> | 2018-08-04 18:01:26 +0200 |
---|---|---|
committer | Drashna Jaelre <drashna@live.com> | 2018-08-04 18:01:26 +0200 |
commit | 3e8f2728732b20b5b6af63db73ad8b6f2be18823 (patch) | |
tree | d2440b5f7aaed4522ad2dd91c2dbd647bf151963 | |
parent | f8a915a2dbed01df73f14fc9baef60f4265d42e9 (diff) | |
download | qmk_firmware-3e8f2728732b20b5b6af63db73ad8b6f2be18823.tar.gz qmk_firmware-3e8f2728732b20b5b6af63db73ad8b6f2be18823.tar.xz |
Keyboard: LED fixes for Kinesis Stapelberg controller, and keymap changes (#3564)
* Rules for vitamins_included
Added a section to disable RGB underglow for the Let's Split
Vitamins Included board.
* fixing ortho_4x12 configs
* Using upstream/master version instead
* Additions and Corrections
Corrected the Kinesis/Stapelberg's .c file to allow LEDs to work
Removed excess cruft from my Kinesis keymap to reflect this change
Other minor tweaks and adjustments to my ortho_4x12 and 5x12 layouts
* Updated readme
-rw-r--r-- | keyboards/kinesis/keymaps/xyverz/keymap.c | 52 | ||||
-rw-r--r-- | keyboards/kinesis/keymaps/xyverz/readme.md | 4 | ||||
-rw-r--r-- | keyboards/kinesis/stapelberg/stapelberg.c | 86 | ||||
-rw-r--r-- | layouts/community/ortho_4x12/xyverz/config.h | 5 | ||||
-rw-r--r-- | layouts/community/ortho_5x12/xyverz/keymap.c | 10 | ||||
-rw-r--r-- | layouts/community/ortho_5x12/xyverz/rules.mk | 12 |
6 files changed, 52 insertions, 117 deletions
diff --git a/keyboards/kinesis/keymaps/xyverz/keymap.c b/keyboards/kinesis/keymaps/xyverz/keymap.c index 533047b15..1025df076 100644 --- a/keyboards/kinesis/keymaps/xyverz/keymap.c +++ b/keyboards/kinesis/keymaps/xyverz/keymap.c @@ -299,58 +299,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { return true; }; -// getting the LEDs working... -void led_set_user(uint8_t usb_led) { - - DDRF |= (1<<0); // Keypad LED - if (usb_led & (1<<USB_LED_COMPOSE)) { - PORTF |= (1<<0); - } else { - PORTF &= ~(1<<0); - } - - DDRF |= (1<<1); // ScrLock LED - if (usb_led & (1<<USB_LED_SCROLL_LOCK)) { - PORTF |= (1<<1); - } else { - PORTF &= ~(1<<1); - } - - DDRF |= (1<<2); // NumLock LED - if (usb_led & (1<<USB_LED_NUM_LOCK)) { - PORTF |= (1<<2); - } else { - PORTF &= ~(1<<2); - } - - DDRF |= (1<<3); // CapsLock LED - if (usb_led & (1<<USB_LED_CAPS_LOCK)) { - PORTF |= (1<<3); - } else { - PORTF &= ~(1<<3); - } - -} - // Runs just one time when the keyboard initializes. void matrix_init_user(void) { - }; - -void led_set_user(uint8_t usb_led) { - if (usb_led & (1<<USB_LED_NUM_LOCK)) { - PORTF |= (1<<2); - } else { - PORTF &= ~(1<<2); - } - if (usb_led & (1<<USB_LED_CAPS_LOCK)) { - PORTF |= (1<<3); - } else { - PORTF &= ~(1<<3); - } - if (usb_led & (1<<USB_LED_SCROLL_LOCK)) { - PORTF |= (1<<1); - } else { - PORTF &= ~(1<<1); - } -} diff --git a/keyboards/kinesis/keymaps/xyverz/readme.md b/keyboards/kinesis/keymaps/xyverz/readme.md index 12320996e..4f270445d 100644 --- a/keyboards/kinesis/keymaps/xyverz/readme.md +++ b/keyboards/kinesis/keymaps/xyverz/readme.md @@ -10,9 +10,11 @@ The QWERTY layout shown here is based entirely on the Kinesis Advantage layout. I've enabled persistent keymaps for Qwerty, Dvorak and Colemak layers, similar to the default Planck layouts. +As of August 4 2018, I've got the LEDs working ... mostly. Caps Lock and Num Lock LEDs work for me. The Scroll Lock LED does work on my keyboard, but I can't get it to work when I use the Scroll Lock key on my keyboard. I also have no idea how to get the Num Pad LED working when I switch to the Numpad layer. + ## Still to do: - * Implement the CapsLock, NumLock, and ScrLck LEDs on the off-chance that I decide to actually solder some to the keyboard. + * Figure out how to make the Numpad and ScrLck LEDs work properly. ### Function Keys on All Layers (keypad toggles): ,-----------------------------------------------------------------. diff --git a/keyboards/kinesis/stapelberg/stapelberg.c b/keyboards/kinesis/stapelberg/stapelberg.c index 94d15316d..af407ac4f 100644 --- a/keyboards/kinesis/stapelberg/stapelberg.c +++ b/keyboards/kinesis/stapelberg/stapelberg.c @@ -27,65 +27,35 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { } void led_init_ports() { - // * Set our LED pins as output - DDRF |= (1<<0); // Keypad LED - DDRF |= (1<<1); // ScrLock LED - DDRF |= (1<<2); // NumLock LED - DDRF |= (1<<3); // CapsLock LED + // * Set our LED pins as output + DDRF |= (1<<0); // Keypad LED + DDRF |= (1<<1); // ScrLock LED + DDRF |= (1<<2); // NumLock LED + DDRF |= (1<<3); // CapsLock LED } void led_set_kb(uint8_t usb_led) { - DDRF |= (1<<0); // Keypad LED - if (usb_led & (1<<USB_LED_COMPOSE)) { - PORTF |= (1<<0); - } else { - PORTF &= ~(1<<0); - } - - DDRF |= (1<<1); // ScrLock LED - if (usb_led & (1<<USB_LED_SCROLL_LOCK)) { - PORTF |= (1<<1); - } else { - PORTF &= ~(1<<1); - } - - DDRF |= (1<<2); // NumLock LED - if (usb_led & (1<<USB_LED_NUM_LOCK)) { - PORTF |= (1<<2); - } else { - PORTF &= ~(1<<2); - } - - DDRF |= (1<<3); // CapsLock LED - if (usb_led & (1<<USB_LED_CAPS_LOCK)) { - PORTF |= (1<<3); - } else { - PORTF &= ~(1<<3); - } - - led_set_user(usb_led); - -inline void kinesis_keypad_led_on(void) { DDRF |= (1<<0); PORTF |= (1<<0); } -inline void kinesis_scroll_led_on(void) { DDRF |= (1<<1); PORTF |= (1<<1); } -inline void kinesis_num_led_on(void) { DDRF |= (1<<2); PORTF |= (1<<2); } -inline void kinesis_caps_led_on(void) { DDRF |= (1<<3); PORTF |= (1<<3); } - -inline void kinesis_keypad_led_off(void) { DDRF &= ~(1<<0); PORTF &= ~(1<<0); } -inline void kinesis_scroll_led_off(void) { DDRF &= ~(1<<1); PORTF &= ~(1<<1); } -inline void kinesis_num_led_off(void) { DDRF &= ~(1<<2); PORTF &= ~(1<<2); } -inline void kinesis_caps_led_off(void) { DDRF &= ~(1<<3); PORTF &= ~(1<<3); } - - + if (usb_led & (1<<USB_LED_COMPOSE)) { + PORTF &= ~(1<<0); + } else { + PORTF |= (1<<0); + } + + if (usb_led & (1<<USB_LED_SCROLL_LOCK)) { + PORTF &= ~(1<<1); + } else { + PORTF |= (1<<1); + } + + if (usb_led & (1<<USB_LED_NUM_LOCK)) { + PORTF &= ~(1<<2); + } else { + PORTF |= (1<<2); + } + + if (usb_led & (1<<USB_LED_CAPS_LOCK)) { + PORTF &= ~(1<<3); + } else { + PORTF |= (1<<3); + } } - -/* This is the old code that has the port information in it. -inline void kinesis_keypad_led_on(void) { DDRF |= (1<<0); PORTF |= (1<<0); } -inline void kinesis_scroll_led_on(void) { DDRF |= (1<<1); PORTF |= (1<<1); } -inline void kinesis_num_led_on(void) { DDRF |= (1<<2); PORTF |= (1<<2); } -inline void kinesis_caps_led_on(void) { DDRF |= (1<<3); PORTF |= (1<<3); } - -inline void kinesis_keypad_led_off(void) { DDRF &= ~(1<<0); PORTF &= ~(1<<0); } -inline void kinesis_scroll_led_off(void) { DDRF &= ~(1<<1); PORTF &= ~(1<<1); } -inline void kinesis_num_led_off(void) { DDRF &= ~(1<<2); PORTF &= ~(1<<2); } -inline void kinesis_caps_led_off(void) { DDRF &= ~(1<<3); PORTF &= ~(1<<3); } -*/ diff --git a/layouts/community/ortho_4x12/xyverz/config.h b/layouts/community/ortho_4x12/xyverz/config.h index d2c329767..0fa89d6c7 100644 --- a/layouts/community/ortho_4x12/xyverz/config.h +++ b/layouts/community/ortho_4x12/xyverz/config.h @@ -15,12 +15,11 @@ #define RGBLED_NUM 12 #elif defined(KEYBOARD_lets_split_rev2) #define RGBLED_NUM 8 +#elif defined(KEYBOARD_jj40) + #define RGBLED_NUM 5 #else #define RGBLED_NUM 1 #endif -#ifdef KEYBOARD_jj40 - #define RGBLED_NUM 5 -#endif #define RGBLIGHT_ANIMATIONS #define RGBLIGHT_HUE_STEP 8 diff --git a/layouts/community/ortho_5x12/xyverz/keymap.c b/layouts/community/ortho_5x12/xyverz/keymap.c index a0f1274d0..23a456e6d 100644 --- a/layouts/community/ortho_5x12/xyverz/keymap.c +++ b/layouts/community/ortho_5x12/xyverz/keymap.c @@ -175,6 +175,16 @@ void persistent_default_layer_set(uint16_t default_layer) { default_layer_set(default_layer); } +void matrix_init_user(void) { +#ifdef BOOTLOADER_CATERINA + // This will disable the red LEDs on the ProMicros + DDRD &= ~(1<<5); + PORTD &= ~(1<<5); + DDRB &= ~(1<<0); + PORTB &= ~(1<<0); +#endif +}; + bool process_record_user(uint16_t keycode, keyrecord_t *record) { switch (keycode) { case QWERTY: diff --git a/layouts/community/ortho_5x12/xyverz/rules.mk b/layouts/community/ortho_5x12/xyverz/rules.mk index 44bbc61e5..63c544ad5 100644 --- a/layouts/community/ortho_5x12/xyverz/rules.mk +++ b/layouts/community/ortho_5x12/xyverz/rules.mk @@ -1,5 +1,5 @@ # Build Options -# change to "no" to disable the options, or define them in the Makefile in +# change to "no" to disable the options, or define them in the Makefile in # the appropriate keymap folder that will get included automatically # BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) @@ -7,12 +7,18 @@ MOUSEKEY_ENABLE = no # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = no # Console for debug(+400) COMMAND_ENABLE = no # Commands for debug and configuration -BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality MIDI_ENABLE = no # MIDI controls AUDIO_ENABLE = no # Audio output on port C6 UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID -RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. Do not enable this with audio at the same time. + +ifneq ("$(KEYBOARD)","nyquist") + RGBLIGHT_ENABLE = yes + BACKLIGHT_ENABLE = yes +else + RGBLIGHT_ENABLE = no + BACKLIGHT_ENABLE = no +endif # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend |