summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorXyverz <xyverz@gmail.com>2018-08-04 18:01:26 +0200
committerDrashna Jaelre <drashna@live.com>2018-08-04 18:01:26 +0200
commit3e8f2728732b20b5b6af63db73ad8b6f2be18823 (patch)
treed2440b5f7aaed4522ad2dd91c2dbd647bf151963
parentf8a915a2dbed01df73f14fc9baef60f4265d42e9 (diff)
downloadqmk_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.c52
-rw-r--r--keyboards/kinesis/keymaps/xyverz/readme.md4
-rw-r--r--keyboards/kinesis/stapelberg/stapelberg.c86
-rw-r--r--layouts/community/ortho_4x12/xyverz/config.h5
-rw-r--r--layouts/community/ortho_5x12/xyverz/keymap.c10
-rw-r--r--layouts/community/ortho_5x12/xyverz/rules.mk12
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