M keyboards/40percentclub/nori/keymaps/default/keymap.c => keyboards/40percentclub/nori/keymaps/default/keymap.c +8 -6
@@ 4,12 4,14 @@
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
// Layer names don't all need to be of the same length, obviously, and you can also skip them
// entirely and just use numbers.
-#define _QWERTY 0
-#define _COLEMAK 1
-#define _DVORAK 2
-#define _LOWER 3
-#define _RAISE 4
-#define _ADJUST 16
+enum layer_names {
+ _QWERTY,
+ _COLEMAK,
+ _DVORAK,
+ _LOWER,
+ _RAISE,
+ _ADJUST
+};
enum custom_keycodes {
QWERTY = SAFE_RANGE,
M keyboards/ergotravel/keymaps/default/keymap.c => keyboards/ergotravel/keymaps/default/keymap.c +8 -6
@@ 1,10 1,12 @@
#include QMK_KEYBOARD_H
-#define _QWERTY 0
-#define _LOWER 1
-#define _RAISE 2
-#define _ADJUST 16
+enum layer_names {
+ _QWERTY,
+ _LOWER,
+ _RAISE,
+ _ADJUST,
+};
enum custom_keycodes {
QWERTY = SAFE_RANGE,
@@ 39,12 41,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_RAISE] = LAYOUT(
-
+
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, _______, _______, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
_______, KC_4, KC_5, KC_6, KC_PLUS, _______, _______, _______, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, _______,
KC_ENT, KC_7, KC_8, KC_9, KC_MINS, _______, _______, _______, _______, KC_NUHS, KC_NUBS, KC_MUTE, _______, KC_BSLS,
_______, KC_COMM, KC_0, KC_DOT, _______, KC_BSPC, KC_BSPC, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
-
+
),
[_ADJUST] = LAYOUT(
M keyboards/handwired/atreus50/keymaps/default/keymap.c => keyboards/handwired/atreus50/keymaps/default/keymap.c +9 -7
@@ 4,13 4,15 @@
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
// Layer names don't all need to be of the same length, obviously, and you can also skip them
// entirely and just use numbers.
-#define _QWERTY 0
-#define _COLEMAK 1
-#define _DVORAK 2
-#define _LOWER 3
-#define _RAISE 4
-#define _MOVEMENT 5
-#define _ADJUST 16
+enum layer_names {
+ _QWERTY,
+ _COLEMAK,
+ _DVORAK,
+ _LOWER,
+ _RAISE,
+ _MOVEMENT,
+ _ADJUST,
+};
enum custom_keycodes {
QWERTY = SAFE_RANGE,
M keyboards/handwired/ortho5x13/keymaps/default/keymap.c => keyboards/handwired/ortho5x13/keymaps/default/keymap.c +8 -6
@@ 4,12 4,14 @@
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
// Layer names don't all need to be of the same length, obviously, and you can also skip them
// entirely and just use numbers.
-#define _QWERTY 0
-#define _COLEMAK 1
-#define _DVORAK 2
-#define _LOWER 3
-#define _RAISE 4
-#define _ADJUST 16
+enum layer_names {
+ _QWERTY,
+ _COLEMAK,
+ _DVORAK,
+ _LOWER,
+ _RAISE,
+ _ADJUST
+};
enum custom_keycodes {
QWERTY = SAFE_RANGE,
M keyboards/keebio/levinson/keymaps/default/keymap.c => keyboards/keebio/levinson/keymaps/default/keymap.c +8 -6
@@ 5,12 5,14 @@
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
// Layer names don't all need to be of the same length, obviously, and you can also skip them
// entirely and just use numbers.
-#define _QWERTY 0
-#define _COLEMAK 1
-#define _DVORAK 2
-#define _LOWER 3
-#define _RAISE 4
-#define _ADJUST 16
+enum layer_names {
+ _QWERTY,
+ _COLEMAK,
+ _DVORAK,
+ _LOWER,
+ _RAISE,
+ _ADJUST
+};
enum custom_keycodes {
QWERTY = SAFE_RANGE,
M keyboards/keebio/nyquist/keymaps/default/keymap.c => keyboards/keebio/nyquist/keymaps/default/keymap.c +8 -6
@@ 5,12 5,14 @@
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
// Layer names don't all need to be of the same length, obviously, and you can also skip them
// entirely and just use numbers.
-#define _QWERTY 0
-#define _COLEMAK 1
-#define _DVORAK 2
-#define _LOWER 3
-#define _RAISE 4
-#define _ADJUST 16
+enum layer_names {
+ _QWERTY,
+ _COLEMAK,
+ _DVORAK,
+ _LOWER,
+ _RAISE,
+ _ADJUST
+};
enum custom_keycodes {
QWERTY = SAFE_RANGE,
M keyboards/keebio/rorschach/keymaps/default/keymap.c => keyboards/keebio/rorschach/keymaps/default/keymap.c +6 -4
@@ 1,10 1,12 @@
#include QMK_KEYBOARD_H
-#define _QWERTY 0
-#define _LOWER 1
-#define _RAISE 2
-#define _ADJUST 16
+enum layer_names {
+ _QWERTY,
+ _LOWER,
+ _RAISE,
+ _ADJUST
+};
#define LOWER MO(_LOWER)
#define RAISE MO(_RAISE)
M keyboards/keebio/viterbi/keymaps/default/keymap.c => keyboards/keebio/viterbi/keymaps/default/keymap.c +6 -4
@@ 5,10 5,12 @@
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
// Layer names don't all need to be of the same length, obviously, and you can also skip them
// entirely and just use numbers.
-#define _QWERTY 0
-#define _LOWER 1
-#define _RAISE 2
-#define _ADJUST 16
+enum layer_names {
+ _QWERTY,
+ _LOWER,
+ _RAISE,
+ _ADJUST
+};
enum custom_keycodes {
QWERTY = SAFE_RANGE,
M keyboards/keebio/wavelet/keymaps/default/keymap.c => keyboards/keebio/wavelet/keymaps/default/keymap.c +8 -6
@@ 5,12 5,14 @@
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
// Layer names don't all need to be of the same length, obviously, and you can also skip them
// entirely and just use numbers.
-#define _QWERTY 0
-#define _COLEMAK 1
-#define _DVORAK 2
-#define _LOWER 3
-#define _RAISE 4
-#define _ADJUST 16
+enum layer_names {
+ _QWERTY,
+ _COLEMAK,
+ _DVORAK,
+ _LOWER,
+ _RAISE,
+ _ADJUST
+};
enum custom_keycodes {
QWERTY = SAFE_RANGE,
M keyboards/lets_split/keymaps/default/keymap.c => keyboards/lets_split/keymaps/default/keymap.c +8 -6
@@ 4,12 4,14 @@
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
// Layer names don't all need to be of the same length, obviously, and you can also skip them
// entirely and just use numbers.
-#define _QWERTY 0
-#define _COLEMAK 1
-#define _DVORAK 2
-#define _LOWER 3
-#define _RAISE 4
-#define _ADJUST 16
+enum layer_names {
+ _QWERTY,
+ _COLEMAK,
+ _DVORAK,
+ _LOWER,
+ _RAISE,
+ _ADJUST
+};
enum custom_keycodes {
QWERTY = SAFE_RANGE,
M keyboards/maple_computing/launchpad/keymaps/default/keymap.c => keyboards/maple_computing/launchpad/keymaps/default/keymap.c +4 -3
@@ 6,9 6,10 @@
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
// Layer names don't all need to be of the same length, obviously, and you can also skip them
// entirely and just use numbers.
-#define _QWERTY 0
-
-#define _FUNC 15
+enum layer_names {
+ _QWERTY,
+ _FUNC
+};
// Defines for task manager and such
#define CALTDEL LCTL(LALT(KC_DEL))
M keyboards/maple_computing/launchpad/keymaps/default_rgb/keymap.c => keyboards/maple_computing/launchpad/keymaps/default_rgb/keymap.c +5 -3
@@ 7,9 7,11 @@ extern keymap_config_t keymap_config;
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
// Layer names don't all need to be of the same length, obviously, and you can also skip them
// entirely and just use numbers.
-#define _QWERTY 0
-#define _RGB 1
-#define _FUNC 15
+enum layer_names {
+ _QWERTY,
+ _RGB,
+ _FUNC
+};
// Defines for task manager and such
#define CALTDEL LCTL(LALT(KC_DEL))
M keyboards/maple_computing/minidox/keymaps/default/keymap.c => keyboards/maple_computing/minidox/keymaps/default/keymap.c +6 -4
@@ 5,10 5,12 @@
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
// Layer names don't all need to be of the same length, obviously, and you can also skip them
// entirely and just use numbers.
-#define _QWERTY 0
-#define _LOWER 1
-#define _RAISE 2
-#define _ADJUST 16
+enum layer_names {
+ _QWERTY,
+ _LOWER,
+ _RAISE,
+ _ADJUST
+};
enum custom_keycodes {
QWERTY = SAFE_RANGE,
M keyboards/miniaxe/keymaps/default/keymap.c => keyboards/miniaxe/keymaps/default/keymap.c +6 -4
@@ 16,10 16,12 @@
#include QMK_KEYBOARD_H
// Defines the keycodes used by our macros in process_record_user
-#define _QWERTY 0
-#define _LOWER 1
-#define _RAISE 2
-#define _ADJUST 16
+enum layer_names {
+ _QWERTY,
+ _LOWER,
+ _RAISE,
+ _ADJUST
+};
enum custom_keycodes {
QWERTY = SAFE_RANGE,
M keyboards/miniaxe/keymaps/underglow/keymap.c => keyboards/miniaxe/keymaps/underglow/keymap.c +6 -4
@@ 16,10 16,12 @@
#include QMK_KEYBOARD_H
// Defines the keycodes used by our macros in process_record_user
-#define _QWERTY 0
-#define _LOWER 1
-#define _RAISE 2
-#define _ADJUST 16
+enum layer_names {
+ _QWERTY,
+ _LOWER,
+ _RAISE,
+ _ADJUST
+};
enum custom_keycodes {
QWERTY = SAFE_RANGE,
M keyboards/omkbd/ergodash/mini/keymaps/default/keymap.c => keyboards/omkbd/ergodash/mini/keymaps/default/keymap.c +6 -4
@@ 1,10 1,12 @@
#include QMK_KEYBOARD_H
-#define _QWERTY 0
-#define _LOWER 1
-#define _RAISE 2
-#define _ADJUST 16
+enum layer_names {
+ _QWERTY,
+ _LOWER,
+ _RAISE,
+ _ADJUST
+};
enum custom_keycodes {
QWERTY = SAFE_RANGE,
M keyboards/omkbd/ergodash/rev1/keymaps/default/keymap.c => keyboards/omkbd/ergodash/rev1/keymaps/default/keymap.c +6 -4
@@ 1,10 1,12 @@
#include QMK_KEYBOARD_H
-#define _QWERTY 0
-#define _LOWER 1
-#define _RAISE 2
-#define _ADJUST 16
+enum layer_names {
+ _QWERTY,
+ _LOWER,
+ _RAISE,
+ _ADJUST
+};
enum custom_keycodes {
QWERTY = SAFE_RANGE,
M keyboards/orthodox/keymaps/default/keymap.c => keyboards/orthodox/keymaps/default/keymap.c +8 -6
@@ 25,12 25,14 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
// Layer names don't all need to be of the same length, obviously, and you can also skip them
// entirely and just use numbers.
-#define _QWERTY 0
-#define _COLEMAK 1
-#define _DVORAK 2
-#define _LOWER 3
-#define _RAISE 4
-#define _ADJUST 16
+enum layer_names {
+ _QWERTY,
+ _COLEMAK,
+ _DVORAK,
+ _LOWER,
+ _RAISE,
+ _ADJUST
+};
enum custom_keycodes {
QWERTY = SAFE_RANGE,
M keyboards/unikeyboard/divergetm2/keymaps/default/keymap.c => keyboards/unikeyboard/divergetm2/keymaps/default/keymap.c +8 -6
@@ 22,12 22,14 @@
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
// Layer names don't all need to be of the same length, obviously, and you can also skip them
// entirely and just use numbers.
-#define _QWERTY 0
-#define _COLEMAK 1
-#define _DVORAK 2
-#define _LOWER 3
-#define _RAISE 4
-#define _ADJUST 16
+enum layer_names {
+ _QWERTY,
+ _COLEMAK,
+ _DVORAK,
+ _LOWER,
+ _RAISE,
+ _ADJUST
+};
enum custom_keycodes {
QWERTY = SAFE_RANGE,
M keyboards/woodkeys/scarletbandana/keymaps/default/keymap.c => keyboards/woodkeys/scarletbandana/keymaps/default/keymap.c +8 -6
@@ 20,12 20,14 @@
extern rgblight_config_t rgblight_config;
#endif
-#define _QWERTY 0
-#define _COLEMAK 1
-#define _DVORAK 2
-#define _LOWER 3
-#define _RAISE 4
-#define _ADJUST 16
+enum layer_names {
+ _QWERTY,
+ _COLEMAK,
+ _DVORAK,
+ _LOWER,
+ _RAISE,
+ _ADJUST
+};
enum custom_keycodes {
QWERTY = SAFE_RANGE,
M quantum/keymap_introspection.c => quantum/keymap_introspection.c +2 -0
@@ 17,6 17,8 @@ uint8_t keymap_layer_count(void) {
return NUM_KEYMAP_LAYERS;
}
+_Static_assert(NUM_KEYMAP_LAYERS <= MAX_LAYER, "Number of keymap layers exceeds maximum set by LAYER_STATE_(8|16|32)BIT");
+
#if defined(ENCODER_ENABLE) && defined(ENCODER_MAP_ENABLE)
# define NUM_ENCODERMAP_LAYERS ((uint8_t)(sizeof(encoder_map) / ((NUM_ENCODERS) * (2) * sizeof(uint16_t))))