@ -1,6 +1,6 @@
/* -*- mode: c++ -*-
/* -*- mode: c++ -*-
* Atreus - - A very basic Kaleidoscope example for the Atreus
* Atreus - - Chrysalis- enabled Sketch for Technomancy ' s Atreus ( minimal )
* Copyright ( C ) 2018 Keyboard . io , Inc
* Copyright ( C ) 2018 , 2019 , 2020 Keyboard . io , Inc
*
*
* This program is free software ; you can redistribute it and / or modify
* 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
* it under the terms of the GNU General Public License as published by
@ -18,15 +18,17 @@
*/
*/
# include "Kaleidoscope.h"
# include "Kaleidoscope.h"
# include "Kaleidoscope-EEPROM-Settings.h"
# include "Kaleidoscope-EEPROM-Keymap.h"
# include "Kaleidoscope-FocusSerial.h"
# include "Kaleidoscope-Macros.h"
# include "Kaleidoscope-Macros.h"
# define MO(n) ShiftToLayer(n)
# define MO(n) ShiftToLayer(n)
# define TG(n) LockLayer(n)
# define TG(n) LockLayer(n)
enum {
enum {
QWERTY ,
RESET ,
FUN ,
QW
UPPER
} ;
} ;
# define Key_Exclamation LSHIFT(Key_1)
# define Key_Exclamation LSHIFT(Key_1)
@ -37,9 +39,15 @@ enum {
# define Key_Star LSHIFT(Key_8)
# define Key_Star LSHIFT(Key_8)
# define Key_Plus LSHIFT(Key_Equals)
# define Key_Plus LSHIFT(Key_Equals)
// clang-format off
enum {
_QW ,
_RS ,
_LW
} ;
/* *INDENT-OFF* */
KEYMAPS (
KEYMAPS (
[ QWERTY ] = KEYMAP_STACKED
[ _ QW] = KEYMAP_STACKED
(
(
Key_Q , Key_W , Key_E , Key_R , Key_T
Key_Q , Key_W , Key_E , Key_R , Key_T
, Key_A , Key_S , Key_D , Key_F , Key_G
, Key_A , Key_S , Key_D , Key_F , Key_G
@ -49,44 +57,53 @@ KEYMAPS(
, Key_Y , Key_U , Key_I , Key_O , Key_P
, Key_Y , Key_U , Key_I , Key_O , Key_P
, Key_H , Key_J , Key_K , Key_L , Key_Semicolon
, Key_H , Key_J , Key_K , Key_L , Key_Semicolon
, Key_N , Key_M , Key_Comma , Key_Period , Key_Slash
, Key_N , Key_M , Key_Comma , Key_Period , Key_Slash
, Key_LeftAlt , Key_Space , MO ( FUN ) , Key_Minus , Key_Quote , Key_Enter
, Key_LeftAlt , Key_Space , MO ( _RS ) , Key_Minus , Key_Quote , Key_Enter
) ,
) ,
[ FUN ] = KEYMAP_STACKED
[ _RS ] = KEYMAP_STACKED
(
(
Key_Exclamation , Key_At , Key_UpArrow , Key_LeftCurlyBracket , Key_RightCurlyBracket
Key_Exclamation , Key_At , Key_UpArrow , Key_LeftCurlyBracket , Key_RightCurlyBracket
, Key_Hash , Key_LeftArrow , Key_DownArrow , Key_RightArrow , Key_Dollar
, Key_Hash , Key_LeftArrow , Key_DownArrow , Key_RightArrow , Key_Dollar
, Key_LeftBracket , Key_RightBracket , Key_LeftParen , Key_RightParen , Key_And
, Key_LeftBracket , Key_RightBracket , Key_LeftParen , Key_RightParen , Key_And
, TG ( UPPER) , Key_Insert , Key_LeftGui , Key_LeftShift , Key_Backspace , Key_LeftControl
, TG ( _LW) , Key_Insert , Key_LeftGui , Key_LeftShift , Key_Backspace , Key_LeftControl
, Key_PageUp , Key_7 , Key_8 , Key_9 , Key_Star
, Key_PageUp , Key_7 , Key_8 , Key_9 , Key_Star
, Key_PageDown , Key_4 , Key_5 , Key_6 , Key_Plus
, Key_PageDown , Key_4 , Key_5 , Key_6 , Key_Plus
, Key_Backtick , Key_1 , Key_2 , Key_3 , Key_Backslash
, Key_Backtick , Key_1 , Key_2 , Key_3 , Key_Backslash
, Key_LeftAlt , Key_Space , MO( FUN ) , Key_Period , Key_0 , Key_Equals
, Key_LeftAlt , Key_Space , ___ , Key_Period , Key_0 , Key_Equals
) ,
) ,
[ UPPER ] = KEYMAP_STACKED
[ _LW ] = KEYMAP_STACKED
(
(
Key_Insert , Key_Home , Key_UpArrow , Key_End , Key_PageUp
Key_Insert , Key_Home , Key_UpArrow , Key_End , Key_PageUp
, Key_Delete , Key_LeftArrow , Key_DownArrow , Key_RightArrow , Key_PageDown
, Key_Delete , Key_LeftArrow , Key_DownArrow , Key_RightArrow , Key_PageDown
, XXX , Consumer_VolumeIncrement , XXX , XXX , ___
, XXX , Consumer_VolumeIncrement , XXX , XXX , M( RESET )
, XXX , Consumer_VolumeDecrement , ___ , ___ , ___ , ___
, XXX , Consumer_VolumeDecrement , ___ , ___ , ___ , ___
, Key_UpArrow , Key_F7 , Key_F8 , Key_F9 , Key_F10
, Key_UpArrow , Key_F7 , Key_F8 , Key_F9 , Key_F10
, Key_DownArrow , Key_F4 , Key_F5 , Key_F6 , Key_F11
, Key_DownArrow , Key_F4 , Key_F5 , Key_F6 , Key_F11
, XXX , Key_F1 , Key_F2 , Key_F3 , Key_F12
, XXX , Key_F1 , Key_F2 , Key_F3 , Key_F12
, ___ , ___ , M ( QW ERTY ) , Key_PrintScreen , Key_ScrollLock , Consumer_PlaySlashPause
, ___ , ___ , M ( QW ) , Key_PrintScreen , Key_ScrollLock , Consumer_PlaySlashPause
)
)
)
)
// clang-format on
/* *INDENT-ON* */
KALEIDOSCOPE_INIT_PLUGINS ( Macros ) ;
KALEIDOSCOPE_INIT_PLUGINS (
EEPROMSettings ,
EEPROMKeymap ,
Focus ,
FocusEEPROMCommand ,
FocusSettingsCommand ,
Macros
) ;
const macro_t * macroAction ( uint8_t macro_id , KeyEvent & event ) {
const macro_t * macroAction ( uint8_t macro_id , KeyEvent & event ) {
switch ( macro_id ) {
switch ( macro_id ) {
case QWERTY :
case RESET :
if ( keyToggledOn ( event . state ) )
Kaleidoscope . rebootBootloader ( ) ;
Layer . move ( QWERTY ) ;
break ;
case QW :
Layer . move ( _QW ) ;
break ;
break ;
default :
default :
break ;
break ;
@ -97,6 +114,8 @@ const macro_t *macroAction(uint8_t macro_id, KeyEvent &event) {
void setup ( ) {
void setup ( ) {
Kaleidoscope . setup ( ) ;
Kaleidoscope . setup ( ) ;
EEPROMKeymap . setup ( 5 ) ;
}
}
void loop ( ) {
void loop ( ) {