* handwired/arrow_pad: layout macro and keymap refactor - Layout macros moved from the keymaps to arrow_pad.h. - LAYOUT_pad21 refactored to only accept keys that are physical present (no KC_NO entries required in keymap) - Keymaps now use #include QMK_KEYBOARD_H - Keymaps refactored to use process_record_user function (from action_get_macro) * handwired/arrow_pad: Readme cleanup Fixed the make commands and updated the layout macro. * handwired/arrow_pad: Configurator support
		
			
				
	
	
		
			43 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
#ifndef ARROW_PAD_H
 | 
						|
#define ARROW_PAD_H
 | 
						|
 | 
						|
#include "quantum.h"
 | 
						|
#include "matrix.h"
 | 
						|
#include "keymap.h"
 | 
						|
#ifdef BACKLIGHT_ENABLE
 | 
						|
	#include "backlight.h"
 | 
						|
#endif
 | 
						|
#include <avr/io.h>
 | 
						|
#include <stddef.h>
 | 
						|
 | 
						|
// This is the 21-key keypad to 4x6 element matrix mapping
 | 
						|
#define LAYOUT( \
 | 
						|
    KM_ESC, KM_TAB, KM_BSL, KM_ARR, \
 | 
						|
    KM_NUM, KM_FSL, KM_AST, KM_MIN, \
 | 
						|
    KM___7, KM___8, KM___9, KM_EQU, \
 | 
						|
    KM___4, KM___5, KM___6, KM_PLS, \
 | 
						|
    KM___1, KM___2, KM___3, ___ENT, \
 | 
						|
    KM___0, _____0, KM_DOT, KM_ENT  \
 | 
						|
) { \
 | 
						|
    { KM_ESC, KM_TAB, KM_BSL, KM_ARR  }, \
 | 
						|
    { KM_NUM, KM_FSL, KM_AST, KM_MIN  }, \
 | 
						|
    { KM___7, KM___8, KM___9, KM_EQU  }, \
 | 
						|
    { KM___4, KM___5, KM___6, KM_PLS  }, \
 | 
						|
    { KM___1, KM___2, KM___3, KC_NO   }, \
 | 
						|
    { KM___0, KC_NO,  KM_DOT, KM_ENT  }  \
 | 
						|
}
 | 
						|
 | 
						|
// This is the 21-key keypad to 2x11 element matrix mapping
 | 
						|
#define LAYOUT_pad21( \
 | 
						|
    KM_ESC, KM_TAB, KM_BSL, KM_ARR, \
 | 
						|
    KM_NUM, KM_FSL, KM_AST, KM_MIN, \
 | 
						|
    KM___7, KM___8, KM___9,         \
 | 
						|
    KM___4, KM___5, KM___6, KM_PLS, \
 | 
						|
    KM___1, KM___2, KM___3,         \
 | 
						|
    KM___0,         KM_DOT, KM_ENT  \
 | 
						|
) { \
 | 
						|
    { KM_ESC, KM_TAB, KM_BSL, KM_ARR, KM___7, KM___8, KM___9, KM_PLS, KM___1, KM___2, KM___3, }, \
 | 
						|
    { KM_NUM, KM_FSL, KM_AST, KM_MIN, KM___4, KM___5, KM___6, KM_ENT, KC_NO,  KM___0, KM_DOT, }, \
 | 
						|
}
 | 
						|
 | 
						|
#endif
 |