952a30ef34
* 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
44 lines
1.3 KiB
C
44 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
|