2015-10-30 12:49:11 +08:00
|
|
|
#ifndef ATOMIC_H
|
|
|
|
#define ATOMIC_H
|
|
|
|
|
2016-05-15 13:07:48 +08:00
|
|
|
#include "quantum.h"
|
2015-10-30 12:49:11 +08:00
|
|
|
#include <stddef.h>
|
2016-04-30 10:19:40 +08:00
|
|
|
#include <avr/io.h>
|
2016-06-22 05:42:29 +08:00
|
|
|
#include <avr/interrupt.h>
|
2015-10-30 12:49:11 +08:00
|
|
|
|
|
|
|
// This a shortcut to help you visually see your layout.
|
|
|
|
// The following is an example using the Planck MIT layout
|
|
|
|
// The first section contains all of the arguements
|
|
|
|
// The second converts the arguments into a two-dimensional array
|
2018-05-03 22:56:12 +08:00
|
|
|
#define LAYOUT_semi_standard( \
|
2015-10-30 12:49:11 +08:00
|
|
|
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0E, \
|
|
|
|
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, \
|
|
|
|
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, K2E, \
|
|
|
|
K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3C, K3D, K3E, \
|
|
|
|
K40, K41, K43, K46, K4A, K4B, K4C, K4D, K4E \
|
|
|
|
) { \
|
|
|
|
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, KC_NO, K0E }, \
|
|
|
|
{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \
|
|
|
|
{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KC_NO, K2D, K2E }, \
|
|
|
|
{ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, KC_NO, K3C, K3D, K3E }, \
|
|
|
|
{ K40, K41, KC_NO, K43, KC_NO, KC_NO, K46, KC_NO, KC_NO, KC_NO, K4A, K4B, K4C, K4D, K4E } \
|
|
|
|
}
|
|
|
|
|
2018-05-03 22:56:12 +08:00
|
|
|
#define LAYOUT_grid( \
|
2017-08-24 10:29:07 +08:00
|
|
|
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E,\
|
|
|
|
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E,\
|
|
|
|
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E,\
|
|
|
|
K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E,\
|
|
|
|
K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, K4E \
|
|
|
|
) { \
|
|
|
|
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \
|
|
|
|
{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \
|
|
|
|
{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E }, \
|
|
|
|
{ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \
|
|
|
|
{ K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, K4E } \
|
|
|
|
}
|
|
|
|
|
2018-05-03 22:56:12 +08:00
|
|
|
#define LAYOUT_ortho_5x15 LAYOUT_grid
|
2017-08-24 10:29:07 +08:00
|
|
|
|
2015-10-30 12:49:11 +08:00
|
|
|
#endif
|