diff options
author | lokher <lokher@gmail.com> | 2022-12-06 17:10:48 +0800 |
---|---|---|
committer | lokher <lokher@gmail.com> | 2022-12-07 15:50:49 +0800 |
commit | a336c2c5005251e4cb0f3a62ccabdb4cfccad915 (patch) | |
tree | 3c948b631a5e3b6f940dabe02fad3c7487e6f350 /keyboards/handwired/promethium | |
parent | 27fc28fd2ff52e079a5bc58d6aaea4c752420615 (diff) |
Merge upstream master to 2022 Q4 breaking change
Diffstat (limited to 'keyboards/handwired/promethium')
-rw-r--r-- | keyboards/handwired/promethium/config.h | 273 | ||||
-rw-r--r-- | keyboards/handwired/promethium/keymaps/default/keymap.c | 1360 | ||||
-rw-r--r-- | keyboards/handwired/promethium/keymaps/default/rules.mk | 13 | ||||
-rw-r--r-- | keyboards/handwired/promethium/keymaps/priyadi/keymap.c | 1363 | ||||
-rw-r--r-- | keyboards/handwired/promethium/keymaps/priyadi/rules.mk | 24 | ||||
-rw-r--r-- | keyboards/handwired/promethium/promethium.c | 30 | ||||
-rw-r--r-- | keyboards/handwired/promethium/rules.mk | 34 |
7 files changed, 0 insertions, 3097 deletions
diff --git a/keyboards/handwired/promethium/config.h b/keyboards/handwired/promethium/config.h deleted file mode 100644 index b5f0465980..0000000000 --- a/keyboards/handwired/promethium/config.h +++ /dev/null @@ -1,273 +0,0 @@ -/* -Copyright 2012 Jun Wako <wakojun@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/>. -*/ - -#pragma once - -#include "config_common.h" - -/* key matrix size */ -#define MATRIX_COLS 6 -#define MATRIX_ROWS 9 - -/* default pin-out */ -#define MATRIX_COL_PINS \ - { F4, F1, F0, D6, D0, D1 } -#define MATRIX_ROW_PINS \ - { F5, F6, F7, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN } -#define TRACKPOINT_PINS \ - { B7, B6, D7 } - -/* - * Keyboard Matrix Assignments - * - * Change this to how you wired your keyboard - * COLS: AVR pins used for columns, left to right - * ROWS: AVR pins used for rows, top to bottom - * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) - * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) - * - */ -#define DIODE_DIRECTION COL2ROW - -// #define BACKLIGHT_PIN B7 -// #define BACKLIGHT_BREATHING -// #define BACKLIGHT_LEVELS 3 - -/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ -#define DEBOUNCE 5 - -/* define if matrix has ghost (lacks anti-ghosting diodes) */ -//#define MATRIX_HAS_GHOST - -/* number of backlight levels */ - -/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ -// #define LOCKING_SUPPORT_ENABLE -/* Locking resynchronize hack */ -// #define LOCKING_RESYNC_ENABLE - -/* - * Force NKRO - * - * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved - * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the - * makefile for this to work.) - * - * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) - * until the next keyboard reset. - * - * NKRO may prevent your keystrokes from being detected in the BIOS, but it is - * fully operational during normal computer usage. - * - * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) - * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by - * bootmagic, NKRO mode will always be enabled until it is toggled again during a - * power-up. - * - */ -//#define FORCE_NKRO - -/* - * Magic Key Options - * - * Magic keys are hotkey commands that allow control over firmware functions of - * the keyboard. They are best used in combination with the HID Listen program, - * found here: https://www.pjrc.com/teensy/hid_listen.html - * - * The options below allow the magic key functionality to be changed. This is - * useful if your keyboard/keypad is missing keys and you want magic key support. - * - */ - -/* key combination for command */ -#define IS_COMMAND() (get_mods() == (MOD_BIT(KC_LSFT) | MOD_BIT(KC_RSFT) | MOD_BIT(KC_LCTL) | MOD_BIT(KC_RCTL))) - - -/* - * Feature disable options - * These options are also useful to firmware size reduction. - */ - -/* disable debug print */ -// #define NO_DEBUG - -/* disable print */ -// #define NO_PRINT - -/* disable action features */ -//#define NO_ACTION_LAYER -//#define NO_ACTION_TAPPING -//#define NO_ACTION_ONESHOT - -#define PS2_MOUSE_INIT_DELAY 2000 -#define BATTERY_POLL 30000 -#define MAX_VOLTAGE 4.2 -#define MIN_VOLTAGE 3.2 - -#ifndef __ASSEMBLER__ // assembler doesn't like enum in .h file -enum led_sequence { - LED_IND_LINUX, - LED_IND_APPLE, - LED_IND_WINDOWS, - LED_IND_QWERTY, - LED_IND_ALT, - LED_IND_AUDIO, - LED_IND_BLUETOOTH, - LED_IND_USB, - - LED_IND_BATTERY, - LED_IND_CAPSLOCK, - LED_IND_GUI, - LED_IND_FUN, - LED_IND_NUM, - LED_IND_PUNC, - LED_IND_EMOJI, - LED_IND_GREEK, - - LED_BKSP, - LED_ENT, - LED_RSFT, - LED_RCTL, - - LED_RALT, - LED_SLSH, - LED_SCLN, - LED_P, - - LED_O, - LED_L, - LED_DOT, - LED_RGUI, - - LED_GREEK, - LED_COMM, - LED_K, - LED_I, - - LED_U, - LED_J, - LED_M, - LED_FUN, - - LED_RSPC, - LED_N, - LED_HH, - LED_Y, - - LED_TRACKPOINT3, - LED_TRACKPOINT2, - LED_TRACKPOINT1, - - LED_T, - LED_G, - LED_B, - LED_LSPC, - - LED_NUM, - LED_V, - LED_F, - LED_R, - - LED_E, - LED_D, - LED_C, - LED_EMPTY, - - LED_LGUI, - LED_X, - LED_S, - LED_W, - - LED_Q, - LED_A, - LED_Z, - LED_LALT, - - LED_LCTL, - LED_LSFT, - LED_ESC, - LED_TAB, - - LED_TOTAL -}; - -# define RGB_DI_PIN B5 -# define RGBSPS_NUM LED_TOTAL -#endif - -/* PS/2 mouse */ -#ifdef PS2_DRIVER_BUSYWAIT -# define PS2_CLOCK_PIN D3 -# define PS2_DATA_PIN D2 -#endif - -/* PS/2 mouse interrupt version */ -#ifdef PS2_DRIVER_INTERRUPT -/* uses INT1 for clock line(ATMega32U4) */ -# define PS2_CLOCK_PIN D3 -# define PS2_DATA_PIN D2 - -# define PS2_INT_INIT() \ - do { \ - EICRA |= ((1 << ISC31) | (0 << ISC30)); \ - } while (0) -# define PS2_INT_ON() \ - do { \ - EIMSK |= (1 << INT3); \ - } while (0) -# define PS2_INT_OFF() \ - do { \ - EIMSK &= ~(1 << INT3); \ - } while (0) -# define PS2_INT_VECT INT3_vect -#endif - -/* PS/2 mouse USART version */ -#ifdef PS2_DRIVER_USART -/* XCK for clock line and RXD for data line */ -#define PS2_CLOCK_PIN D5 -#define PS2_DATA_PIN D2 - -/* synchronous, odd parity, 1-bit stop, 8-bit data, sample at falling edge */ -/* set DDR of CLOCK as input to be slave */ -# define PS2_USART_INIT() \ - do { \ - PS2_CLOCK_DDR &= ~(1 << PS2_CLOCK_BIT); \ - PS2_DATA_DDR &= ~(1 << PS2_DATA_BIT); \ - UCSR1C = ((1 << UMSEL10) | (3 << UPM10) | (0 << USBS1) | (3 << UCSZ10) | (0 << UCPOL1)); \ - UCSR1A = 0; \ - UBRR1H = 0; \ - UBRR1L = 0; \ - } while (0) -# define PS2_USART_RX_INT_ON() \ - do { \ - UCSR1B = ((1 << RXCIE1) | (1 << RXEN1)); \ - } while (0) -# define PS2_USART_RX_POLL_ON() \ - do { \ - UCSR1B = (1 << RXEN1); \ - } while (0) -# define PS2_USART_OFF() \ - do { \ - UCSR1C = 0; \ - UCSR1B &= ~((1 << RXEN1) | (1 << TXEN1)); \ - } while (0) -# define PS2_USART_RX_READY (UCSR1A & (1 << RXC1)) -# define PS2_USART_RX_DATA UDR1 -# define PS2_USART_ERROR (UCSR1A & ((1 << FE1) | (1 << DOR1) | (1 << UPE1))) -# define PS2_USART_RX_VECT USART1_RX_vect -#endif diff --git a/keyboards/handwired/promethium/keymaps/default/keymap.c b/keyboards/handwired/promethium/keymaps/default/keymap.c deleted file mode 100644 index b72d54f175..0000000000 --- a/keyboards/handwired/promethium/keymaps/default/keymap.c +++ /dev/null @@ -1,1360 +0,0 @@ -/* -Copyright 2017 Priyadi Iman Nurcahyo - -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/>. -*/ - -#if defined(PRIYADI_PROMETHIUM) - #include "promethium.h" -#elif defined(PRIYADI_PLANCK) - #include "planck.h" -#else - #error "no keyboard defined" -#endif - -#include "action_layer.h" -#ifdef AUDIO_ENABLE - #include "audio.h" - #include "musical_notes.h" -#endif -#include "eeconfig.h" -#include "process_unicode.h" -#include "quantum.h" -#ifdef RGBSPS_ENABLE -#include "rgbsps.h" -#include "rgbtheme.h" -#endif -#ifdef PS2_MOUSE_ENABLE -#include "ps2_mouse.h" -#include "ps2.h" -#endif -#ifdef FAUXCLICKY_ENABLE -#include "fauxclicky.h" -#ifdef RGBSPS_ENABLE -#undef FAUXCLICKY_OFF -#define FAUXCLICKY_OFF do { \ - fauxclicky_enabled = false; \ - rgbsps_set(LED_AUDIO, COLOR_BLANK); \ - fauxclicky_stop(); \ -} while (0) -#undef FAUXCLICKY_ON -#define FAUXCLICKY_ON do { \ - fauxclicky_enabled = true; \ - rgbsps_set(LED_AUDIO, THEME_COLOR_AUDIO); \ -} while (0) -#endif -#endif -#include "outputselect.h" -#include "led.h" -#define COUNT(x) ARRAY_SIZE((x)) - -#define KC_WWWB KC_WWW_BACK -#define KC_WWWF KC_WWW_FORWARD - -// hybrid right-alt & scroll lock (mapped to Compose in OS) -#define C_RALT MT(MOD_RALT, KC_SCRL) - -// dual use right-shift & del key -// #define C_RSFT MT(MOD_RSFT, KC_DEL) - -bool capslock = false; -#ifdef DOUBLESPACE_LAYER_ENABLE -bool lspace_active = false; -bool rspace_active = false; -bool lspace_emitted = false; -bool rspace_emitted = false; -bool space_layer_entered = false; -#endif - -// glow -enum glow_modes { - GLOW_NONE, - GLOW_MIN, - GLOW_FULL -}; -uint8_t glow_mode = GLOW_MIN; - -void turn_off_capslock(void); - -// layers, ordering is important! -enum layers { - _QWERTY, - _DVORAK, - _COLEMAK, - _WORKMAN, - _NORMAN, - _DEFAULT_LAYER_MAX = _NORMAN, - - _GREEKU, - _GREEKL, - - _NUM, - _FUN, - _PUNC, - - _EMPTY, - _EMOJI, - _GUI, - _SYS -}; - -// double-space layer -#define _SPACE _GUI - -enum planck_keycodes { - // layouts - QWERTY = SAFE_RANGE, - DVORAK, - COLEMAK, - WORKMAN, - NORMAN, - - // layer switchers - EMOJI, - GUI, - GREEK, - - // os switchers - LINUX, - WIN, - OSX, - - // others - LSPACE, - RSPACE, - GLOW, - - // stub -#ifndef FAUXCLICKY_ENABLE - FC_TOG, -#endif - RGBDEMO, - KEYCODE_END -}; - -#define EMPTY MO(_EMPTY) -#define NUM MO(_NUM) -#define FUN MO(_FUN) -#define FUN0 LT(_FUN, KC_0) - -// unicode map - -enum unicode_name { - GRIN, // grinning face 😊 - TJOY, // tears of joy 😂 - SMILE, // grining face with smiling eyes 😁 - HEART, // heart ❤ - EYERT, // smiling face with heart shaped eyes 😍 - CRY, // crying face 😭 - SMEYE, // smiling face with smiling eyes 😊 - UNAMU, // unamused 😒 - KISS, // kiss 😘 - HART2, // two hearts 💕 - WEARY, // weary 😩 - OKHND, // ok hand sign 👌 - PENSV, // pensive 😔 - SMIRK, // smirk 😏 - RECYC, // recycle ♻ - WINK, // wink 😉 - THMUP, // thumb up 👍 - THMDN, // thumb down 👎 - PRAY, // pray 🙏 - PHEW, // relieved 😌 - MUSIC, // musical notes - FLUSH, // flushed 😳 - CELEB, // celebration 🙌 - CRY2, // crying face 😢 - COOL, // smile with sunglasses 😎 - NOEVS, // see no evil - NOEVH, // hear no evil - NOEVK, // speak no evil - POO, // pile of poo - EYES, // eyes - VIC, // victory hand - BHART, // broken heart - SLEEP, // sleeping face - SMIL2, // smiling face with open mouth & sweat - HUNRD, // 100 - CONFU, // confused - TONGU, // face with tongue & winking eye - DISAP, // disappointed - YUMMY, // face savoring delicious food - CLAP, // hand clapping - FEAR, // face screaming in fear - HORNS, // smiling face with horns - HALO, // smiling face with halo - BYE, // waving hand - SUN, // sun - MOON, // moon - SKULL, // skull - - // greek letters - UALPH, - UBETA, - UGAMM, - UDELT, - UEPSI, - UZETA, - UETA, - UTHET, - UIOTA, - UKAPP, - ULAMB, - UMU, - UNU, - UXI, - UOMIC, - UPI, - URHO, - USIGM, - UTAU, - UUPSI, - UPHI, - UCHI, - UPSI, - UOMEG, - - LALPH, - LBETA, - LGAMM, - LDELT, - LEPSI, - LZETA, - LETA, - LTHET, - LIOTA, - LKAPP, - LLAMB, - LMU, - LNU, - LXI, - LOMIC, - LPI, - LRHO, - LSIGM, - LTAU, - LUPSI, - LPHI, - LCHI, - LPSI, - LOMEG, - - FSIGM, - - LTEQ, - GTEQ, - NOTEQ, - PLMIN, -}; - -const uint32_t PROGMEM unicode_map[] = { - [GRIN] = 0x1F600, - [TJOY] = 0x1F602, - [SMILE] = 0x1F601, - [HEART] = 0x2764, - [EYERT] = 0x1f60d, - [CRY] = 0x1f62d, - [SMEYE] = 0x1F60A, - [UNAMU] = 0x1F612, - [KISS] = 0x1F618, - [HART2] = 0x1F495, - [WEARY] = 0x1F629, - [OKHND] = 0x1F44C, - [PENSV] = 0x1F614, - [SMIRK] = 0x1F60F, - [RECYC] = 0x267B, - [WINK] = 0x1F609, - [THMUP] = 0x1F44D, - [THMDN] = 0x1F44E, - [PRAY] = 0x1F64F, - [PHEW] = 0x1F60C, - [MUSIC] = 0x1F3B6, - [FLUSH] = 0x1F633, - [CELEB] = 0x1F64C, - [CRY2] = 0x1F622, - [COOL] = 0x1F60E, - [NOEVS] = 0x1F648, - [NOEVH] = 0x1F649, - [NOEVK] = 0x1F64A, - [POO] = 0x1F4A9, - [EYES] = 0x1F440, - [VIC] = 0x270C, - [BHART] = 0x1F494, - [SLEEP] = 0x1F634, - [SMIL2] = 0x1F605, - [HUNRD] = 0x1F4AF, - [CONFU] = 0x1F615, - [TONGU] = 0x1F61C, - [DISAP] = 0x1F61E, - [YUMMY] = 0x1F60B, - [CLAP] = 0x1F44F, - [FEAR] = 0x1F631, - [HORNS] = 0x1F608, - [HALO] = 0x1F607, - [BYE] = 0x1F44B, - [SUN] = 0x2600, - [MOON] = 0x1F314, - [SKULL] = 0x1F480, - - // greek letters - [UALPH] = 0x0391, - [UBETA] = 0x0392, - [UGAMM] = 0x0393, - [UDELT] = 0x0394, - [UEPSI] = 0x0395, - [UZETA] = 0x0396, - [UETA] = 0x0397, - [UTHET] = 0x0398, - [UIOTA] = 0x0399, - [UKAPP] = 0x039A, - [ULAMB] = 0x039B, - [UMU] = 0x039C, - [UNU] = 0x039D, - [UXI] = 0x039E, - [UOMIC] = 0x039F, - [UPI] = 0x03A0, - [URHO] = 0x03A1, - [USIGM] = 0x03A3, - [UTAU] = 0x03A4, - [UUPSI] = 0x03A5, - [UPHI] = 0x03A6, - [UCHI] = 0x03A7, - [UPSI] = 0x03A8, - [UOMEG] = 0x03A9, - [LALPH] = 0x03B1, - [LBETA] = 0x03B2, - [LGAMM] = 0x03B3, - [LDELT] = 0x03B4, - [LEPSI] = 0x03B5, - [LZETA] = 0x03B6, - [LETA] = 0x03B7, - [LTHET] = 0x03B8, - [LIOTA] = 0x03B9, - [LKAPP] = 0x03BA, - [LLAMB] = 0x03BB, - [LMU] = 0x03BC, - [LNU] = 0x03BD, - [LXI] = 0x03BE, - [LOMIC] = 0x03BF, - [LPI] = 0x03C0, - [LRHO] = 0x03C1, - [LSIGM] = 0x03C3, - [LTAU] = 0x03C4, - [LUPSI] = 0x03C5, - [LPHI] = 0x03C6, - [LCHI] = 0x03C7, - [LPSI] = 0x03C8, - [LOMEG] = 0x03C9, - [FSIGM] = 0x03C2, - - // other - [LTEQ] = 0x2264, // less than or equal - [GTEQ] = 0x2265, // greater than or equal - [NOTEQ] = 0x2260, // not equal - [PLMIN] = 0xB1, // plus minus -}; - -// RGBSPS - -#ifdef RGBSPS_ENABLE -const uint8_t PROGMEM LED_ALNUM[] = { - LED_Z, - LED_A, - LED_Q, - LED_W, - LED_S, - LED_X, - LED_C, - LED_D, - LED_E, - LED_R, - LED_F, - LED_V, - LED_B, - LED_G, - LED_T, - LED_N, - LED_HH, - LED_Y, - LED_U, - LED_J, - LED_M, - LED_COMM, - LED_K, - LED_I, - LED_O, - LED_L, - LED_DOT, - LED_SLSH, - LED_SCLN, - LED_P, - LED_LSPC, - LED_RSPC -}; - -const uint8_t PROGMEM LED_HOMING[] = { - LED_A, - LED_S, - LED_D, - LED_F, - LED_J, - LED_K, - LED_L, - LED_SCLN -}; - -const uint8_t PROGMEM LED_MODS[] = { - LED_TAB, - LED_ESC, - LED_LSFT, - LED_LCTL, - LED_LGUI, - LED_LALT, - LED_RALT, - LED_RGUI, - LED_BKSP, - LED_ENT, - LED_RSFT, - LED_RCTL -}; - -const uint8_t PROGMEM LED_FN[] = { - LED_EMPTY, - LED_NUM, - LED_FUN, - LED_GREEK -}; - -const uint8_t PROGMEM LED_INDICATORS[] = { - LED_IND_LINUX, - LED_IND_APPLE, - LED_IND_WINDOWS, - LED_IND_QWERTY, - LED_IND_ALT, - LED_IND_AUDIO, - LED_IND_BLUETOOTH, - LED_IND_USB, - - LED_IND_BATTERY, - LED_IND_CAPSLOCK, - LED_IND_GUI, - LED_IND_FUN, - LED_IND_NUM, - LED_IND_PUNC, - LED_IND_EMOJI, - LED_IND_GREEK, -}; - -const uint8_t PROGMEM LED_TRACKPOINT[] = { - LED_TRACKPOINT1, - LED_TRACKPOINT2, - LED_TRACKPOINT3, -}; - -void led_turnoff_keys(void) { - for(uint8_t i = 0; i < COUNT(LED_ALNUM); i++) { - rgbsps_set(pgm_read_byte(&LED_ALNUM[i]), COLOR_BLACK); - } - for(uint8_t i = 0; i < COUNT(LED_MODS); i++) { - rgbsps_set(pgm_read_byte(&LED_MODS[i]), COLOR_BLACK); - } - for(uint8_t i = 0; i < COUNT(LED_FN); i++) { - rgbsps_set(pgm_read_byte(&LED_FN[i]), COLOR_BLACK); - } -} - -#ifdef RGBSPS_DEMO_ENABLE -void led_demo(void) { - rgbsps_set(LED_IND_LINUX, THEME_COLOR_LINUX); - rgbsps_set(LED_IND_APPLE, THEME_COLOR_APPLE); - rgbsps_set(LED_IND_WINDOWS, THEME_COLOR_WINDOWS); - rgbsps_set(LED_IND_QWERTY, THEME_COLOR_QWERTY); - rgbsps_set(LED_IND_ALT, THEME_COLOR_ALT); - rgbsps_set(LED_IND_AUDIO, THEME_COLOR_AUDIO); - rgbsps_set(LED_IND_BLUETOOTH, THEME_COLOR_BLUETOOTH); - rgbsps_set(LED_IND_USB, THEME_COLOR_USB); - rgbsps_set(LED_IND_CAPSLOCK, THEME_COLOR_CAPSLOCK); - rgbsps_set(LED_IND_GUI, THEME_COLOR_GUI); - rgbsps_set(LED_IND_FUN, THEME_COLOR_FUN); - rgbsps_set(LED_IND_NUM, THEME_COLOR_NUM); - rgbsps_set(LED_IND_PUNC, THEME_COLOR_PUNC); - rgbsps_set(LED_IND_GREEK, THEME_COLOR_GREEK); - rgbsps_set(LED_IND_EMOJI, THEME_COLOR_EMOJI); - rgbsps_send(); -} -#endif - -void led_reset(void) { - switch (glow_mode) { - case GLOW_NONE: - led_turnoff_keys(); - break; - case GLOW_MIN: - led_turnoff_keys(); - for(uint8_t i = 0; i < COUNT(LED_HOMING); i++) { - rgbsps_set(pgm_read_byte(&LED_HOMING[i]), THEME_COLOR_GLOW1_HOME); - } - rgbsps_set(LED_F, THEME_COLOR_GLOW1_HOMING); - rgbsps_set(LED_J, THEME_COLOR_GLOW1_HOMING); - break; - case GLOW_FULL: - for(uint8_t i = 0; i < COUNT(LED_ALNUM); i++) { - rgbsps_set(pgm_read_byte(&LED_ALNUM[i]), THEME_COLOR_GLOW2_ALPHA); - } - for(uint8_t i = 0; i < COUNT(LED_MODS); i++) { - rgbsps_set(pgm_read_byte(&LED_MODS[i]), THEME_COLOR_GLOW2_MODS); - } - for(uint8_t i = 0; i < COUNT(LED_FN); i++) { - rgbsps_set(pgm_read_byte(&LED_FN[i]), THEME_COLOR_GLOW2_FN); - } - for(uint8_t i = 0; i < COUNT(LED_HOMING); i++) { - rgbsps_set(pgm_read_byte(&LED_HOMING[i]), THEME_COLOR_GLOW2_HOME); - } - rgbsps_set(LED_F, THEME_COLOR_GLOW2_HOMING); - rgbsps_set(LED_J, THEME_COLOR_GLOW2_HOMING); - break; - } -} - -void led_set_default_layer_indicator(void) { - uint8_t default_layer = get_highest_layer(default_layer_state); - if (default_layer == _QWERTY) { - rgbsps_set(LED_IND_QWERTY, THEME_COLOR_QWERTY); - rgbsps_set(LED_IND_ALT, COLOR_BLANK); - } else { - rgbsps_set(LED_IND_QWERTY, COLOR_BLANK); - rgbsps_set(LED_IND_ALT, THEME_COLOR_ALT); - } - rgbsps_send(); - return; -} - -void led_set_layer_indicator(void) { - static uint8_t oldlayer = 255; - - led_reset(); - - rgbsps_set(LED_IND_GUI, COLOR_BLANK); - rgbsps_set(LED_IND_FUN, COLOR_BLANK); - rgbsps_set(LED_IND_NUM, COLOR_BLANK); - rgbsps_set(LED_IND_PUNC, COLOR_BLANK); - rgbsps_set(LED_IND_GREEK, COLOR_BLANK); - rgbsps_set(LED_IND_EMOJI, COLOR_BLANK); - - uint8_t layer = get_highest_layer(layer_state); - if (oldlayer == layer) { - return; - } - - oldlayer = layer; - - if (layer <= _DEFAULT_LAYER_MAX) { - rgbsps_send(); - return; - } - - switch(layer) { - case _GUI: - rgbsps_set(LED_IND_GUI, THEME_COLOR_GUI); - break; - case _FUN: - rgbsps_set(LED_IND_FUN, THEME_COLOR_FUN); - break; - case _NUM: - rgbsps_set(LED_IND_NUM, THEME_COLOR_NUM); - break; - case _PUNC: - rgbsps_set(LED_IND_PUNC, THEME_COLOR_PUNC); - break; - case _GREEKL: - case _GREEKU: - rgbsps_set(LED_IND_GREEK, THEME_COLOR_GREEK); - break; - case _EMOJI: - rgbsps_set(LED_IND_EMOJI, THEME_COLOR_EMOJI); - break; - default: - rgbsps_set(LED_IND_GUI, THEME_COLOR_OTHERLAYER); - rgbsps_set(LED_IND_FUN, THEME_COLOR_OTHERLAYER); - rgbsps_set(LED_IND_NUM, THEME_COLOR_OTHERLAYER); - rgbsps_set(LED_IND_PUNC, THEME_COLOR_OTHERLAYER); - rgbsps_set(LED_IND_GREEK, THEME_COLOR_OTHERLAYER); - rgbsps_set(LED_IND_EMOJI, THEME_COLOR_OTHERLAYER); - } - - rgbsps_send(); -} - -void led_set_unicode_input_mode(void) { - rgbsps_set(LED_IND_LINUX, COLOR_BLANK); - rgbsps_set(LED_IND_APPLE, COLOR_BLANK); - rgbsps_set(LED_IND_WINDOWS, COLOR_BLANK); - - switch (get_unicode_input_mode()) { - case UNICODE_MODE_LINUX: - rgbsps_set(LED_IND_LINUX, THEME_COLOR_LINUX); - break; - case UNICODE_MODE_MACOS: - rgbsps_set(LED_IND_APPLE, THEME_COLOR_APPLE); - break; - case UNICODE_MODE_WINDOWS: - case UNICODE_MODE_WINCOMPOSE: - rgbsps_set(LED_IND_WINDOWS, THEME_COLOR_WINDOWS); - break; - } - rgbsps_send(); -} - -void led_set_output_ble(void) { - rgbsps_set(LED_IND_BLUETOOTH, THEME_COLOR_BLUETOOTH); - rgbsps_set(LED_IND_USB, COLOR_BLANK); - rgbsps_send(); -} - -void led_set_output_usb(void) { - rgbsps_set(LED_IND_BLUETOOTH, COLOR_BLANK); - rgbsps_set(LED_IND_USB, THEME_COLOR_USB); - rgbsps_send(); -} - -void led_set_output_none(void) { - rgbsps_set(LED_IND_BLUETOOTH, COLOR_BLANK); - rgbsps_set(LED_IND_USB, COLOR_BLANK); - rgbsps_send(); -} - -void led_init(void) { - // turn off all - rgbsps_turnoff(); - - // set trackpoint color - rgbsps_set(LED_TRACKPOINT1, THEME_COLOR_TP1); - rgbsps_set(LED_TRACKPOINT2, THEME_COLOR_TP2); - rgbsps_set(LED_TRACKPOINT3, THEME_COLOR_TP3); - - // unicode input mode - led_set_unicode_input_mode(); - - // layer indicator - led_set_layer_indicator(); - led_set_default_layer_indicator(); - - // clicky -#ifdef FAUXCLICKY_ENABLE - if (fauxclicky_enabled) { - rgbsps_set(LED_IND_AUDIO, THEME_COLOR_AUDIO); - } else { - rgbsps_set(LED_IND_AUDIO, COLOR_BLANK); - } -#endif - - rgbsps_send(); -} - - -#endif // RGBSPS_ENABLE - -// keymaps - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - -/* Qwerty - * ,-----------------------------------------------------------------------------------. - * | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | Esc | A | S | D | F | G | H | J | K | L | ' |Enter | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | Shift| Z | X | C | V | B | N | M | , | . | / |Shift | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | Ctrl | Alt | GUI | Punc | Num | Space | Fun |Greek | GUI |AltGr | Ctrl | - * `-----------------------------------------------------------------------------------' - */ -[_QWERTY] = LAYOUT( - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, - KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_QUOT, KC_ENT , - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, - KC_LCTL, KC_LALT, KC_LGUI, EMPTY, NUM, LSPACE, RSPACE, FUN, GREEK, KC_RGUI, C_RALT, KC_RCTL, - _______, _______, _______ -), - -/* Dvorak - * ,-----------------------------------------------------------------------------------. - * | Tab | ' | , | . | P | Y | F | G | C | R | L | Bksp | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | Esc | A | O | E | U | I | D | H | T | N | S |Enter | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | Shift| / | Q | J | K | X | B | M | W | V | Z |Shift | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | Ctrl | Alt | GUI | Punc | Num | Space | Func |Greek | GUI |AltGr | Ctrl | - * `-----------------------------------------------------------------------------------' - */ -#ifdef LAYOUT_DVORAK -[_DVORAK] = LAYOUT( - _______, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, _______, - _______, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, _______, - _______, KC_SLSH, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______ -), -#endif - -/* Colemak - * ,-----------------------------------------------------------------------------------. - * | Tab | Q | W | F | P | G | J | L | U | Y | ; | Bksp | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | Esc | A | R | S | T | D | H | N | E | I | O |Enter | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | Shift| Z | X | C | V | B | K | M | , | . | / |Shift | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | Ctrl | Alt | GUI | Punc | Num | Space | Func |Greek | GUI |AltGr | Ctrl | - * `-----------------------------------------------------------------------------------' - */ - -#ifdef LAYOUT_COLEMAK -[_COLEMAK] = LAYOUT( - _______, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_QUOT, _______, - _______, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, _______, - _______, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______ -), -#endif - -/* Norman - * ,-----------------------------------------------------------------------------------. - * | Tab | Q | W | D | F | K | J | U | R | L | ; | Bksp | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | Esc | A | S | E | T | G | Y | N | I | O | H |Enter | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | Shift| Z | X | C | V | B | P | M | , | . | / |Shift | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | Ctrl | Alt | GUI | Punc | Num | Space | Func |Greek | GUI |AltGr | Ctrl | - * `-----------------------------------------------------------------------------------' - */ - -#ifdef LAYOUT_NORMAN -[_NORMAN] = LAYOUT( - _______, KC_Q, KC_W, KC_D, KC_F, KC_K, KC_J, KC_U, KC_R, KC_L, KC_QUOT, _______, - _______, KC_A, KC_S, KC_E, KC_T, KC_G, KC_Y, KC_N, KC_I, KC_O, KC_H, _______, - _______, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_P, KC_M, KC_COMM, KC_DOT, KC_SLSH, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______ -), -#endif - -/* Workman - * ,-----------------------------------------------------------------------------------. - * | Tab | Q | D | R | W | B | J | F | U | P | ; | Bksp | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | Esc | A | S | H | T | G | Y | N | E | O | I |Enter | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | Shift| Z | X | M | C | V | K | K | , | . | / |Shift | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | Ctrl | Alt | GUI | Punc | Num | Space | Func |Greek | GUI |AltGr | Ctrl | - * `-----------------------------------------------------------------------------------' - */ - -#ifdef LAYOUT_WORKMAN -[_WORKMAN] = LAYOUT( - _______, KC_Q, KC_D, KC_R, KC_W, KC_B, KC_J, KC_F, KC_U, KC_P, KC_QUOT, _______, - _______, KC_A, KC_S, KC_H, KC_T, KC_G, KC_Y, KC_N, KC_E, KC_O, KC_I, _______, - _______, KC_Z, KC_X, KC_M, KC_C, KC_V, KC_K, KC_L, KC_COMM, KC_DOT, KC_SLSH, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______ -), -#endif - -/* Punc - * ,-----------------------------------------------------------------------------------. - * | ~ | ! | @ | # | $ | % | ^ | & | * | ≤ | ≥ | ` | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | | * | \ | - | = | / | ≠ | ( | ) | < | > | | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | & | ^ | | | _ | + | ? | ± | [ | ] | { | } | | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | | | : | | - * `-----------------------------------------------------------------------------------' - */ -[_PUNC] = LAYOUT( - KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, X(LTEQ), X(GTEQ), _______, - KC_GRV, KC_ASTR, KC_BSLS, KC_MINS, KC_EQL, KC_SLSH, X(NOTEQ),KC_LPRN, KC_RPRN, KC_LABK, KC_RABK, _______, - KC_AMPR, KC_CIRC, KC_PIPE, KC_UNDS, KC_PLUS, KC_QUES, X(PLMIN),KC_LBRC, KC_RBRC, KC_LCBR, KC_RCBR, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_COLN, _______, - _______, _______, _______ -), - -/* Num - * ,-----------------------------------------------------------------------------------. - * | ~ | ! | @ | # | $ | % | A | 7 | 8 | 9 | D | | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | ` | * | \ | - | = | / | B | 4 | 5 | 6 | E | | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | & | ^ | | | _ | + | ? | C | 1 | 2 | 3 | F | | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | |