You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					70 lines
				
				3.3 KiB
			
		
		
			
		
	
	
					70 lines
				
				3.3 KiB
			|   
											8 years ago
										 | #include "magicforce61.h"
 | ||
|  | 
 | ||
|  | #define _QWERTY 0
 | ||
|  | #define _FN1 1
 | ||
|  | #define _FN2 2
 | ||
|  | #define KC_ KC_TRNS
 | ||
|  | #define KC_X0 LT(_FN2, KC_GRV)
 | ||
|  | #define KC_X1 MO(_FN1)
 | ||
|  | #define KC_NAV_ESC LT(_FN1, KC_ESC)
 | ||
|  | #define KC_GUI MAGIC_UNNO_GUI
 | ||
|  | 
 | ||
|  | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
|  |   [_QWERTY] = KEYMAP( | ||
|  |  /*,----+----+----+----+----+----+----+----+----+----+----+----+----+--------. */ | ||
|  |     GRV , 1  , 2  , 3  , 4  , 5  , 6  , 7  , 8  , 9  , 0  ,MINS,EQL ,  BSPC  , | ||
|  |  /*|----`----`----`----`----`----`----`----`----`----`----`----`----`--------| */ | ||
|  |     TAB   , Q  , W  , E  , R  , T  , Y  , U  , I  , O  , P  ,LBRC,RBRC, BSLS , | ||
|  |  /*|------`----`----`----`----`----`----`----`----`----`----`----`----`------| */ | ||
|  |     NAV_ESC    , A  , S  , D  , F  , G  , H  , J  , K  , L  ,SCLN,QUOT,  ENTER , | ||
|  |  /*|-------`----`----`----`----`----`----`----`----`----`----`----`----------| */ | ||
|  |     LSPO   , Z  , X  , C  , V  , B  , N  , M  ,COMM,DOT ,SLSH,     RSPC  , | ||
|  |  /*|---------`----`----`----`----`----`----`----`----`----`----`-------------. */ | ||
|  |     LCTL , RGUI ,LALT ,            SPACE             ,  X1  ,RALT ,RCTL ,    X1 | ||
|  |  /*`-----+-----+-----+------------------------------+------+-----+-----' ANY   */ | ||
|  |   ), | ||
|  | 
 | ||
|  |   [_FN1] = KEYMAP( | ||
|  |  /*,----+----+----+----+----+----+----+----+----+----+----+----+----+--------. */ | ||
|  |     GRV , F1 , F2 , F3 , F4 , F5 , F6 , F7 , F8 , F9 ,F10 ,F11 ,F12 ,   BSPC , | ||
|  |  /*|esc-`-1--`-2--`-3--`-4--`-5--`-6--`-7--`-8--`-9--`-0--`mnus`plus`--bksp--| */ | ||
|  |           ,    , UP ,    ,    ,    ,    ,    ,INS ,PSCR,    ,    ,    ,      , | ||
|  |  /*|tab---`-q--`-w--`-e--`-r--`-t--`-y--`-u--`-i--`-o--`-p--`-{--`-}--`--|---| */ | ||
|  |            ,LEFT,DOWN,RGHT,    ,    ,    , PGDN , PGUP ,    ,    ,    ,      , | ||
|  |  /*|caps---`-a--`-s--`-d--`-f--`-g--`-h--`-j--`-k--`-l--`-;--`-'--`----enter-| */ | ||
|  |              ,    ,    ,    ,    ,    ,VOLD,VOLU,MUTE,    ,    ,             , | ||
|  |  /*|shift----`-z--`-x--`-c--`-v--`-b--`-n--`-m--`-,--`-.--`-/--`-------shift-. */ | ||
|  |          ,     ,     ,                              ,      ,     ,     , MPLY | ||
|  |  /*`ctrl-+-gui-+-alt-+----------space---------------+-fn---+-alt-+ctrl-' ANY   */ | ||
|  |   ), | ||
|  | 
 | ||
|  |   [_FN2] = KEYMAP( | ||
|  |  /*,----+----+----+----+----+----+----+----+----+----+----+----+----+--------. */ | ||
|  |     GRV , F1 , F2 , F3 , F4 , F5 , F6 , F7 , F8 , F9 ,F10 ,F11 ,F12 ,   BSPC , | ||
|  |  /*|esc-`-1--`-2--`-3--`-4--`-5--`-6--`-7--`-8--`-9--`-0--`mnus`plus`--bksp--| */ | ||
|  |           ,    ,    ,    ,    ,    ,    , 7  , 8  , 9  ,    ,    ,    ,      , | ||
|  |  /*|tab---`-q--`-w--`-e--`-r--`-t--`-y--`-u--`-i--`-o--`-p--`-{--`-}--`--|---| */ | ||
|  |            ,    ,    ,    ,    ,    ,    , 4  , 5  , 6  ,    ,    ,          , | ||
|  |  /*|caps---`-a--`-s--`-d--`-f--`-g--`-h--`-j--`-k--`-l--`-;--`-'--`----enter-| */ | ||
|  |              ,    ,    ,    ,    ,    , 0  , 1  , 2  , 3  ,    ,             , | ||
|  |  /*|shift----`-z--`-x--`-c--`-v--`-b--`-n--`-m--`-,--`-.--`-/--`-------shift-. */ | ||
|  |          ,     ,     ,                              ,      ,     ,     , | ||
|  |  /*`ctrl-+-gui-+-alt-+----------space---------------+-fn---+-alt-+ctrl-' ANY   */ | ||
|  |   ) | ||
|  | }; | ||
|  | 
 | ||
|  | const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) | ||
|  | { | ||
|  |   // MACRODOWN only works in this function
 | ||
|  |       switch(id) { | ||
|  |         case 0: | ||
|  |           if (record->event.pressed) { | ||
|  |             register_code(KC_RSFT); | ||
|  |           } else { | ||
|  |             unregister_code(KC_RSFT); | ||
|  |           } | ||
|  |         break; | ||
|  |       } | ||
|  |     return MACRO_NONE; | ||
|  | }; |