Merge branch 'audio' of https://github.com/jackhumbert/tmk_keyboard into smarkefile
This commit is contained in:
		
						commit
						5143c59bdf
					
				
					 17 changed files with 840 additions and 350 deletions
				
			
		| 
						 | 
				
			
			@ -2,7 +2,9 @@
 | 
			
		|||
// this is the style you want to emulate.
 | 
			
		||||
 | 
			
		||||
#include "planck.h"
 | 
			
		||||
#include "backlight.h"
 | 
			
		||||
#ifdef BACKLIGHT_ENABLE
 | 
			
		||||
  #include "backlight.h"
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
// Each layer gets a name for readability, which is then used in the keymap matrix below.
 | 
			
		||||
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
 | 
			
		||||
| 
						 | 
				
			
			@ -58,7 +60,9 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
 | 
			
		|||
        case 0:
 | 
			
		||||
          if (record->event.pressed) {
 | 
			
		||||
            register_code(KC_RSFT);
 | 
			
		||||
            backlight_step();
 | 
			
		||||
            #ifdef BACKLIGHT_ENABLE
 | 
			
		||||
              backlight_step();
 | 
			
		||||
            #endif
 | 
			
		||||
          } else {
 | 
			
		||||
            unregister_code(KC_RSFT);
 | 
			
		||||
          }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										42
									
								
								keyboard/planck/keymaps/keymap_eric.c
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										42
									
								
								keyboard/planck/keymaps/keymap_eric.c
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,42 @@
 | 
			
		|||
#include "planck.h"
 | 
			
		||||
 | 
			
		||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		||||
 [0] = {
 | 
			
		||||
    {KC_BSLS, S(KC_SLSH), KC_COMM,       KC_DOT,   KC_P,   KC_Y,   KC_F,    KC_G,         KC_C,    KC_R,    KC_L, KC_SLSH}, 
 | 
			
		||||
    {TG(1),         KC_A,    KC_O,         KC_E,   KC_U,   KC_I,   KC_D,    KC_H,         KC_T,    KC_N,    KC_S, KC_MINS},
 | 
			
		||||
    {KC_LGUI,    KC_QUOT,    KC_Q,         KC_J,   KC_K,   KC_X,   KC_B,    KC_M,         KC_W,    KC_V,    KC_Z, KC_RGUI},
 | 
			
		||||
    {KC_LCBR,    KC_LCTL, KC_LALT, LT(1, TG(2)), KC_SPC, KC_TAB, KC_ENT, KC_BSPC, LT(1, TG(3)), KC_RALT, KC_RCTL, KC_RCBR}
 | 
			
		||||
  },
 | 
			
		||||
 | 
			
		||||
 [1] = {
 | 
			
		||||
    {KC_PIPE,    KC_COLN, KC_LBRC,  KC_RBRC, S(KC_P), S(KC_Y), S(KC_F), S(KC_G), S(KC_C), S(KC_R), S(KC_L), KC_AMPR}, 
 | 
			
		||||
    {KC_TRNS,    S(KC_A), S(KC_O),  S(KC_E), S(KC_U), S(KC_I), S(KC_D), S(KC_H), S(KC_T), S(KC_N), S(KC_S), KC_GRV},
 | 
			
		||||
    {KC_TRNS,    KC_SCLN, S(KC_Q),  S(KC_J), S(KC_K), S(KC_X), S(KC_B), S(KC_M), S(KC_W), S(KC_V), S(KC_Z), KC_TRNS},
 | 
			
		||||
    {S(KC_COMM), KC_TRNS, KC_TRNS,  KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, S(KC_DOT)}
 | 
			
		||||
  },
 | 
			
		||||
 | 
			
		||||
 [2] = {
 | 
			
		||||
    {KC_ESC,  KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_F7,   KC_F8,   KC_F9,  KC_F10, KC_NO}, 
 | 
			
		||||
    {KC_NO,  KC_F11,  KC_F12,  KC_F13,  KC_F14,  KC_F15,  KC_F16,  KC_F17,  KC_F18,  KC_F19,  KC_F20, KC_NO},
 | 
			
		||||
    {KC_TRNS, KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO, KC_TRNS},
 | 
			
		||||
    {KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO}
 | 
			
		||||
  },
 | 
			
		||||
 | 
			
		||||
 [3] = {
 | 
			
		||||
    {KC_EXLM,  KC_7,    KC_5,    KC_3,      KC_1,    KC_9,    KC_0,    KC_2,    KC_4,    KC_6,    KC_8, KC_EQL}, 
 | 
			
		||||
    {TG(4),   KC_NO, KC_PGUP, KC_HOME, KC_INSERT,   KC_NO,   KC_NO,  BL_DEC,   KC_UP,  BL_INC,   KC_NO, KC_NO},
 | 
			
		||||
    {KC_TRNS, KC_NO, KC_PGDN,  KC_END, KC_DELETE,   KC_NO,   KC_NO, KC_LEFT, KC_DOWN, KC_RGHT,   KC_NO, KC_TRNS},
 | 
			
		||||
    {KC_NO, KC_TRNS, KC_TRNS, KC_TRNS,   KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO}
 | 
			
		||||
  },
 | 
			
		||||
 | 
			
		||||
 [4] = {
 | 
			
		||||
    {KC_TILD, KC_HASH, KC_LPRN, KC_RPRN, S(KC_QUOT), KC_PERC, KC_UNDS, KC_CIRC,  KC_DLR,   KC_AT, KC_ASTR, KC_PLUS}, 
 | 
			
		||||
    {KC_TRNS,   KC_NO,   KC_NO,   KC_NO,      KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO, KC_NO},
 | 
			
		||||
    {KC_TRNS,   KC_NO,   KC_NO,   KC_NO,      KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO, KC_TRNS},
 | 
			
		||||
    {KC_NO,   KC_TRNS, KC_TRNS, KC_TRNS,    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO}
 | 
			
		||||
  }
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
const uint16_t PROGMEM fn_actions[] = {
 | 
			
		||||
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			@ -1,9 +1,12 @@
 | 
			
		|||
// USING_MIDI
 | 
			
		||||
// USING_BACKLIGHT
 | 
			
		||||
#include "keymap_common.h"
 | 
			
		||||
#include "backlight.h"
 | 
			
		||||
#ifdef BACKLIGHT_ENABLE
 | 
			
		||||
  #include "backlight.h"
 | 
			
		||||
#endif
 | 
			
		||||
#include "action_layer.h"
 | 
			
		||||
#include "keymap_midi.h"
 | 
			
		||||
#include "audio.h"
 | 
			
		||||
#include <avr/boot.h>
 | 
			
		||||
 | 
			
		||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		||||
| 
						 | 
				
			
			@ -65,15 +68,31 @@ uint16_t hextokeycode(int hex) {
 | 
			
		|||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
float walk_up[][2] = {
 | 
			
		||||
  {440.0*pow(2.0,(60)/12.0), 400},
 | 
			
		||||
  {0, 50},
 | 
			
		||||
  {440.0*pow(2.0,(67)/12.0), 600},
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
float walk_dn[][2] = {
 | 
			
		||||
  {440.0*pow(2.0,(67)/12.0), 400},
 | 
			
		||||
  {0, 50},
 | 
			
		||||
  {440.0*pow(2.0,(60)/12.0), 600},
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
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) {
 | 
			
		||||
 | 
			
		||||
          play_notes(&walk_up, 3, false);
 | 
			
		||||
          // play_note(440, 20);
 | 
			
		||||
          // register_code(KC_RSFT);
 | 
			
		||||
          backlight_set(BACKLIGHT_LEVELS);
 | 
			
		||||
          #ifdef BACKLIGHT_ENABLE
 | 
			
		||||
            backlight_set(BACKLIGHT_LEVELS);
 | 
			
		||||
          #endif
 | 
			
		||||
          default_layer_and(0); 
 | 
			
		||||
          default_layer_or((1<<5));
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -105,19 +124,33 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
 | 
			
		|||
          // register_code(hextokeycode((lock & 0x0F)));
 | 
			
		||||
          // unregister_code(hextokeycode((lock & 0x0F)));
 | 
			
		||||
 | 
			
		||||
          // note(0+12, 20);
 | 
			
		||||
          // note(0+24, 20);
 | 
			
		||||
        } else {
 | 
			
		||||
          // unregister_code(KC_RSFT);
 | 
			
		||||
          // stop_note();
 | 
			
		||||
          backlight_set(0);
 | 
			
		||||
          unregister_code(KC_RSFT);
 | 
			
		||||
          play_notes(&walk_dn, 3, false);
 | 
			
		||||
          #ifdef BACKLIGHT_ENABLE
 | 
			
		||||
            backlight_set(0);
 | 
			
		||||
          #endif
 | 
			
		||||
          default_layer_and(0); 
 | 
			
		||||
          default_layer_or(0);
 | 
			
		||||
          // note(0+24, 20);
 | 
			
		||||
          // note(0, 20);
 | 
			
		||||
          // play_note(4, 20);
 | 
			
		||||
        }
 | 
			
		||||
        break;
 | 
			
		||||
      } 
 | 
			
		||||
    return MACRO_NONE;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
float start_up[][2] = {
 | 
			
		||||
  {440.0*pow(2.0,(67)/12.0), 600},
 | 
			
		||||
  {0, 50},
 | 
			
		||||
  {440.0*pow(2.0,(64)/12.0), 400},
 | 
			
		||||
  {0, 50},
 | 
			
		||||
  {440.0*pow(2.0,(55)/12.0), 400},
 | 
			
		||||
  {0, 50},
 | 
			
		||||
  {440.0*pow(2.0,(60)/12.0), 400},
 | 
			
		||||
  {0, 50},
 | 
			
		||||
  {440.0*pow(2.0,(64)/12.0), 1000},
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
void * matrix_init_user(void) {
 | 
			
		||||
    init_notes();
 | 
			
		||||
    play_notes(&start_up, 9, false);
 | 
			
		||||
}
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue