/* Function layer: http://www.keyboard-layout-editor.com/#/gists/f29128427f674c43777f045e363d1b44 */
[LAYER_FUNCTION] = LAYOUT(
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, \
- _______, KC_MPLY, KC_VOLU, KC_MSTP, _______, _______, EEP_RST, _______, _______, KC_INS, KC_PSCR, KC_SLCK, KC_PAUS, KC_DEL, _______, \
+ _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL, _______, \
+ _______, KC_MPLY, KC_VOLU, KC_MSTP, _______, _______, EEP_RST, _______, KC_PSCR, KC_SLCK, KC_PAUS, _______, _______, _______, _______, \
KC_CAPS, KC_MPRV, KC_VOLD, KC_MNXT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
_______, _______, KC_MUTE, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
_______, _______, _______, _______, KC_APP, _______, _______, _______, _______ \
## Function layer
-![Function layer layout](https://i.imgur.com/K5Z5qbw.png)
+![Function layer layout](https://i.imgur.com/KScatX6.png)
--- /dev/null
+#include QMK_KEYBOARD_H
+
+enum layer {
+ LAYER_FIRST,
+ LAYER_SECOND,
+};
+
+/* Switch to second layer when held. */
+#define LY_SECND MO(LAYER_SECOND)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /* First layer (F1-F6) */
+ [LAYER_FIRST] = LAYOUT(
+ KC_MUTE, LY_SECND, BL_TOGG, \
+ KC_F4, KC_F5, KC_F6, \
+ KC_F1, KC_F2, KC_F3 \
+ ),
+
+ /* Second layer (F7-F12) */
+ [LAYER_SECOND] = LAYOUT(
+ _______, _______, _______, \
+ KC_F10, KC_F11, KC_F12, \
+ KC_F7, KC_F8, KC_F9 \
+ ),
+};
+
+void encoder_update_user(uint8_t index, bool clockwise) {
+ switch (index) {
+ /* Top-left encoder (volume): */
+ case 0:
+ tap_code(clockwise ? KC_VOLU : KC_VOLD);
+ break;
+
+ /* Top-right encoder (backlight brightness): */
+ case 1:
+ if (clockwise) {
+ backlight_increase();
+ } else {
+ backlight_decrease();
+ }
+ break;
+ }
+}
--- /dev/null
+# bcat's BDN9 layout
+
+This is a simple macropad with seven keys and two rotary encoders. We use one
+encoder for volume and the other for backlight brightness. Six of the keys are
+F keys (for gaming, since I use keyboards without function keys normally), with
+the remaining key a layer toggle that switches the function keys between F1-F6
+and F7-F12.
/* Function layer: http://www.keyboard-layout-editor.com/#/gists/59636898946da51f91fb290f8e078b4d */
[LAYER_FUNCTION] = LAYOUT_65(
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, RGB_HUI, \
- _______, KC_MPLY, KC_VOLU, KC_MSTP, _______, _______, EEP_RST, _______, _______, KC_INS, KC_PSCR, KC_SLCK, KC_PAUS, KC_DEL, RGB_SAI, \
+ _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL, RGB_HUI, \
+ _______, KC_MPLY, KC_VOLU, KC_MSTP, _______, _______, EEP_RST, _______, KC_PSCR, KC_SLCK, KC_PAUS, _______, _______, _______, RGB_SAI, \
KC_CAPS, KC_MPRV, KC_VOLD, KC_MNXT, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_SAD, \
_______, _______, KC_MUTE, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, RGB_HUD, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_RMOD, RGB_VAD, RGB_MOD \
## Function layer
-![Function layer layout](https://i.imgur.com/Hu5wNpl.png)
+![Function layer layout](https://i.imgur.com/ISklbfF.png)
## Mouse layer
+BOOTLOADER = atmel-dfu # Elite-C
+
MOUSEKEY_ENABLE = yes