summaryrefslogtreecommitdiff
path: root/layouts/community
diff options
context:
space:
mode:
Diffstat (limited to 'layouts/community')
-rw-r--r--layouts/community/ortho_4x12/junonum/keymap.c293
-rw-r--r--layouts/community/ortho_4x12/junonum/rules.mk10
2 files changed, 163 insertions, 140 deletions
diff --git a/layouts/community/ortho_4x12/junonum/keymap.c b/layouts/community/ortho_4x12/junonum/keymap.c
index 416949aecc..311a94d7ee 100644
--- a/layouts/community/ortho_4x12/junonum/keymap.c
+++ b/layouts/community/ortho_4x12/junonum/keymap.c
@@ -1,5 +1,24 @@
+/* Copyright 2023 Juno Nguyen <juno.ngx@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 QMK_KEYBOARD_H
-#include "muse.h"
+
+#ifdef AUDIO_ENABLE
+# include "muse.h"
+#endif
enum planck_layers {
_QWERTY,
@@ -120,39 +139,33 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#ifdef AUDIO_ENABLE
-float plover_song[][2] = SONG(PLOVER_SOUND);
-float plover_gb_song[][2] = SONG(PLOVER_GOODBYE_SOUND);
-
-float caps_song_on[][2] = SONG(NUM_LOCK_ON_SOUND);
-float caps_song_off[][2] = SONG(SCROLL_LOCK_ON_SOUND);
-
-// Custom songs for DPAD layer status
-float dpad_song_on[][2] = {
- HD_NOTE(_A4), HD_NOTE(_A4), HD_NOTE(_A4),
- QD_NOTE(_F4), QD_NOTE(_C5), HD_NOTE(_A4),
- QD_NOTE(_F4), QD_NOTE(_C5), WD_NOTE(_A4)
-};
-
-float dpad_song_off[][2] = {
- ED_NOTE(_C6), ED_NOTE(_C6),
- ED_NOTE(_C6), ED_NOTE(_C6),
- W__NOTE(_REST), QD_NOTE(_GS5),
- QD_NOTE(_AS5), Q__NOTE(_C6),
- Q__NOTE(_AS5), Q__NOTE(_C6)
-};
+ float plover_song[][2] = SONG(PLOVER_SOUND);
+ float plover_gb_song[][2] = SONG(PLOVER_GOODBYE_SOUND);
+
+ float caps_song_on[][2] = SONG(NUM_LOCK_ON_SOUND);
+ float caps_song_off[][2] = SONG(SCROLL_LOCK_ON_SOUND);
+
+ // Custom songs for DPAD layer status
+ float dpad_song_on[][2] = {
+ HD_NOTE(_A4), HD_NOTE(_A4), HD_NOTE(_A4),
+ QD_NOTE(_F4), QD_NOTE(_C5), HD_NOTE(_A4),
+ QD_NOTE(_F4), QD_NOTE(_C5), WD_NOTE(_A4)
+ };
+
+ float dpad_song_off[][2] = {
+ ED_NOTE(_C6), ED_NOTE(_C6),
+ ED_NOTE(_C6), ED_NOTE(_C6),
+ W__NOTE(_REST), QD_NOTE(_GS5),
+ QD_NOTE(_AS5), Q__NOTE(_C6),
+ Q__NOTE(_AS5), Q__NOTE(_C6)
+ };
#endif
-#ifndef BACKLIGHT_ENABLE
layer_state_t layer_state_set_user(layer_state_t state) {
- return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
-}
-
-#else
-
-layer_state_t layer_state_set_user(layer_state_t state) {
- // LED control, lighting up when Fn layer is activated
state = update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
- switch (get_highest_layer(state)) {
+# ifdef BACKLIGHT_ENABLE
+ // LED control, lighting up when Fn layer is activated
+ switch (get_highest_layer(state)) {
case _QWERTY:
backlight_set(0);
break;
@@ -162,112 +175,111 @@ layer_state_t layer_state_set_user(layer_state_t state) {
case _DPAD:
backlight_set(3);
break;
- }
+ }
+# endif
+
return state;
}
-#endif
-
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
- case QWERTY:
- if (record->event.pressed) {
- print("mode just switched to qwerty and this is a huge string\n");
- set_single_persistent_default_layer(_QWERTY);
- }
- return false;
- break;
- case COLEMAK:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_COLEMAK);
- }
- return false;
- break;
- case DVORAK:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_DVORAK);
- }
- return false;
- break;
- case BACKLIT:
- if (record->event.pressed) {
- register_code(KC_RSFT);
-#ifdef BACKLIGHT_ENABLE
+ case QWERTY:
+ if (record->event.pressed) {
+ print("mode just switched to qwerty and this is a huge string\n");
+ set_single_persistent_default_layer(_QWERTY);
+ }
+ return false;
+ break;
+ case COLEMAK:
+ if (record->event.pressed) {
+ set_single_persistent_default_layer(_COLEMAK);
+ }
+ return false;
+ break;
+ case DVORAK:
+ if (record->event.pressed) {
+ set_single_persistent_default_layer(_DVORAK);
+ }
+ return false;
+ break;
+ case BACKLIT:
+ if (record->event.pressed) {
+ register_code(KC_RSFT);
+# ifdef BACKLIGHT_ENABLE
backlight_step();
-#endif
-#ifdef KEYBOARD_planck_rev5
+# endif
+# ifdef KEYBOARD_planck_rev5
writePinLow(E6);
-#endif
- } else {
- unregister_code(KC_RSFT);
-#ifdef KEYBOARD_planck_rev5
+# endif
+ } else {
+ unregister_code(KC_RSFT);
+# ifdef KEYBOARD_planck_rev5
writePinHigh(E6);
-#endif
- }
- return false;
- break;
- case PLOVER:
- if (record->event.pressed) {
-#ifdef AUDIO_ENABLE
+# endif
+ }
+ return false;
+ break;
+ case PLOVER:
+ if (record->event.pressed) {
+# ifdef AUDIO_ENABLE
stop_all_notes();
PLAY_SONG(plover_song);
-#endif
- layer_off(_RAISE);
- layer_off(_LOWER);
- layer_off(_ADJUST);
- layer_on(_PLOVER);
- if (!eeconfig_is_enabled()) {
- eeconfig_init();
- }
- keymap_config.raw = eeconfig_read_keymap();
- keymap_config.nkro = 1;
- eeconfig_update_keymap(keymap_config.raw);
+# endif
+ layer_off(_RAISE);
+ layer_off(_LOWER);
+ layer_off(_ADJUST);
+ layer_on(_PLOVER);
+ if (!eeconfig_is_enabled()) {
+ eeconfig_init();
}
- return false;
- break;
- case EXT_PLV:
- if (record->event.pressed) {
-#ifdef AUDIO_ENABLE
+ keymap_config.raw = eeconfig_read_keymap();
+ keymap_config.nkro = 1;
+ eeconfig_update_keymap(keymap_config.raw);
+ }
+ return false;
+ break;
+ case EXT_PLV:
+ if (record->event.pressed) {
+# ifdef AUDIO_ENABLE
PLAY_SONG(plover_gb_song);
-#endif
- layer_off(_PLOVER);
- }
- return false;
- break;
-
- // Play audio upon switching Caps Lock and custom layers
+# endif
+ layer_off(_PLOVER);
+ }
+ return false;
+ break;
- case KC_CAPS:
- if (record->event.pressed) {
-#ifdef AUDIO_ENABLE
+ // Play audio upon switching Caps Lock and custom layers
+ case KC_CAPS:
+ if (record->event.pressed) {
+# ifdef AUDIO_ENABLE
if (host_keyboard_led_state().caps_lock) {
PLAY_SONG(caps_song_off);
} else {
PLAY_SONG(caps_song_on);
}
-#endif
- }
- return true;
+# endif
+ }
+ return true;
- case DP_ON:
- if (record->event.pressed) {
- } else { // only actived upon key release
-#ifdef AUDIO_ENABLE
+ case DP_ON:
+ if (record->event.pressed) {
+ } else { // only actived upon key release
+# ifdef AUDIO_ENABLE
PLAY_SONG(dpad_song_on);
-#endif
+# endif
- layer_off(_FN1);
- layer_on(_DPAD);
- }
+ layer_off(_FN1);
+ layer_on(_DPAD);
+ }
- case DP_OFF:
- if (record->event.pressed) {
-#ifdef AUDIO_ENABLE
+ case DP_OFF:
+ if (record->event.pressed) {
+# ifdef AUDIO_ENABLE
PLAY_SONG(dpad_song_off);
-#endif
+# endif
- layer_off(_DPAD);
- }
+ layer_off(_DPAD);
+ }
}
return true;
}
@@ -305,28 +317,28 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
bool dip_switch_update_user(uint8_t index, bool active) {
switch (index) {
- case 0:
- if (active) {
-#ifdef AUDIO_ENABLE
+ case 0:
+ if (active) {
+# ifdef AUDIO_ENABLE
PLAY_SONG(plover_song);
-#endif
- layer_on(_ADJUST);
- } else {
-#ifdef AUDIO_ENABLE
+# endif
+ layer_on(_ADJUST);
+ } else {
+# ifdef AUDIO_ENABLE
PLAY_SONG(plover_gb_song);
-#endif
- layer_off(_ADJUST);
- }
- break;
- case 1:
- if (active) {
- muse_mode = true;
- } else {
- muse_mode = false;
-#ifdef AUDIO_ENABLE
+# endif
+ layer_off(_ADJUST);
+ }
+ break;
+ case 1:
+ if (active) {
+ muse_mode = true;
+ } else {
+ muse_mode = false;
+# ifdef AUDIO_ENABLE
stop_all_notes();
-#endif
- }
+# endif
+ }
}
return true;
}
@@ -349,10 +361,19 @@ void matrix_scan_user(void) {
bool music_mask_user(uint16_t keycode) {
switch (keycode) {
- case RAISE:
- case LOWER:
- return false;
- default:
- return true;
+ case RAISE:
+ case LOWER:
+ return false;
+ default:
+ return true;
}
}
+
+#ifdef RGBLIGHT_ENABLE
+ void keyboard_post_init_user(void) {
+ rgblight_enable_noeeprom(); // Enables RGB, without saving settings
+ // Vibrant cyan
+ rgblight_sethsv_noeeprom(HSV_SPRINGGREEN);
+ rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT);
+ }
+#endif
diff --git a/layouts/community/ortho_4x12/junonum/rules.mk b/layouts/community/ortho_4x12/junonum/rules.mk
index 72e6214d23..ecb8d8aa1a 100644
--- a/layouts/community/ortho_4x12/junonum/rules.mk
+++ b/layouts/community/ortho_4x12/junonum/rules.mk
@@ -1,13 +1,15 @@
-SRC += muse.c
+ifeq ($(strip $(AUDIO_ENABLE)), yes)
+ SRC += muse.c
+endif
ifeq ($(strip $(KEYBOARD)),$(filter $(strip $(KEYBOARD)), planck/rev2 planck/rev3 planck/rev4 planck/rev5))
- BACKLIGHT_ENABLE = yes
+ BACKLIGHT_ENABLE = yes
else
- BACKLIGHT_ENABLE = no
+ BACKLIGHT_ENABLE = no
endif
ifeq ($(strip $(KEYBOARD)), vitamins_included/rev1)
- NKRO_ENABLE = no
+ NKRO_ENABLE = no
endif
MIDI_ENABLE=no