65 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			65 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| #include QMK_KEYBOARD_H
 | |
| 
 | |
| // Tap Dance Declarations
 | |
| enum {
 | |
|   ENT_5 = 0,
 | |
|   ZERO_7
 | |
| };
 | |
| 
 | |
| // Macro Declarations
 | |
| enum {
 | |
|   DBL_0 = 0
 | |
| };
 | |
| 
 | |
| const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | |
| 
 | |
| /* LAYER 0
 | |
|  * ,-----------------------.
 | |
|  * |   1   |   2   |   3   |
 | |
|  * |-------+-------+-------|
 | |
|  * |   4   | 5/ENT |   6   | Dbl Tap 5 for Enter
 | |
|  * |-------+-------+-------|
 | |
|  * |  7/0  |   8   | 9/FN  | 7/0 = Dbl Tap 7 for 0  -  9/FN = Hold 9 for FN
 | |
|  * `-----------------------'
 | |
|  */
 | |
| [0] = LAYOUT( \
 | |
|   KC_1,       KC_2,      KC_3,       \
 | |
|   KC_4,       TD(ENT_5), KC_6,       \
 | |
|   TD(ZERO_7), KC_8,      LT(1, KC_9) \
 | |
| ),
 | |
| 
 | |
| /* LAYER 1
 | |
|  * ,-----------------------.
 | |
|  * |  ESC  |   +   |   -   |
 | |
|  * |-------+-------+-------|
 | |
|  * |  BSPC |   *   |   /   |
 | |
|  * |-------+-------+-------|
 | |
|  * |  00   |   .   |       |
 | |
|  * `-----------------------'
 | |
|  */
 | |
| [1] = LAYOUT( \
 | |
|   KC_ESC,   KC_PLUS, KC_MINS, \
 | |
|   KC_BSPC,  KC_ASTR, KC_SLSH, \
 | |
|   M(DBL_0), KC_DOT,  KC_TRNS  \
 | |
| )
 | |
| 
 | |
| };
 | |
| 
 | |
| qk_tap_dance_action_t tap_dance_actions[] = {
 | |
|   [ENT_5] = ACTION_TAP_DANCE_DOUBLE(KC_5, KC_ENT),
 | |
|   [ZERO_7] = ACTION_TAP_DANCE_DOUBLE(KC_7, KC_0)
 | |
| };
 | |
| 
 | |
| const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
 | |
|   if (record->event.pressed) {
 | |
|       switch(id) {
 | |
|           case DBL_0:
 | |
|               SEND_STRING("00");
 | |
|               return false;
 | |
|       }
 | |
|   }
 | |
|   return MACRO_NONE;
 | |
| };
 | |
| 
 | |
| void matrix_init_user(void) {
 | |
| } |