* initial files for rev 6 with encoder * music map init, dip scan added * adds ws2812 driver for arm * flesh out dip and encoder support * adds default encoder res * adds default encoder res * start muse implementation * muse working with encoder as control * flip direction * try mouse wheel again * dont break other revs * dont break other revs * conditional autio * pwm ws driver (not working) * update build includes for chibios * update ws2812 driver/config * last commit for glasser code * working example * remove rgb for now * finish up rev6 * working encoder keycodes * add warnings to planck keymaps about the LAYOUT
		
			
				
	
	
		
			82 lines
		
	
	
		
			4.9 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			82 lines
		
	
	
		
			4.9 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| #pragma message "You may need to add LAYOUT_planck_grid to your keymap layers - see default for an example"
 | |
| #include "planck.h"
 | |
| #ifdef BACKLIGHT_ENABLE
 | |
| #include "backlight.h"
 | |
| #endif
 | |
| 
 | |
| // http://www.keyboard-layout-editor.com/#/gists/eb0696806831fc0d93c9
 | |
| 
 | |
| #define _PROSE 0
 | |
| #define _SYMB_L 1
 | |
| #define _SYMB_R 2
 | |
| #define _NAV_L 3
 | |
| #define _NAV_R 4
 | |
| #define _NAV_ALT 5
 | |
| 
 | |
| const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | |
| [_PROSE] = {
 | |
|    {LT(_NAV_L,KC_Q), KC_W,  KC_E,      KC_R,        KC_T,         KC_DELETE, KC_BSPC,          KC_Y,       KC_U,    KC_I,     KC_O, LT(_NAV_R,KC_P)}
 | |
|   ,{KC_A,            KC_S,  KC_D,      KC_F,        KC_G,     CTL_T(KC_ESC), CTL_T(KC_SCLN),   KC_H,       KC_J,    KC_K,     KC_L,     KC_QUOT}
 | |
|   ,{SFT_T(KC_Z),     KC_X,  KC_C,      KC_V,        KC_B,     ALT_T(KC_TAB), ALT_T(KC_INS),    KC_N,       KC_M,    KC_COMM,  KC_DOT,   SFT_T(KC_SLSH)}
 | |
|   ,{KC_LCTRL,     KC_LGUI,  KC_FN0,   KC_TAB, LT(_SYMB_L, KC_ESC), KC_LSFT,  KC_LSFT,  LT(_SYMB_R,KC_SPC), KC_BSPC, KC_FN0,   KC_RCTRL, KC_ENT}
 | |
| },
 | |
|     // accessed via the left symb-layer key, includes a semicolon where the right symb-layer key was
 | |
| [_SYMB_L] = {
 | |
|    {KC_GRV,         KC_TILD,    KC_ASTR,    KC_AMPR,          KC_SLSH,    LSFT(KC_COMM), LSFT(KC_DOT),  KC_BSLS,  KC_7,    KC_8,    KC_9,    KC_PIPE}
 | |
|   ,{KC_UNDS,        KC_CIRC,    KC_PERC,    KC_DLR,           KC_LPRN,    KC_LBRC,       KC_RBRC,       KC_RPRN,  KC_4,    KC_5,    KC_6,    KC_MINS}
 | |
|   ,{KC_EQL ,        KC_HASH,    KC_AT,      KC_EXLM,          KC_LCBR,    KC_TRNS,       KC_TRNS,       KC_RCBR,  KC_1,    KC_2,    KC_3,    KC_PLUS}
 | |
|   ,{LSFT(KC_QUOT),  KC_TRNS,    KC_COMM,    LSFT(KC_SLSH),    KC_TRNS,    KC_TRNS,       KC_TRNS,       KC_SCLN,  KC_0,    KC_DOT,  KC_DOT,  KC_TRNS}
 | |
| },
 | |
|     // accessed via the right symb-layer key, includes a colon where the left symb-layer key was
 | |
| [_SYMB_R] = {
 | |
|    {KC_GRV,         KC_TILD,    KC_ASTR,    KC_AMPR,          KC_SLSH,    LSFT(KC_COMM), LSFT(KC_DOT), KC_BSLS,  KC_7,    KC_8,    KC_9,    KC_PIPE}
 | |
|   ,{KC_UNDS,        KC_CIRC,    KC_PERC,    KC_DLR,           KC_LPRN,    KC_LBRC,       KC_RBRC,      KC_RPRN,  KC_4,    KC_5,    KC_6,    KC_MINS}
 | |
|   ,{KC_EQL ,        KC_HASH,    KC_AT,      KC_EXLM,          KC_LCBR,    KC_TRNS,       KC_TRNS,      KC_RCBR,  KC_1,    KC_2,    KC_3,    KC_PLUS}
 | |
|   ,{LSFT(KC_QUOT),  KC_TRNS,    KC_COMM,    LSFT(KC_SLSH),    KC_COLN,    KC_TRNS,       KC_TRNS,      KC_TRNS,  KC_0,    KC_DOT,  KC_TRNS, KC_TRNS}
 | |
| },
 | |
|     // accessed via the left nav-layer key, includes a F10 where the right nav-layer key was
 | |
| [_NAV_L] = {
 | |
|    {KC_TRNS,    KC_F2,    KC_F3,      KC_F4,         KC_F5,    RESET,      BL_STEP,    KC_F6,      KC_F7,      KC_F8,      KC_F9,      KC_F10}
 | |
|   ,{KC_BTN1,  KC_MS_L,    KC_MS_U,    KC_MS_D,       KC_MS_R,  KC_PSCREEN, KC_PAUSE,   KC_LEFT,    KC_DOWN,    KC_UP,      KC_RGHT,    KC_F11}
 | |
|   ,{KC_BTN2,  KC_BTN4,    KC_MS_WH_UP,KC_MS_WH_DOWN, KC_BTN5,  KC_TRNS,    KC_TRNS,    KC_HOME,    KC_PGDN,    KC_PGUP,    KC_END,     KC_F12}
 | |
|   ,{KC_TRNS,  KC_TRNS,    KC_TRNS,    KC_TRNS,       KC_TRNS,  KC_TRNS,    KC_TRNS,    KC_TRNS,    KC_TRNS,    KC_TRNS,    KC_TRNS,    KC_TRNS}
 | |
| },
 | |
|     // accessed via the right nav-layer key, includes a F1 where the left nav-layer key was
 | |
| [_NAV_R] = {
 | |
|    {KC_F1,    KC_F2,      KC_F3,      KC_F4,         KC_F5,    RESET,      BL_STEP,    KC_F6,      KC_F7,      KC_F8,      KC_F9,      KC_TRNS}
 | |
|   ,{KC_BTN1,  KC_MS_L,    KC_MS_U,    KC_MS_D,       KC_MS_R,  KC_PSCREEN, KC_PAUSE,   KC_LEFT,    KC_DOWN,    KC_UP,      KC_RGHT,    KC_F11}
 | |
|   ,{KC_BTN2,  KC_BTN4,    KC_MS_WH_UP,KC_MS_WH_DOWN, KC_BTN5,  KC_TRNS,    KC_TRNS,    KC_HOME,    KC_PGDN,    KC_PGUP,    KC_END,     KC_F12}
 | |
|   ,{KC_TRNS,  KC_TRNS,    KC_TRNS,    KC_TRNS,       KC_TRNS,  KC_TRNS,    KC_TRNS,    KC_TRNS,    KC_TRNS,    KC_TRNS,    KC_TRNS,    KC_TRNS}
 | |
| },
 | |
|     // accessed via the lower alt keys, moves tab and delete to make alt+tab and ctrl+alt+del feel more standard
 | |
| [_NAV_ALT] = {
 | |
|    {KC_F1,    KC_F2,      KC_F3,      KC_F4,         KC_F5,    RESET,      BL_STEP,    KC_F6,      KC_F7,      KC_F8,      KC_F9,      KC_DELETE}
 | |
|   ,{KC_TAB,   KC_MS_L,    KC_MS_U,    KC_MS_D,       KC_MS_R,  KC_PSCREEN, KC_PAUSE,   KC_LEFT,    KC_DOWN,    KC_UP,      KC_RGHT,    KC_F11}
 | |
|   ,{KC_BTN2,  KC_BTN4,    KC_MS_WH_UP,KC_MS_WH_DOWN, KC_BTN5,  KC_TRNS,    KC_TRNS,    KC_HOME,    KC_PGDN,    KC_PGUP,    KC_END,     KC_F12}
 | |
|   ,{KC_TRNS,  KC_TRNS,    KC_TRNS,    KC_TRNS,       KC_TRNS,  KC_TRNS,    KC_TRNS,    KC_TRNS,    KC_TRNS,    KC_TRNS,    KC_TRNS,    KC_TRNS}
 | |
| }
 | |
| };
 | |
| 
 | |
| const uint16_t PROGMEM fn_actions[] = {
 | |
|     [0] = ACTION_LAYER_MODS(_NAV_ALT, MOD_LALT)
 | |
| 
 | |
| };
 | |
| 
 | |
| 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);
 | |
|             #ifdef BACKLIGHT_ENABLE
 | |
|               backlight_step();
 | |
|             #endif
 | |
|           } else {
 | |
|             unregister_code(KC_RSFT);
 | |
|           }
 | |
|         break;
 | |
|       }
 | |
|     return MACRO_NONE;
 | |
| };
 |