@ -16,25 +16,73 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
# include "zigotica.h"
# include "raw_hid.h"
# ifdef RAW_ENABLE
void raw_hid_receive ( uint8_t * data , uint8_t length ) {
layer_clear ( ) ;
if ( data [ 0 ] = = 99 ) {
layer_on ( _BASE ) ;
}
else {
layer_on ( data [ 0 ] ) ;
}
}
# endif
/ / Custom Keycodes
# define MODE_1 TO(_TERMINAL)
# define MODE_1 TO(_BASE )
# define MODE_2 TO(_FIGMA)
# define MODE_3 TO(_BROWSER)
# define MODE_4 TO(_VIM)
enum custom_keycodes {
VIM_SIP = SAFE_RANGE
VIM_SIF = SAFE_RANGE ,
VIM_SIP ,
VIM_RIF ,
VIM_RIP ,
VIM_NEW
} ;
bool process_record_user ( uint16_t keycode , keyrecord_t * record ) {
switch ( keycode ) {
case VIM_SIP :
case VIM_SIF : / / Search in File
if ( record - > event . pressed ) {
register_code ( KC_ESC ) ;
tap_code ( KC_SLASH ) ;
} else { / / released
unregister_code ( KC_ESC ) ;
}
break ;
case VIM_SIP : / / Search in Project
if ( record - > event . pressed ) {
register_code ( KC_ESC ) ;
SEND_STRING ( " :Ag " ) ;
} else {
/ / released
} else { / / released
unregister_code ( KC_ESC ) ;
}
break ;
case VIM_RIF : / / Replace in File
if ( record - > event . pressed ) {
register_code ( KC_ESC ) ;
SEND_STRING ( " :%s/a/b/g " ) ;
} else { / / released
unregister_code ( KC_ESC ) ;
}
break ;
case VIM_RIP : / / Replace in Project
if ( record - > event . pressed ) {
register_code ( KC_ESC ) ;
SEND_STRING ( " :cdo %s/a/b/g " ) ;
} else { / / released
unregister_code ( KC_ESC ) ;
}
break ;
case VIM_NEW : / / New buffer
if ( record - > event . pressed ) {
SEND_STRING ( " \ e:vnew \n " ) ;
} else { / / released
unregister_code ( KC_ENT ) ;
unregister_code ( KC_ESC ) ;
}
break ;
@ -44,83 +92,83 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
const uint16_t PROGMEM keymaps [ ] [ MATRIX_ROWS ] [ MATRIX_COLS ] = {
/*
* TERMINAL Layer
* BASE Layer
*
* , - - - - - - - - - - - - - - - - - - - - - - - - - - - - - .
* | | TERM | FIGM | |
* | | BASE | FIGM | |
* | - - - - - - - + - - - - - - + - - - - - - + - - - - - - - |
* | VOL | BROW | VIM | SCROLL |
* | VOL / PLY | BROW | VIM | SCROLL |
* | - - - - - - - + - - - - - - + - - - - - - + - - - - - - - |
* | - - - - - - - + - - - - - - - + - - - - - - - |
* | MEDIA | o | o |
* | o | o | o |
* | - - - - - - - + - - - - - - - + - - - - - - - |
* | o | o | o |
* | - - - - - - - + - - - - - - - + - - - - - - - |
*/
[ _TERMINAL ] = LAYOUT (
[ _BASE ] = LAYOUT (
MODE_1 , MODE_2 ,
ZK_MEDIA , MODE_3 , MODE_4 , _______ ,
_______ , _______ , _______ ,
_______ , _______ , _______
) ,
/*
* VIM Layer
* FIGMA Layer
*
* , - - - - - - - - - - - - - - - - - - - - - - - - - - - - - .
* | | TERM | FIGM | |
* | | BASE | FIGM | |
* | - - - - - - - + - - - - - - + - - - - - - + - - - - - - - |
* | BUFFER | BROW | VIM | SCROLL |
* | TABS | BROW | VIM | ZOOM |
* | - - - - - - - + - - - - - - + - - - - - - + - - - - - - - |
* | - - - - - - - + - - - - - - - + - - - - - - - |
* | SEARCH | o | o |
* | ZOOMFIT | GRIDS | FULL |
* | - - - - - - - + - - - - - - - + - - - - - - - |
* | o | o | o |
* | ZOOM100 | NEXT | COLOR |
* | - - - - - - - + - - - - - - - + - - - - - - - |
*/
[ _VIM ] = LAYOUT (
[ _FIGMA ] = LAYOUT (
_______ , _______ ,
_______ , _______ , _______ , _______ ,
VIM_SIP , _______ , _______ ,
_______ , _______ , _______
LSFT ( KC_1 ) , LCTL ( KC_G ) , LGUI ( KC_BSLS ) ,
LSFT ( KC_0 ) , KC_N , LCTL ( KC_C )
) ,
/*
* FIGMA Layer
* BROWSER Layer
*
* , - - - - - - - - - - - - - - - - - - - - - - - - - - - - - .
* | | TERM | FIGM | |
* | | BASE | FIGM | |
* | - - - - - - - + - - - - - - + - - - - - - + - - - - - - - |
* | VOL | BROW | VIM | ZOOM |
* | TABS | BROW | VIM | SCROLL |
* | - - - - - - - + - - - - - - + - - - - - - + - - - - - - - |
* | - - - - - - - + - - - - - - - + - - - - - - - |
* | ZOOM | GRIDS | FUL L |
* | SEARCH | BOOKM | DEVT L |
* | - - - - - - - + - - - - - - - + - - - - - - - |
* | o | o | o |
* | ZOOM100 | MUTE | READ |
* | - - - - - - - + - - - - - - - + - - - - - - - |
*/
[ _FIGMA ] = LAYOUT (
[ _BROWSER ] = LAYOUT (
_______ , _______ ,
_______ , _______ , _______ , _______ ,
LSFT ( KC_1 ) , LCTL ( KC_G ) , LGUI ( KC_BSLS ) ,
_______ , _______ , _______
G ( KC_F ) , G ( KC_D ) , G ( A ( KC_I ) ) ,
G ( KC_0 ) , C ( KC_M ) , G ( A ( KC_R ) )
) ,
/*
* BROWSER Layer
* VIM Layer
*
* , - - - - - - - - - - - - - - - - - - - - - - - - - - - - - .
* | | TERM | FIGM | |
* | | BASE | FIGM | |
* | - - - - - - - + - - - - - - + - - - - - - + - - - - - - - |
* | TABS | BROW | VIM | SCROLL |
* | BUFFER | BROW | VIM | SCROLL |
* | - - - - - - - + - - - - - - + - - - - - - + - - - - - - - |
* | - - - - - - - + - - - - - - - + - - - - - - - |
* | SEARCH | BOOKM | DEVTL |
* | SRCH FL | REPL FL | NEW BUF |
* | - - - - - - - + - - - - - - - + - - - - - - - |
* | o | o | o |
* | SRCH PR | REPL PR | o |
* | - - - - - - - + - - - - - - - + - - - - - - - |
*/
[ _BROWSER ] = LAYOUT (
[ _VIM ] = LAYOUT (
_______ , _______ ,
_______ , _______ , _______ , _______ ,
G ( KC_F ) , G ( KC_D ) , G ( A ( KC_I ) ) ,
_______ , _______ , _______
VIM_SIF , VIM_RIF , VIM_NEW ,
VIM_SIP , VIM_RIP , _______
) ,
} ;