Forráskód Böngészése

update pvinis keymap (#8746)

* update a bunch of stuff

Better rules, better config, added encoders, lights, audio.

* some fmt

* more fmt
Pavlos Vinieratos 5 éve
szülő
commit
f6b40da7f8

+ 211 - 200
keyboards/ergodox_ez/keymaps/pvinis/keymap.c

@@ -1,38 +1,36 @@
 // pvinis ergodox ez
-// ,------------------------------------.          ,------------------------------------.
-// |      |    |    |    |    |    |    |          |    |    |    |    |    |    |      |
-// |------+----+----+----+----+---------|          |----+----+----+----+----+----+------|
-// |      |    |    |    |    |    |    |          |    |    |    |    |    |    |      |
-// |------+----+----+----x----x----|    |          |    |----x----x----+----+----+------|
-// |      |    |    |    |    |    |----|          |----|    |    |    |    |    |      |
-// |------+----+----+----x----x----|    |          |    |----x----x----+----+----+------|
-// |      |    |    |    |    |    |    |          |    |    |    |    |    |    |      |
-// `------+----+----+----+----+---------'          `---------+----+----+----+----+------'
-//   |    |    |    |    |    |                              |    |    |    |    |    |
-//   `------------------------'                              `------------------------'
-//                              ,---------.      ,---------.
-//                              |    |    |      |    |    |
-//                         ,----+----+----|      |----+----+----.
-//                         |    |    |    |      |    |    |    |
-//                         |    |    |----|      |----|    |    |
-//                         |    |    |    |      |    |    |    |
-//                         `--------------'      `--------------'
-
+// ,------------------------------------.          ┌────┬────┬────┬────┬────┬────┬──────┐
+// |      |    |    |    |    |    |    |          │    │    │    │    │    │    │      │
+// |------+----+----+----+----+---------|          ├────┼────┼────┼────┼────┼────┼──────┤
+// |      |    |    |    |    |    |    |          │    │    │    │    │    │    │      │
+// |------+----+----+----x----x----|    |          │    ├────╆━━━━╅────┼────┼────┼──────┤
+// |      |    |    |    |    |    |----|          ├────┤    ┃    ┃    │    │    │      │
+// |------+----+----+----x----x----|    |          │    ├────╄━━━━╃────┼────┼────┼──────┤
+// |      |    |    |    |    |    |    |          │    │    │    │    │    │    │      │
+// `------+----+----+----+----+---------'          └────┴────┼────┼────┼────┼────┼────┬─┘
+//   |    |    |    |    |    |                              │    │    │    │    │    │
+//   `------------------------'                              └────┴────┴────┴────┴────┘
+//                              ,---------.      ┌────┬────┐
+//                              |    |    |      │    │    │
+//                         ,----+----+----|      ├────┼────┼────┐
+//                         |    |    |    |      │    │    │    │
+//                         |    |    |----|      ├────┤    │    │
+//                         |    |    |    |      │    │    │    │
+//                         `--------------'      └────┴────┴────┘
 
 #include QMK_KEYBOARD_H
 #include "pvinis.h"
 #include "mousekey.h"
 
-
 // layers
 enum {
-  MOUSE = 8,
+    MOUSE = 8,
 };
 
 // extra keys
 enum {
-  NONE = 30,
-  TD_LAYR, // SYSCTL and MOUSE layer switch
+    NONE = 30,
+    TD_LAYR,  // SYSCTL and MOUSE layer switch
 };
 
 // application selection
@@ -41,158 +39,170 @@ enum {
 #define AP_XCOD ALLM(KC_X)
 #define AP_MSGR ALLM(KC_M)
 
-
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-  // ,------------------------------------.          ,------------------------------------.
-  // |4xFLSH|    |    |    |    |    |Opt |          |    |    |    |    |    |    |      |
-  // |------+----+----+----+----+---------|          |----+----+----+----+----+----+------|
-  // | Tab  |    |    |    |    |    |    |          |    |    |    |    |    |    |      |
-  // |------+----+----+----x----x----|    |          |    |----x----x----+----+----+------|
-  // |EscCtl|    |    |    |    |    |----|          |----|    |    |    |    |    | Ent  |
-  // |------+----+----+----x----x----|    |          |    |----x----x----+----+----+------|
-  // |LShift|    |    |    |    |    |    |          |    |    |    |    |    |    |RShift|
-  // `------+----+----+----+----+---------'          `---------+----+----+----+----+------'
-  //   |    |    |    |    |Cmd |                              |    |    |    |    |    |
-  //   `------------------------'                              `------------------------'
-  //                              ,---------.      ,---------.
-  //                              |QWER|    |      |    |    |
-  //                         ,----+----+----|      |----+----+----.
-  //                         | Ba | L  |    |      |    |    |    |
-  //                         | ck |Shi |----|      |----|    |Spc |
-  //                         | spc| ft |    |      |    |    |    |
-  //                         `--------------'      `--------------'
-  [LR_BASE] = LAYOUT_ergodox_pretty_wrapper(
-    TD_3FLS, _______, _______, _______, _______, _______, KC_LALT,      _______, _______, _______, _______, _______, _______, _______,
-    KC_TAB , _______, _______, _______, _______, _______, _______,      _______, _______, _______, _______, _______, _______, _______,
-    PV_ESCC, _______, _______, _______, _______, _______,                        _______, _______, _______, _______, _______, KC_ENT ,
-    KC_LSFT, _______, _______, _______, _______, _______, _______,      _______, _______, _______, _______, _______, _______, KC_RSFT,
-    _______, _______, _______, KC_LGUI, SYMBOL ,                                          SYSCTL , KC_RALT, _______, _______, _______,
-                                                 QWERTY , CARPALX,      _______, _______,
-                                                          _______,      _______,
-                                        KC_BSPC, _______, _______,      _______, _______, KC_SPC
-  ),
+    // ,------------------------------------.          ,------------------------------------.
+    // |4xFLSH|    |    |    |    |    |Opt |          |    |    |    |    |    |    |      |
+    // |------+----+----+----+----+---------|          |----+----+----+----+----+----+------|
+    // | Tab  |    |    |    |    |    |    |          |    |    |    |    |    |    |      |
+    // |------+----+----+----x----x----|    |          |    |----x----x----+----+----+------|
+    // |EscCtl|    |    |    |    |    |----|          |----|    |    |    |    |    | Ent  |
+    // |------+----+----+----x----x----|    |          |    |----x----x----+----+----+------|
+    // |LShift|    |    |    |    |    |    |          |    |    |    |    |    |    |RShift|
+    // `------+----+----+----+----+---------'          `---------+----+----+----+----+------'
+    //   |    |    |    |Cmd |LOWR|                              |RASE|RAlt|    |    |    |
+    //   `------------------------'                              `------------------------'
+    //                              ,---------.      ,---------.
+    //                              |QWER|    |      |    |    |
+    //                         ,----+----+----|      |----+----+----.
+    //                         | Ba | L  |    |      |    |    |    |
+    //                         | ck |Shi |----|      |----|    |Spc |
+    //                         | spc| ft |    |      |    |    |    |
+    //                         `--------------'      `--------------'
+    [LR_BASE] = LAYOUT_ergodox_pretty_wrapper(
+        // clang-format off
+        TD_3FLS, _______, _______, _______, _______, _______, KC_LALT,      _______, _______, _______, _______, _______, _______, _______,
+        KC_TAB , _______, _______, _______, _______, _______, _______,      _______, _______, _______, _______, _______, _______, _______,
+        PV_ESCC, _______, _______, _______, _______, _______,                        _______, _______, _______, _______, _______, KC_ENT ,
+        KC_LSFT, _______, _______, _______, _______, _______, _______,      _______, _______, _______, _______, _______, _______, KC_RSFT,
+        _______, _______, _______, KC_LGUI, SYMBOL ,                                          SYSCTL , KC_RALT, _______, _______, _______,
+                                                     QWERTY , CARPALX,      _______, _______,
+                                                              _______,      _______,
+                                            KC_BSPC, _______, _______,      _______, _______, KC_SPC
+        // clang-format on
+        ),
 
-  // ,------------------------------------.          ,------------------------------------.
-  // |      |        NUMBERS_L       |    |          |  - |        NUMBERS_R       |  =   |
-  // |------+----+----+----+----+---------|          |----+----+----+----+----+----+------|
-  // |      |                        |  [ |          | ]  |                        |      |
-  // |------+                        |    |          |    |                        +------|
-  // |      |         QWERTY_L       |----|          |----|         QWERTY_R       |      |
-  // |------+                        |  ( |          | )  |                        +------|
-  // |      |                        |    |          |    |                        |      |
-  // `------+----+----+----+----+---------'          `---------+----+----+----+----+------'
-  //   |    | `  |    |    |    |                              |    |    |    |  ' |    |
-  //   `------------------------'                              `------------------------'
-  //                              ,---------.      ,---------.
-  //                              |    |    |      |    |    |
-  //                         ,----+----+----|      |----+----+----.
-  //                         |    |    |    |      |    |    |    |
-  //                         |    |    |----|      |----|    |    |
-  //                         |    |    |    |      |    |    |    |
-  //                         `--------------'      `--------------'
-  // See `users/pvinis/pvinis.h`
-  [LR_QWERTY] = LAYOUT_ergodox_pretty_wrapper(
-    _______, ________________NUMBERS_L__________________, _______,      KC_MINS, ________________NUMBERS_R__________________, KC_EQL ,
-    _______, _________________QWERTY_L1_________________, KC_LBRC,      KC_RBRC, _________________QWERTY_R1_________________, _______,
-    _______, _____________MOD_QWERTY_L2_________________,                        _____________MOD_QWERTY_R2_________________, _______,
-    _______, _________________QWERTY_L3_________________, KC_LPRN,      KC_RPRN, _________________QWERTY_R3_________________, _______,
-    _______, KC_GRV, _______, _______, _______,                                          _______, _______, _______, KC_QUOT , _______,
-                                                 _______, _______,      _______, _______,
-                                                          _______,      _______,
-                                        _______, _______, _______,      _______, _______, _______
+    // ,------------------------------------.          ,------------------------------------.
+    // |      |        NUMBERS_L       |    |          |  - |        NUMBERS_R       |  =   |
+    // |------+----+----+----+----+---------|          |----+----+----+----+----+----+------|
+    // |      |                        |  [ |          | ]  |                        |      |
+    // |------+                        |    |          |    |                        +------|
+    // |      |         QWERTY_L       |----|          |----|         QWERTY_R       |      |
+    // |------+                        |  ( |          | )  |                        +------|
+    // |      |                        |    |          |    |                        |      |
+    // `------+----+----+----+----+---------'          `---------+----+----+----+----+------'
+    //   |    | `  |    |    |    |                              |    |    |    |  ' |    |
+    //   `------------------------'                              `------------------------'
+    //                              ,---------.      ,---------.
+    //                              |    |    |      |    |    |
+    //                         ,----+----+----|      |----+----+----.
+    //                         |    |    |    |      |    |    |    |
+    //                         |    |    |----|      |----|    |    |
+    //                         |    |    |    |      |    |    |    |
+    //                         `--------------'      `--------------'
+    // See `users/pvinis/pvinis.h`
+    [LR_QWERTY] = LAYOUT_ergodox_pretty_wrapper(
+        // clang-format off
+        _______, ________________NUMBERS_L__________________, _______,      KC_MINS, ________________NUMBERS_R__________________, KC_EQL ,
+        _______, _________________QWERTY_L1_________________, KC_LBRC,      KC_RBRC, _________________QWERTY_R1_________________, _______,
+        _______, _____________MOD_QWERTY_L2_________________,                        _____________MOD_QWERTY_R2_________________, _______,
+        _______, _________________QWERTY_L3_________________, KC_LPRN,      KC_RPRN, _________________QWERTY_R3_________________, _______,
+        _______, KC_GRV, _______, _______, _______,                                          _______, _______, _______, KC_QUOT , _______,
+                                                     _______, _______,      _______, _______,
+                                                              _______,      _______,
+                                            _______, _______, _______,      _______, _______, _______
+    // clang-format off
   ),
 
-  // ,------------------------------------.          ,------------------------------------.
-  // |      |        NUMBERS_L       |    |          |    |        NUMBERS_R       |      |
-  // |------+----+----+----+----+---------|          |----+----+----+----+----+----+------|
-  // |      |                        |    |          |    |                        |      |
-  // |------+                        |    |          |    |                        +------|
-  // |      |        CARPALX_L       |----|          |----|        CARPALX_R       |      |
-  // |------+                        |    |          |    |                        +------|
-  // |      |                        |    |          |    |                        |      |
-  // `------+----+----+----+----+---------'          `---------+----+----+----+----+------'
-  //   |    |    |    |    |    |                              |    |    |    |    |    |
-  //   `------------------------'                              `------------------------'
-  //                              ,---------.      ,---------.
-  //                              |    |    |      |    |    |
-  //                         ,----+----+----|      |----+----+----.
-  //                         |    |    |    |      |    |    |    |
-  //                         |    |    |----|      |----|    |    |
-  //                         |    |    |    |      |    |    |    |
-  //                         `--------------'      `--------------'
-  // See `users/pvinis/pvinis.h`
+    // ,------------------------------------.          ,------------------------------------.
+    // |      |        NUMBERS_L       |    |          |    |        NUMBERS_R       |      |
+    // |------+----+----+----+----+---------|          |----+----+----+----+----+----+------|
+    // |      |                        |    |          |    |                        |      |
+    // |------+                        |    |          |    |                        +------|
+    // |      |        CARPALX_L       |----|          |----|        CARPALX_R       |      |
+    // |------+                        |    |          |    |                        +------|
+    // |      |                        |    |          |    |                        |      |
+    // `------+----+----+----+----+---------'          `---------+----+----+----+----+------'
+    //   |    |    |    |    |    |                              |    |    |    |    |    |
+    //   `------------------------'                              `------------------------'
+    //                              ,---------.      ,---------.
+    //                              |    |    |      |    |    |
+    //                         ,----+----+----|      |----+----+----.
+    //                         |    |    |    |      |    |    |    |
+    //                         |    |    |----|      |----|    |    |
+    //                         |    |    |    |      |    |    |    |
+    //                         `--------------'      `--------------'
+    // See `users/pvinis/pvinis.h`
   [LR_CARPALX] = LAYOUT_ergodox_pretty_wrapper(
-    _______, ________________NUMBERS_L__________________, _______,      _______, ________________NUMBERS_R__________________, _______,
-    _______, ________________CARPALX_L1_________________, _______,      _______, ________________CARPALX_R1_________________, _______,
-    _______, ________________CARPALX_L2_________________,                        ________________CARPALX_R2_________________, _______,
-    _______, ________________CARPALX_L3_________________, _______,      _______, ________________CARPALX_R3_________________, _______,
-    _______, _______, _______, _______, _______,                                          _______, _______, _______, _______, _______,
-                                                 _______, _______,      _______, _______,
-                                                          _______,      _______,
-                                        _______, _______, _______,      _______, _______, _______
-  ),
+        // clang-format off
+        _______, ________________NUMBERS_L__________________, _______,      _______, ________________NUMBERS_R__________________, _______,
+        _______, ________________CARPALX_L1_________________, _______,      _______, ________________CARPALX_R1_________________, _______,
+        _______, ________________CARPALX_L2_________________,                        ________________CARPALX_R2_________________, _______,
+        _______, ________________CARPALX_L3_________________, _______,      _______, ________________CARPALX_R3_________________, _______,
+        _______, _______, _______, _______, _______,                                          _______, _______, _______, _______, _______,
+                                                     _______, _______,      _______, _______,
+                                                              _______,      _______,
+                                            _______, _______, _______,      _______, _______, _______
+        // clang-format on
+        ),
 
-  // See `users/pvinis/pvinis.h`
-  [LR_SYMBOL] = LAYOUT_ergodox_pretty_wrapper(
-    _______, ______________________F_L__________________, KC_F11 ,      KC_F12 , ______________________F_R__________________, _______,
-    _______, _________________SYMBOL_L1_________________, _______,      _______, _________________SYMBOL_R1_________________, _______,
-    _______, _________________SYMBOL_L2_________________,                        _________________SYMBOL_R2_________________, _______,
-    _______, _________________SYMBOL_L3_________________, _______,      _______, _________________SYMBOL_R3_________________, _______,
-    _______, _______, _______, _______, _______,                                          _______, _______, _______, _______, _______,
-                                                 _______, _______,      _______, _______,
-                                                          _______,      _______,
-                                        _______, _______, _______,      _______, _______, _______
+    // See `users/pvinis/pvinis.h`
+    [LR_SYMBOL] = LAYOUT_ergodox_pretty_wrapper(
+        // clang-format off
+        _______, ______________________F_L__________________, KC_F11 ,      KC_F12 , ______________________F_R__________________, _______,
+        _______, _________________SYMBOL_L1_________________, _______,      _______, _________________SYMBOL_R1_________________, _______,
+        _______, _________________SYMBOL_L2_________________,                        _________________SYMBOL_R2_________________, _______,
+        _______, _________________SYMBOL_L3_________________, _______,      _______, _________________SYMBOL_R3_________________, _______,
+        _______, _______, _______, _______, _______,                                          _______, _______, _______, _______, _______,
+                                                     _______, _______,      _______, _______,
+                                                              _______,      _______,
+                                            _______, _______, _______,      _______, _______, _______
+        // clang-format off
   ),
 
-  // See `users/pvinis/pvinis.h`
+    // See `users/pvinis/pvinis.h`
   [LR_SYSCTL] = LAYOUT_ergodox_pretty_wrapper(
-    _______, _______, _______, _______, _______, _______, _______,      _______, _______, _______, _______, _______, _______, _______,
-    _______, _______, _______, _______, _______, _______, _______,      _______, _________________SYSCTL_R1_________________, _______,
-    _______, _______, _______, _______, _______, _______,                        _________________SYSCTL_R2_________________, _______,
-    _______, _______, _______, _______, _______, _______, _______,      _______, _________________SYSCTL_R3_________________, _______,
-    _______, _______, _______, _______, _______,                                          _______, _______, _______, _______, _______,
+        // clang-format off
+        _______, _______, _______, _______, _______, _______, _______,      _______, _______, _______, _______, _______, _______, _______,
+        _______, _______, _______, _______, _______, _______, _______,      _______, _________________SYSCTL_R1_________________, _______,
+        _______, _______, _______, _______, _______, _______,                        _________________SYSCTL_R2_________________, _______,
+        _______, _______, _______, _______, _______, _______, _______,      _______, _________________SYSCTL_R3_________________, _______,
+        _______, _______, _______, _______, _______,                                          _______, _______, _______, _______, _______,
 
-                                                 _______, _______,      _______, _______,
-                                                          _______,      _______,
-                                        _______, _______, _______,      _______, _______, _______
-  ),
+                                                     _______, _______,      _______, _______,
+                                                              _______,      _______,
+                                            _______, _______, _______,      _______, _______, _______
+        // clang-format on
+        ),
 
-  // See `users/pvinis/pvinis.h`
-  [LR_KBCTL] = LAYOUT_ergodox_pretty_wrapper(
-    XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,      XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
-    XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,      XXXXXXX, __________________KBCTL_R1_________________, XXXXXXX,
-    XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,                        __________________KBCTL_R2_________________, XXXXXXX,
-    XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,      XXXXXXX, __________________KBCTL_R3_________________, XXXXXXX,
-    XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______,                                          _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+    // See `users/pvinis/pvinis.h`
+    [LR_KBCTL] = LAYOUT_ergodox_pretty_wrapper(
+        // clang-format off
+        XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,      XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+        XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,      XXXXXXX, __________________KBCTL_R1_________________, XXXXXXX,
+        XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,                        __________________KBCTL_R2_________________, XXXXXXX,
+        XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,      XXXXXXX, __________________KBCTL_R3_________________, XXXXXXX,
+        XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______,                                          _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
 
-                                                 XXXXXXX, XXXXXXX,      XXXXXXX, XXXXXXX,
-                                                          XXXXXXX,      XXXXXXX,
-                                        XXXXXXX, XXXXXXX, XXXXXXX,      XXXXXXX, XXXXXXX, XXXXXXX
-  ),
+                                                     XXXXXXX, XXXXXXX,      XXXXXXX, XXXXXXX,
+                                                              XXXXXXX,      XXXXXXX,
+                                            XXXXXXX, XXXXXXX, XXXXXXX,      XXXXXXX, XXXXXXX, XXXXXXX
+        // clang-format on
+        ),
 
-/* MOUSE
- * a keymap to control my system.
- *
- * ,--------------------------------------------------.           ,--------------------------------------------------.
- * |   ^    |      |      |      |      |      |      |           |      |      |      |      |      |      |        |
- * |--------+------+------+------+------+-------------|           |------+------+------+------+------+------+--------|
- * |        |      |      |      |      |      |      |           |      |      |      | MsUp |      |      |        |
- * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
- * |        |      |      |      |      |      |------|           |------|      |MsLeft| MsDn |MsRght|      |        |
- * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
- * |        |      |      |      |      |      |      |           |      |      |      |      |      |      |        |
- * `--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------'
- *   |      |      |      |      |      |                                       |      |      |      |      |      |
- *   `----------------------------------'                                       `----------------------------------'
- *                                        ,-------------.       ,-------------.
- *                                        |      |      |       |      |MidClk|
- *                                 ,------|------|------|       |------+------+------.
- *                                 |      |      |      |       |      |Left  |Right |
- *                                 |      |      |------|       |------| Click| Click|
- *                                 |      |      |  ^   |       |      |      |      |
- *                                 `--------------------'       `--------------------'
- */
-  [MOUSE] = LAYOUT_ergodox_pretty(
+    /* MOUSE
+     * a keymap to control my system.
+     *
+     * ,--------------------------------------------------.           ,--------------------------------------------------.
+     * |   ^    |      |      |      |      |      |      |           |      |      |      |      |      |      |        |
+     * |--------+------+------+------+------+-------------|           |------+------+------+------+------+------+--------|
+     * |        |      |      |      |      |      |      |           |      |      |      | MsUp |      |      |        |
+     * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
+     * |        |      |      |      |      |      |------|           |------|      |MsLeft| MsDn |MsRght|      |        |
+     * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
+     * |        |      |      |      |      |      |      |           |      |      |      |      |      |      |        |
+     * `--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------'
+     *   |      |      |      |      |      |                                       |      |      |      |      |      |
+     *   `----------------------------------'                                       `----------------------------------'
+     *                                        ,-------------.       ,-------------.
+     *                                        |      |      |       |      |MidClk|
+     *                                 ,------|------|------|       |------+------+------.
+     *                                 |      |      |      |       |      |Left  |Right |
+     *                                 |      |      |------|       |------| Click| Click|
+     *                                 |      |      |  ^   |       |      |      |      |
+     *                                 `--------------------'       `--------------------'
+     */
+    [MOUSE] = LAYOUT_ergodox_pretty(
+        // clang-format off
    KC_TRNS    ,KC_NO  ,KC_NO  ,KC_NO  ,KC_NO  ,KC_NO    ,KC_NO
   ,KC_NO      ,KC_NO  ,KC_NO  ,KC_NO  ,KC_NO  ,KC_NO    ,KC_NO
   ,KC_NO      ,KC_NO  ,KC_NO  ,KC_NO  ,KC_NO  ,KC_NO
@@ -212,53 +222,54 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
             ,KC_NO  ,KC_NO
             ,KC_NO
             ,KC_NO  ,KC_NO  ,KC_NO
-  ),
+        // clang-format on
+        ),
 };
 
-
 // keyboard initialization
-void keyboard_post_init_user_local(void) {
-  ergodox_led_all_on();
-  for (int i = LED_BRIGHTNESS_HI; i > LED_BRIGHTNESS_LO; i--) {
-    ergodox_led_all_set(i);
-    wait_ms(5);
-  }
-  wait_ms(1000);
-  for (int i = LED_BRIGHTNESS_LO; i > 0; i--) {
-    ergodox_led_all_set(i);
-    wait_ms(10);
-  }
-  ergodox_led_all_off();
+void keyboard_post_init_user_keymap(void) {
+    ergodox_led_all_on();
+    for (int i = LED_BRIGHTNESS_HI; i > LED_BRIGHTNESS_LO; i--) {
+        ergodox_led_all_set(i);
+        wait_ms(5);
+    }
+    wait_ms(1000);
+    for (int i = LED_BRIGHTNESS_LO; i > 0; i--) {
+        ergodox_led_all_set(i);
+        wait_ms(10);
+    }
+    ergodox_led_all_off();
 
-  // restore default brightness for future use
-  ergodox_led_all_set(LED_BRIGHTNESS_HI);
+    // restore default brightness for future use
+    ergodox_led_all_set(LED_BRIGHTNESS_HI);
 }
 
 // light up leds based on the layer
-uint32_t layer_state_set_user_local(uint32_t state) {
-  ergodox_right_led_1_off();
-  ergodox_right_led_2_off();
-  ergodox_right_led_3_off();
-  switch (biton32(state)) {
-  case LR_SYSCTL:
-    ergodox_right_led_3_on(); // blue
-    break;
-  case LR_KBCTL:
-    ergodox_right_led_1_on(); // red
-    break;
-  case LR_SYMBOL:
-    ergodox_right_led_2_on(); // green
-    break;
-  default: break;
-  }
-  return state;
+uint32_t layer_state_set_user_keymap(uint32_t state) {
+    ergodox_right_led_1_off();
+    ergodox_right_led_2_off();
+    ergodox_right_led_3_off();
+    switch (biton32(state)) {
+        case LR_SYSCTL:
+            ergodox_right_led_3_on();  // blue
+            break;
+        case LR_KBCTL:
+            ergodox_right_led_1_on();  // red
+            break;
+        case LR_SYMBOL:
+            ergodox_right_led_2_on();  // green
+            break;
+        default:
+            break;
+    }
+    return state;
 }
 
 // extra keys
 // const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
-  // switch (id) {
-  // }
-  // return MACRO_NONE;
+// switch (id) {
+// }
+// return MACRO_NONE;
 // }
 
 // tap dances
@@ -325,6 +336,6 @@ uint32_t layer_state_set_user_local(uint32_t state) {
 // }
 
 // qk_tap_dance_action_t tap_dance_actions[] = {
-  // [TD_FLSH] = ACTION_TAP_DANCE_FN_ADVANCED( flash_each_tap, flash_dance_finished, flash_dance_reset ),
-  // [TD_LAYR] = ACTION_TAP_DANCE_FN_ADVANCED( NULL, layers_dance_finished, NULL ),
+// [TD_FLSH] = ACTION_TAP_DANCE_FN_ADVANCED( flash_each_tap, flash_dance_finished, flash_dance_reset ),
+// [TD_LAYR] = ACTION_TAP_DANCE_FN_ADVANCED( NULL, layers_dance_finished, NULL ),
 // };

+ 24 - 12
keyboards/keebio/iris/keymaps/pvinis/config.h

@@ -1,24 +1,36 @@
 #pragma once
 
-
 #ifdef PRODUCT
-  #undef PRODUCT
-  #define PRODUCT Iris Keyboard - pvinis
+#    undef PRODUCT
+#    define PRODUCT Iris Keyboard - pvinis
 #endif
 
-
-// Use I2C or Serial, not both
+// Use I2C or Serial, not both.
 #define USE_SERIAL
 // #define USE_I2C
 
-
-// Select hand configuration
-#define MASTER_LEFT
-// #define MASTER_RIGHT
+// Select hand configuration.
+// #define MASTER_LEFT
+#define MASTER_RIGHT
 // #define EE_HANDS
 
-
-// choose pin to use for audio. c6 is the one iris uses.
+// Choose pin to use for audio. C6 is the one iris uses.
 #ifdef AUDIO_ENABLE
-  #define C6_AUDIO
+#    define C6_AUDIO
+#    define STARTUP_SONG SONG(NO_SOUND)  // No startup song.
+#endif
+
+#ifdef RGBLIGHT_ENABLE
+#    undef RGBLED_NUM
+#    define RGBLED_NUM 16
+#endif
+
+#ifdef ENCODER_ENABLE
+#    define ENCODERS_PAD_A \
+        { F5 }  // I connected the encoder to F4 and F5.
+#    define ENCODERS_PAD_B \
+        { F4 }
+//   #define ENCODERS_PAD_A_RIGHT { B5 }
+//   #define ENCODERS_PAD_B_RIGHT { C6 }
+#    define ENCODER_RESOLUTION 2
 #endif

+ 172 - 95
keyboards/keebio/iris/keymaps/pvinis/keymap.c

@@ -1,16 +1,16 @@
 // pvinis iris
-// ,-----------------------------.              ,-----------------------------.
-// |    |    |    |    |    |    |              |    |    |    |    |    |    |
-// |----+----+----+----+----+----|              |----+----+----+----+----+----|
-// |    |    |    |    |    |    |              |    |    |    |    |    |    |
-// |----+----+----+----x----x----|              |----x----x----+----+----+----|
-// |    |    |    |    |    |    |              |    |    |    |    |    |    |
-// |----+----+----+----x----x----+----.    ,----|----x----x----+----+----+----|
-// |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
-// `-------------------+----+----+----/    \----+----+----+-------------------'
-//                    |    |    |    |      |    |    |    |
-//                    `----+---------'      `--------------'
-
+// make keebio/iris/rev2:pvinis:avrdude
+// ,-----------------------------.              ┌────┬────┬────┬────┬────┬────┐
+// |    |    |    |    |    |    |              │    │    │    │    │    │    │
+// |----+----+----+----+----+----|              ├────┼────┼────┼────┼────┼────┤
+// |    |    |    |    |    |    |              │    │    │    │    │    │    │
+// |----+----+----+----x----x----|              ├────╆━━━━╅────┼────┼────┼────┤
+// |    |    |    |    |    |    |              │    ┃    ┃    │    │    │    │
+// |----+----+----+----x----x----+----.    ┌────┼────╄━━━━╃────┼────┼────┼────┤
+// |    |    |    |    |    |    |    |    │    │    │    │    │    │    │    │
+// `-------------------+----+----+----/    └┬───┴┬───┴┬───┴┬───┴────┴────┴────┘
+//                    |    |    |    |      │    │    │    │
+//                    `----+---------'      └────┴────┴────┘
 
 #include QMK_KEYBOARD_H
 #include "pvinis.h"
@@ -19,102 +19,179 @@
 //#include "eeconfig.h"
 
 #ifdef AUDIO_ENABLE
-  #include "audio.h"
+#    include "audio.h"
 #endif
 
 #ifdef AUDIO_ENABLE
-  // #define STARTUP_SONG SONG(SONIC_RING)
+//   #define STARTUP_SONG SONG(SONIC_RING)
 #endif
 
 #ifdef AUDIO_ENABLE
-  float tone_sonic[][2] = SONG(IN_LIKE_FLINT);
-  float tone_1[][2] = SONG(QWERTY_SOUND);
-  float tone_2[][2] = SONG(OLD_SPICE);
-  float tone_3[][2] = SONG(OVERWATCH_THEME);
-  float tone_4[][2] = SONG(QWERTY_SOUND);
+//   float n04[][2] = SONG(CLOSE_ENCOUNTERS_5_NOTE);
+//   float n10[][2] = SONG(STARTUP_SOUND);
+//   float n11[][2] = SONG(GOODBYE_SOUND);
+//   float n12[][2] = SONG(PLANCK_SOUND);
+//   float n19[][2] = SONG(MUSIC_ON_SOUND);
+//   float n20[][2] = SONG(AUDIO_ON_SOUND);
+//   float n29[][2] = SONG(CAPS_LOCK_ON_SOUND);
+//   float n30[][2] = SONG(CAPS_LOCK_OFF_SOUND);
+//   float n31[][2] = SONG(SCROLL_LOCK_ON_SOUND);
+//   float n32[][2] = SONG(SCROLL_LOCK_OFF_SOUND);
+//   float n33[][2] = SONG(NUM_LOCK_ON_SOUND);
+//   float n34[][2] = SONG(NUM_LOCK_OFF_SOUND);
+//   float n40[][2] = SONG(ONE_UP_SOUND);
+//   float n49[][2] = SONG(E1M1_DOOM);
+//   float n53[][2] = SONG(OLD_SPICE);
+//   float n56[][2] = SONG(RICK_ROLL);
+//   float n57[][2] = SONG(FF_PRELUDE);
+// RGB_MODE_KNIGHT
+//   float n78[][2] = SONG(KATAMARI_ROLLING_STAR);
 #endif
 
-
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
-  // ,-----------------------------.              ,-----------------------------.
-  // |    |    |    |    |    |QWER|              |    |    |    |    |    |    |
-  // |----+----+----+----+----+----|              |----+----+----+----+----+----|
-  // |Tab |    |    |    |    |CARP|              |    |    |    |    |    |Del |
-  // |----+----+----+----x----x----|              |----x----x----+----+----+----|
-  // |EscC|    |    |    |    |    |              |    |    |    |    |    |Ent |
-  // |----+----+----+----x----x----+----.    ,----|----x----x----+----+----+----|
-  // |LSft|    |    |    |    |    |Home|    |End |    |    |    |    |    |Rsft|
-  // `-------------------+----+----+----/    \----+----+----+-------------------'
-  //                    |Cmd |LOWR|Bspc|      |Spc |RASE|RAlt|
-  //                    `----+---------'      `--------------'
-  [LR_BASE] = LAYOUT_wrapper(
-    _______, _______, _______, _______, _______, QWERTY ,                        _______, _______, _______, _______, _______, _______,
-    KC_TAB , _______, _______, _______, _______, CARPALX,                        _______, _______, _______, _______, _______, KC_DEL ,
-    PV_ESCC, _______, _______, _______, _______, _______,                        _______, _______, _______, _______, _______, KC_ENT ,
-    KC_LSFT, _______, _______, _______, _______, _______, _______,      _______, _______, _______, _______, _______, _______, KC_RSFT,
-                                        KC_LGUI, SYMBOL , KC_BSPC,      KC_SPC , SYSCTL , KC_RALT
-  ),
+    // ,-----------------------------.              ,-----------------------------.
+    // |    |    |    |    |GAME|QWER|              |    |    |    |    |    |    |
+    // |----+----+----+----+----+----|              |----+----+----+----+----+----|
+    // |Tab |    |    |    |    |CRPL|              |    |    |    |    |    |Del |
+    // |----+----+----+----x----x----|              |----x----x----+----+----+----|
+    // |EscC|    |    |    |    |    |              |    |    |    |    |    |Ent |
+    // |----+----+----+----x----x----+----.    ,----|----x----x----+----+----+----|
+    // |LSft|    |    |    |    |    |Home|    |End |    |    |    |    |    |Rsft|
+    // `-------------------+----+----+----/    \----+----+----+-------------------'
+    //                    |Cmd |LOWR|Bspc|      |Spc |RASE|RAlt|
+    //                    `----+---------'      `--------------'
+    [LR_BASE] = LAYOUT_wrapper(
+        // clang-format off
+        KC_MUTE, _______, _______, _______, GAME1  , QWERTY ,                        KC_1   , _______, _______, _______, _______, _______,
+        KC_TAB , ___________________________________________,                        ___________________________________________, KC_DEL ,
+        PV_ESCC, ___________________________________________,                        ___________________________________________, KC_ENT ,
+        KC_LSFT, ___________________________________________, _______,      _______, _______, _______, _______, _______, _______, KC_RSFT,
+                                            KC_LGUI, SYMBOL , KC_BSPC,      KC_SPC , SYSCTL , KC_RALT
+        // clang-format on
+        ),
+
+    // ,-----------------------------.              ,-----------------------------.
+    // |    |       NUMBERS_L        |              |         NUMBERS_R      |    |
+    // |----+----+----+----+----+----|              |----+----+----+----+----+----|
+    // |    |                        |              |                        |    |
+    // |----+                        |              |                        +----|
+    // |    |       QWERTY_L         |              |         QWERTY_R       |    |
+    // |----+                        +----.    ,----|                        +----|
+    // |    |                        |    |    |    |                        |    |
+    // `-------------------+----+----+----/    \----+----+----+-------------------'
+    //                    |    |    |    |      |    |    |    |
+    //                    `----+---------'      `--------------'
+    [LR_QWERTY] = LAYOUT_wrapper(
+        // clang-format off
+        _______, ________________NUMBERS_L__________________,                        ________________NUMBERS_R__________________, _______,
+        _______, _________________QWERTY_L1_________________,                        _________________QWERTY_R1_________________, _______,
+        _______, _____________MOD_QWERTY_L2_________________,                        _________________QWERTY_R2_________________, _______,
+        _______, _________________QWERTY_L3_________________, _______,      _______, _________________QWERTY_R3_________________, _______,
+                                            _______, _______, _______,      _______, _______, _______
+        // clang-format on
+        ),
 
-  // ,-----------------------------.              ,-----------------------------.
-  // |    |       NUMBERS_L        |              |         NUMBERS_R      |    |
-  // |----+----+----+----+----+----|              |----+----+----+----+----+----|
-  // |    |                        |              |                        |    |
-  // |----+                        |              |                        +----|
-  // |    |       QWERTY_L         |              |         QWERTY_R       |    |
-  // |----+                        +----.    ,----|                        +----|
-  // |    |                        |    |    |    |                        |    |
-  // `-------------------+----+----+----/    \----+----+----+-------------------'
-  //                    |    |    |    |      |    |    |    |
-  //                    `----+---------'      `--------------'
-  [LR_QWERTY] = LAYOUT_wrapper(
-    _______, ________________NUMBERS_L__________________,                        ________________NUMBERS_R__________________, _______,
-    _______, _________________QWERTY_L1_________________,                        _________________QWERTY_R1_________________, _______,
-    _______, _____________MOD_QWERTY_L2_________________,                        _____________MOD_QWERTY_R2_________________, _______,
-    _______, _________________QWERTY_L3_________________, _______,      _______, _________________QWERTY_R3_________________, _______,
-                                        _______, _______, _______,      _______, _______, _______
-  ),
+    // ,-----------------------------.              ,-----------------------------.
+    // |    |       NUMBERS_L        |              |         NUMBERS_R      |    |
+    // |----+----+----+----+----+----|              |----+----+----+----+----+----|
+    // |    |                        |              |                        |    |
+    // |----+                        |              |                        +----|
+    // |    |      CARPALX_L         |              |        CARPALX_R       |    |
+    // |----+                        +----.    ,----|                        +----|
+    // |    |                        |    |    |    |                        |    |
+    // `-------------------+----+----+----/    \----+----+----+-------------------'
+    //                    |    |    |    |      |    |    |    |
+    //                    `----+---------'      `--------------'
+    [LR_CARPALX] = LAYOUT_wrapper(
+        // clang-format off
+        _______, ________________NUMBERS_L__________________,                        ________________NUMBERS_R__________________, _______,
+        _______, ________________CARPALX_L1_________________,                        ________________CARPALX_R1_________________, _______,
+        _______, ________________CARPALX_L2_________________,                        ________________CARPALX_R2_________________, _______,
+        _______, ________________CARPALX_L3_________________, _______,      _______, ________________CARPALX_R3_________________, _______,
+                                            _______, _______, _______,      _______, _______, _______
+        // clang-format on
+        ),
 
-  // ,-----------------------------.              ,-----------------------------.
-  // |    |       NUMBERS_L        |              |         NUMBERS_R      |    |
-  // |----+----+----+----+----+----|              |----+----+----+----+----+----|
-  // |    |                        |              |                        |    |
-  // |----+                        |              |                        +----|
-  // |    |      CARPALX_L         |              |        CARPALX_R       |    |
-  // |----+                        +----.    ,----|                        +----|
-  // |    |                        |    |    |    |                        |    |
-  // `-------------------+----+----+----/    \----+----+----+-------------------'
-  //                    |    |    |    |      |    |    |    |
-  //                    `----+---------'      `--------------'
-  [LR_CARPALX] = LAYOUT_wrapper(
-    _______, ________________NUMBERS_L__________________,                        ________________NUMBERS_R__________________, _______,
-    _______, ________________CARPALX_L1_________________,                        ________________CARPALX_R1_________________, _______,
-    _______, ________________CARPALX_L2_________________,                        ________________CARPALX_R2_________________, _______,
-    _______, ________________CARPALX_L3_________________, _______,      _______, ________________CARPALX_R3_________________, _______,
-                                        _______, _______, _______,      _______, _______, _______
-  ),
+    [LR_SYMBOL] = LAYOUT_wrapper(
+        // clang-format off
+        KC_F12 , ______________________F_L__________________,                        ______________________F_R__________________, KC_F11 ,
+        _______, _________________SYMBOL_L1_________________,                        _________________SYMBOL_R1_________________, _______,
+        _______, _________________SYMBOL_L2_________________,                        _________________SYMBOL_R2_________________, _______,
+        _______, _________________SYMBOL_L3_________________, _______,      _______, _________________SYMBOL_R3_________________, _______,
+                                            _______, _______, _______,      _______, _______, _______
+        // clang-format on
+        ),
 
-  [LR_SYMBOL] = LAYOUT_wrapper(
-    KC_F12 , ______________________F_L__________________,                        ______________________F_R__________________, KC_F11 ,
-    _______, _________________SYMBOL_L1_________________,                        _________________SYMBOL_R1_________________, _______,
-    _______, _________________SYMBOL_L2_________________,                        _________________SYMBOL_R2_________________, _______,
-    _______, _________________SYMBOL_L3_________________, _______,      _______, _________________SYMBOL_R3_________________, _______,
-                                        _______, _______, _______,      _______, _______, _______
-  ),
+    [LR_SYSCTL] = LAYOUT_wrapper(
+        // clang-format off
+        _______, _______, _______, _______, _______, _______,                        _______, _______, _______, _______, _______, _______,
+        _______, _________________SYSCTL_L1_________________,                        _________________SYSCTL_R1_________________, _______,
+        _______, _________________SYSCTL_L2_________________,                        _________________SYSCTL_R2_________________, _______,
+        _______, _________________SYSCTL_L3_________________, _______,      _______, _________________SYSCTL_R3_________________, _______,
+                                            _______, _______, _______,      _______, _______, _______
+        // clang-format on
+        ),
 
-  [LR_SYSCTL] = LAYOUT_wrapper(
-    _______, _______, _______, _______, _______, _______,                        _______, _______, _______, _______, _______, _______,
-    _______, _______, _______, _______, _______, _______,                        _________________SYSCTL_R1_________________, _______,
-    _______, _______, _______, _______, _______, _______,                        _________________SYSCTL_R2_________________, _______,
-    _______, _______, _______, _______, _______, _______, _______,      _______, _________________SYSCTL_R3_________________, _______,
-                                        _______, _______, _______,      _______, _______, _______
-  ),
+    [LR_KBCTL] = LAYOUT_wrapper(
+        // clang-format off
+        XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,                        XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+        XXXXXXX, __________________KBCTL_L1_________________,                        __________________KBCTL_R1_________________, XXXXXXX,
+        XXXXXXX, __________________KBCTL_L2_________________,                        __________________KBCTL_R2_________________, XXXXXXX,
+        BASE   , __________________KBCTL_L3_________________, XXXXXXX,      XXXXXXX, __________________KBCTL_R3_________________, XXXXXXX,
+                                            XXXXXXX, _______, XXXXXXX,      XXXXXXX, _______, XXXXXXX
+        // clang-format on
+        ),
 
-  [LR_KBCTL] = LAYOUT_wrapper(
-    XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,                        XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
-    XXXXXXX, __________________KBCTL_L1_________________,                        __________________KBCTL_R1_________________, XXXXXXX,
-    XXXXXXX, __________________KBCTL_L2_________________,                        __________________KBCTL_R2_________________, XXXXXXX,
-    BASE   , __________________KBCTL_L3_________________, XXXXXXX,      XXXXXXX, __________________KBCTL_R3_________________, XXXXXXX,
-                                        XXXXXXX, _______, XXXXXXX,      XXXXXXX, _______, XXXXXXX
-  )
+    // ,-----------------------------.              ,-----------------------------.
+    // |    |       NUMBERS_L        |              |         NUMBERS_R      |    |
+    // |----+----+----+----+----+----|              |----+----+----+----+----+----|
+    // |    |                        |              |                        |    |
+    // |----+                        |              |                        +----|
+    // |ESC |       QWERTY_L         |              |         QWERTY_R       |    |
+    // |----+                        +----.    ,----|                        +----|
+    // |    |                        |    |    |    |                        |    |
+    // `-------------------+----+----+----/    \----+----+----+-------------------'
+    //                    |    |SPC |    |      |    |    |    |
+    //                    `----+---------'      `--------------'
+    [LR_GAME1] = LAYOUT_wrapper(
+        // clang-format off
+        _______, ________________NUMBERS_L__________________,                        ________________NUMBERS_R__________________, KC_BSPC,
+        _______, _________________QWERTY_L1_________________,                        _________________QWERTY_R1_________________, QWERTY ,
+        KC_ESC , _________________QWERTY_L2_________________,                        _________________QWERTY_R2_________________, _______,
+        _______, _________________QWERTY_L3_________________, _______,      _______, _________________QWERTY_R3_________________, _______,
+                                        _______, _______, KC_SPC ,      _______, _______, _______
+        // clang-format on
+        ),
+
+    [LR_GAME2] = LAYOUT_wrapper(
+        // clang-format off
+        _______, ________________NUMBERS_L__________________,                        ________________NUMBERS_R__________________, KC_BSPC,
+        _______, _________________QWERTY_L1_________________,                        KC_Y   , KC_U   , KC_UP  , KC_O   , KC_P   , QWERTY ,
+        KC_ESC , _________________QWERTY_L2_________________,                        KC_H   , KC_LEFT, KC_DOWN, KC_RGHT, KC_SCLN, _______,
+        _______, _________________QWERTY_L3_________________, _______,      _______, _________________QWERTY_R3_________________, _______,
+                                            _______, _______, KC_SPC ,      _______, _______, _______
+        // clang-format on
+        ),
 };
+
+#ifdef ENCODER_ENABLE
+void encoder_update_user(uint8_t index, bool clockwise) {
+    // if (index == 0) { /* First encoder */
+    if (clockwise) {
+        tap_code(KC_VOLU);
+    } else {
+        tap_code(KC_VOLD);
+    }
+    // }
+}
+#endif
+
+bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
+    switch (keycode) {
+#ifdef AUDIO_ENABLE
+// case PV_S04: if (record->event.pressed) PLAY_SONG(n04); return false; break;
+#endif
+    }
+    return true;  // Process everything else normally
+}

+ 9 - 2
keyboards/keebio/iris/keymaps/pvinis/rules.mk

@@ -1,2 +1,9 @@
-AUDIO_ENABLE    = no # off for now
-RGBLIGHT_ENABLE = no # off for now
+TAP_DANCE_ENABLE = yes
+AUDIO_ENABLE     = no   # piezo speaker sounds
+RGBLIGHT_ENABLE  = yes  # rgb leds underlight
+ENCODER_ENABLE   = yes  # rotary knob
+
+# Some extra stuff to make firmware smaller.
+LINK_TIME_OPTIMIZATION_ENABLE = yes
+CONSOLE_ENABLE = no
+COMMAND_ENABLE = no

+ 4 - 5
users/pvinis/config.h

@@ -1,10 +1,9 @@
 #pragma once
 
-#ifdef AUDIO_ENABLE
-// #define STARTUP_SONG SONG(SONIC_RING)
-// #define DAC_SAMPLE_MAX 65535U // maybe this works for volume?
-#endif
-
 // allow rolling when keys have hold functionality
 #define IGNORE_MOD_TAP_INTERRUPT
 // #define TAPPING_TERM 150
+
+#if defined(MOUSE_KEYS)
+#    define MOUSEKEY_WHEEL_TIME_TO_MAX 1
+#endif

+ 68 - 59
users/pvinis/pvinis.c

@@ -2,88 +2,97 @@
 #include "version.h"
 
 #ifdef AUDIO_ENABLE
-#include "audio.h"
-#endif // AUDIO_ENABLE
-
-
-#ifdef AUDIO_ENABLE
-// float tone_katamari_rolling_star[][2] = SONG(KATAMARI_ROLLING_STAR);
-#endif // AUDIO_ENABLE
+#    include "audio.h"
 
+float song_sonic_ring[][2] = SONG(SONIC_RING);
+float song_coin_sound[][2] = SONG(COIN_SOUND);
+float song_test[][2]       = SONG(QWERTY_SOUND);
+#endif
 
 // SYMBOL + SYSCTL = KBCTL
 uint32_t layer_state_set_user(uint32_t state) {
-  uint32_t intermediate_state = update_tri_layer_state(state, LR_SYMBOL, LR_SYSCTL, LR_KBCTL);
-  intermediate_state = layer_state_set_user_local(intermediate_state);
-  return intermediate_state;
+    uint32_t intermediate_state = update_tri_layer_state(state, LR_SYMBOL, LR_SYSCTL, LR_KBCTL);
+    intermediate_state          = layer_state_set_user_keymap(intermediate_state);
+    return intermediate_state;
 }
 
-
 // functions for the individual keymaps to implement if they need something extra
-__attribute__ ((weak))
-bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
-  return true;
-}
+__attribute__((weak)) bool process_record_keymap(uint16_t keycode, keyrecord_t *record) { return true; }
 
-
-// handle my own keycodes
+// Handle my own keycodes.
 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
-  switch (keycode) {
-
-    case PV_VRSN:
-      if (record->event.pressed) {
-        SEND_STRING(QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION);
-      }
-      return false;
-
-    case PV_MAKE:
-      if (!record->event.pressed) {
-        SEND_STRING("make " QMK_KEYBOARD ":" QMK_KEYMAP
+    switch (keycode) {
+        case PV_VRSN:
+            if (record->event.pressed) {
+                SEND_STRING(QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION);
+            }
+            return false;
+
+        case PV_MAKE:
+            // make ergodox_ez:pvinis:teensy
+            if (!record->event.pressed) {
+                SEND_STRING("make " QMK_KEYBOARD ":" QMK_KEYMAP
 #if (defined(BOOTLOADER_DFU) || defined(BOOTLOADER_LUFA_DFU) || defined(BOOTLOADER_QMK_DFU))
-          ":dfu"
+                            ":dfu"
 #elif defined(BOOTLOADER_HALFKAY)
-          ":teensy"
+                            ":teensy"
 #elif defined(BOOTLOADER_CATERINA)
-          ":avrdude"
+                            ":avrdude"
 #endif
-          SS_TAP(X_ENTER)
-        );
-      }
-      return false;
+                            SS_TAP(X_ENTER));
+            }
+            return false;
 
-    case PV_FLSH:
-      reset_keyboard();
-      return false;
+        case PV_FLSH:
+            reset_keyboard();
+            return false;
 
-    case PV_KTMR:
-      if (record->event.pressed) {
+        case PV_SSNC:
+            if (record->event.pressed) {
 #ifdef AUDIO_ENABLE
-        // PLAY_SONG(tone_katamari_rolling_star);
+                PLAY_SONG(song_sonic_ring);
 #endif
-      }
-      return false;
-  }
-  return process_record_keymap(keycode, record);
-}
+            }
+            return false;
 
+        case PV_SCIN:
+            if (record->event.pressed) {
+#ifdef AUDIO_ENABLE
+                PLAY_SONG(song_coin_sound);
+#endif
+            }
+            return false;
+
+        case PV_TEST:
+            if (record->event.pressed) {
+#ifdef AUDIO_ENABLE
+                PLAY_SONG(song_test);
+#endif
+            }
+            return false;
+    }
+    return process_record_keymap(keycode, record);
+}
 
 #ifdef TAP_DANCE_ENABLE
-qk_tap_dance_action_t tap_dance_actions[] = {
-};
-#endif // TAP_DANCE_ENABLE
+qk_tap_dance_action_t tap_dance_actions[] = {};
+#endif
 
+void keyboard_post_init_rgb_light(void) {
+    rgblight_sethsv(HSV_GOLD);
+    rgblight_mode(RGBLIGHT_MODE_BREATHING);
+    // rgblight_mode(RGBLIGHT_MODE_KNIGHT+1);
+}
 
-// init stuff
+// Init stuff.
 void keyboard_post_init_user(void) {
-    keyboard_post_init_user_local();
+#if defined(RGBLIGHT_ENABLE)
+    keyboard_post_init_rgb_light();
+#endif
+    keyboard_post_init_user_keymap();
 }
 
+// Default functions.
+__attribute__((weak)) void keyboard_post_init_user_keymap(void) {}
 
-// default functions
-__attribute__ ((weak))
-void keyboard_post_init_user_local(void) {}
-
-__attribute__ ((weak))
-uint32_t layer_state_set_user_local(uint32_t state) {
-    return state;
-}
+__attribute__((weak)) uint32_t layer_state_set_user_keymap(uint32_t state) { return state; }

+ 124 - 104
users/pvinis/pvinis.h

@@ -2,84 +2,103 @@
 
 #include "quantum.h"
 
-
-// my own keycodes
+// My own keycodes.
 enum userspace_custom_keycodes {
-  PV_ = SAFE_RANGE,
+    PV_ = SAFE_RANGE,
+
+    PV_VRSN,  // Print firmware version.
+    PV_MAKE,  // Print the make command of the keyboard.
+    PV_FLSH,  // Reset keyboard.
 
-  PV_VRSN, // prints firmware version
-  PV_MAKE, // prints the make command of the keyboard
-  PV_FLSH, // resets keyboard
-  PV_KTMR, // play katamari music
+    PV_SSNC,  // Play Sonic Ring.
+    PV_SCIN,  // Play Coin Sound.
 
-  PV_SAFE_RANGE, // used for extra keycodes in the individual keymaps
+    PV_TEST,  // For quick testing purposes.
+
+    PV_SAFE_RANGE,  // Used for extra keycodes in individual keymaps.
 };
 
 enum tap_dance_indexes {
-  // tap dance
-  TD_FLSH, // flash keyboard (as if the physical flash key was pressed)
+    // tap dance
+    TD_FLSH,  // flash keyboard (as if the physical flash key was pressed)
 };
 
-#define ALLM(kc) LCAG(kc)           // easier name for left ctrl-alt-gui
-#define PV_ESCC  CTL_T(KC_ESC)      // esc on tap, ctrl on hold
-#define PV_LOCK  LCTL(LSFT(KC_PWR)) // lock computer
-#define TD_3FLS  TD(TD_FLSH)        // tap dance 3 times for flash
-
+#define ALLM(kc) LCAG(kc)           // Easier name for left ctrl-alt-gui.
+#define PV_ESCC CTL_T(KC_ESC)       // esc on tap, ctrl on hold.
+#define PV_LOCK LCTL(LSFT(KC_PWR))  // Lock computer.
+#define TD_3FLS TD(TD_FLSH)         // Tap dance 3 times for flash.
 
-// layers
+// Layers.
 enum {
-  LR_BASE = 0, // used for basic keys like the surrounding ctrl, cmd, etc
+    LR_BASE = 0,  // used for basic keys like the surrounding ctrl, cmd, etc
 
-  LR_QWERTY,
-  LR_CARPALX,
+    LR_QWERTY,
+    LR_CARPALX,
+    LR_GAME1,  // game layout (space on the left thumb, no modifiers, etc)
+    LR_GAME2,  // game layout (space on the left thumb, no modifiers, etc, arrows)
 
-  LR_SYMBOL, // symbol input (!, @, #, etc)
-  LR_SYSCTL, // system control (music, volume, keyboard flash, etc)
-  LR_KBCTL,  // keyboard control (version, make, flash, etc)
-};
+    LR_SYMBOL,  // symbol input (!, @, #, etc)
+    LR_SYSCTL,  // system control (music, volume, keyboard flash, etc)
+    LR_KBCTL,   // keyboard control (version, make, flash, etc)
 
+};
 
-// layer switchers
-#define BASE    TO(LR_BASE)
-#define QWERTY  TO(LR_QWERTY)
+// Layer switchers.
+#define BASE TO(LR_BASE)
+#define QWERTY TO(LR_QWERTY)
 #define CARPALX TO(LR_CARPALX)
-
-#define SYMBOL  MO(LR_SYMBOL)
-#define SYSCTL  MO(LR_SYSCTL)
-#define KBCTL   MO(LR_KBCTL)
-
-
-// layout parts for easy reuse between keyboard keymaps
-
-// ,-----+-----+-----+-----+-----,   ,-----+-----+-----+-----+-----,
-// |  1  |  2  |  3  |  4  |  5  |   |  6  |  7  |  8  |  9  |  0  |
-// ,-----+-----+-----+-----+-----,   ,-----+-----+-----+-----+-----,
-#define ________________NUMBERS_L__________________  KC_1, KC_2, KC_3, KC_4, KC_5
-#define ________________NUMBERS_R__________________  KC_6, KC_7, KC_8, KC_9, KC_0
-
-// ,-----+-----+-----+-----+-----,   ,-----+-----+-----+-----+-----,
-// | F1  | F2  | F3  | F4  | F5  |   | F6  | F7  | F8  | F9  | F10 |
-// ,-----+-----+-----+-----+-----,   ,-----+-----+-----+-----+-----,
-#define ______________________F_L__________________  KC_F1, KC_F2, KC_F3, KC_F4, KC_F5
-#define ______________________F_R__________________  KC_F6, KC_F7, KC_F8, KC_F9, KC_F10
-
-// ,-----+-----+-----+-----+-----,   ,-----+-----+-----+-----+-----,
-// |  Q  |  W  |  E  |  R  |  T  |   |  Y  |  U  |  I  |  O  |  P  |
-// ,-----+-----+-----x-----x-----,   ,-----x-----x-----+-----+-----,
-// |  A  |  S  |  D  |  F  |  G  |   |  H  |  J  |  K  |  L  |  ;  |
-// ,-----+-----+-----x-----x-----,   ,-----x-----x-----+-----+-----,
-// |  Z  |  X  |  C  |  V  |  B  |   |  N  |  M  |  ,  |  .  |  /  |
-// ,-----+-----+-----+-----+-----,   ,-----+-----+-----+-----+-----,
-#define _________________QWERTY_L1_________________  KC_Q   , KC_W   , KC_E   , KC_R   , KC_T
-#define _________________QWERTY_L2_________________  KC_A   , KC_S   , KC_D   , KC_F   , KC_G
-#define _________________QWERTY_L3_________________  KC_Z   , KC_X   , KC_C   , KC_V   , KC_B
-
-#define _________________QWERTY_R1_________________  KC_Y   , KC_U   , KC_I   , KC_O   , KC_P
-#define _________________QWERTY_R2_________________  KC_H   , KC_J   , KC_K   , KC_L   , KC_SCLN
-#define _________________QWERTY_R3_________________  KC_N   , KC_M   , KC_COMM, KC_DOT , KC_SLSH
-
-#define _____________MOD_QWERTY_L2_________________  CTL_T(KC_A), SFT_T(KC_S), GUI_T(KC_D), ALT_T(KC_F), KC_G
-#define _____________MOD_QWERTY_R2_________________  KC_H       , ALT_T(KC_J), GUI_T(KC_K), SFT_T(KC_L), CTL_T(KC_SCLN)
+#define GAME1 TO(LR_GAME1)
+#define GAME2 TO(LR_GAME2)
+
+#define SYMBOL MO(LR_SYMBOL)
+#define SYSCTL MO(LR_SYSCTL)
+#define KBCTL MO(LR_KBCTL)
+
+// Layout parts for easy reuse between keyboard keymaps.
+
+// Transparent.
+// ┌─────┬─────┬─────┬─────┬─────┐
+// │     │     │     │     │     │
+// └─────┴─────┴─────┴─────┴─────┘
+#define ___________________________________________ _______, _______, _______, _______, _______
+
+// Numbers.
+// ┌─────┬─────┬─────┬─────┬─────┐   ┌─────┬─────┬─────┬─────┬─────┐
+// │  1  │  2  │  3  │  4  │  5  │   │  6  │  7  │  8  │  9  │  0  │
+// └─────┴─────┴─────┴─────┴─────┘   └─────┴─────┴─────┴─────┴─────┘
+#define ________________NUMBERS_L__________________ KC_1, KC_2, KC_3, KC_4, KC_5
+#define ________________NUMBERS_R__________________ KC_6, KC_7, KC_8, KC_9, KC_0
+
+// F keys.
+// ┌─────┬─────┬─────┬─────┬─────┐   ┌─────┬─────┬─────┬─────┬─────┐
+// │ F1  │ F2  │ F3  │ F4  │ F5  │   │ F6  │ F7  │ F8  │ F9  │ F10 │
+// └─────┴─────┴─────┴─────┴─────┘   └─────┴─────┴─────┴─────┴─────┘
+#define ______________________F_L__________________ KC_F1, KC_F2, KC_F3, KC_F4, KC_F5
+#define ______________________F_R__________________ KC_F6, KC_F7, KC_F8, KC_F9, KC_F10
+
+// QWERTY.
+// ┌─────┬─────┬─────┬─────┬─────┐   ┌─────┬─────┬─────┬─────┬─────┐
+// │  Q  │  W  │  E  │  R  │  T  │   │  Y  │  U  │  I  │  O  │  P  │
+// ├─────┼─────┼─────╆━━━━━╅─────┤   ├─────╆━━━━━╅─────┼─────┼─────┤
+// │  A  │  S  │  D  ┃  F  ┃  G  │   │  H  ┃  J  ┃  K  │  L  │  ;  │
+// ├─────┼─────┼─────╄━━━━━╃─────┤   ├─────╄━━━━━╃─────┼─────┼─────┤
+// │  Z  │  X  │  C  │  V  │  B  │   │  N  │  M  │  ,  │  .  │  /  │
+// └─────┴─────┴─────┴─────┴─────┘   └─────┴─────┴─────┴─────┴─────┘
+#define _________________QWERTY_L1_________________ KC_Q, KC_W, KC_E, KC_R, KC_T
+#define _________________QWERTY_L2_________________ KC_A, KC_S, KC_D, KC_F, KC_G
+#define _________________QWERTY_L3_________________ KC_Z, KC_X, KC_C, KC_V, KC_B
+
+#define _________________QWERTY_R1_________________ KC_Y, KC_U, KC_I, KC_O, KC_P
+#define _________________QWERTY_R2_________________ KC_H, KC_J, KC_K, KC_L, KC_SCLN
+#define _________________QWERTY_R3_________________ KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH
+
+// QWERTY with mods.
+// ┌───────┬───────┬───────┲━━━━━━━┱───────┐   ┌───────┲━━━━━━━┱───────┬───────┬───────┐
+// │ ctl/A │ sft/S │ cmd/D ┃ opt/F ┃   G   │   │   H   ┃ opt/J ┃ cmd/K │ sft/L │ ctl/; │
+// └───────┴───────┴───────┺━━━━━━━┹───────┘   └───────┺━━━━━━━┹───────┴───────┴───────┘
+// #define _____________MOD_QWERTY_L2_________________  CTL_T(KC_A), SFT_T(KC_S), GUI_T(KC_D), ALT_T(KC_F),       KC_G
+#define _____________MOD_QWERTY_L2_________________ KC_A, KC_S, KC_D, ALT_T(KC_F), KC_G
+#define _____________MOD_QWERTY_R2_________________ KC_H, ALT_T(KC_J), GUI_T(KC_K), SFT_T(KC_L), CTL_T(KC_SCLN)
 
 // ,-----+-----+-----+-----+-----,   ,-----+-----+-----+-----+-----,
 // |  Q  |  G  |  M  |  L  |  W  |   |  Y  |  F  |  I  |  O  |  P  |
@@ -88,13 +107,13 @@ enum {
 // ,-----+-----+-----x-----x-----,   ,-----x-----x-----+-----+-----,
 // |  Z  |  X  |  C  |  V  |  J  |   |  K  |  P  |  ,  |  .  |  /  |
 // ,-----+-----+-----+-----+-----,   ,-----+-----+-----+-----+-----,
-#define ________________CARPALX_L1_________________  KC_Q   , KC_G   , KC_M   , KC_L   , KC_W
-#define ________________CARPALX_L2_________________  KC_D   , KC_S   , KC_T   , KC_N   , KC_R
-#define ________________CARPALX_L3_________________  KC_Z   , KC_X   , KC_C   , KC_V   , KC_J
+#define ________________CARPALX_L1_________________ KC_Q, KC_G, KC_M, KC_L, KC_W
+#define ________________CARPALX_L2_________________ KC_D, KC_S, KC_T, KC_N, KC_R
+#define ________________CARPALX_L3_________________ KC_Z, KC_X, KC_C, KC_V, KC_J
 
-#define ________________CARPALX_R1_________________  KC_Y   , KC_F   , KC_U   , KC_B   , KC_SCLN
-#define ________________CARPALX_R2_________________  KC_I   , KC_A   , KC_E   , KC_O   , KC_H
-#define ________________CARPALX_R3_________________  KC_K   , KC_P   , KC_COMM, KC_DOT , KC_SLSH
+#define ________________CARPALX_R1_________________ KC_Y, KC_F, KC_U, KC_B, KC_SCLN
+#define ________________CARPALX_R2_________________ KC_I, KC_A, KC_E, KC_O, KC_H
+#define ________________CARPALX_R3_________________ KC_K, KC_P, KC_COMM, KC_DOT, KC_SLSH
 
 // ,-----+-----+-----+-----+-----,   ,-----+-----+-----+-----+-----,
 // |  !  |  @  |  {  |  }  |  _  |   |  \  |     |  `  |     |     |
@@ -103,50 +122,51 @@ enum {
 // ,-----+-----+-----x-----x-----,   ,-----x-----x-----+-----+-----,
 // |  %  |  ^  |  [  |  ]  |  +  |   |  *  |  ~  |  <  |  >  |  /  |
 // ,-----+-----+-----+-----+-----,   ,-----+-----+-----+-----+-----,
-#define _________________SYMBOL_L1_________________  KC_EXLM, KC_AT  , KC_LCBR, KC_RCBR, KC_UNDS
-#define _________________SYMBOL_L2_________________  KC_HASH, KC_DLR , KC_LPRN, KC_RPRN, KC_MINS
-#define _________________SYMBOL_L3_________________  KC_PERC, KC_CIRC, KC_LBRC, KC_RBRC, KC_PLUS
-
-#define _________________SYMBOL_R1_________________  KC_BSLS, _______, KC_GRV , _______, _______
-#define _________________SYMBOL_R2_________________  KC_EQL , KC_AMPR, KC_QUOT, KC_DQUO, KC_PIPE
-#define _________________SYMBOL_R3_________________  KC_ASTR, KC_TILD, KC_LABK, KC_RABK, KC_SLSH
-
-// ,-----+-----+-----+-----+-----,   ,-----+-----+-----+-----+-----,
-// |     |     |     |     |     |   |MUTE |HOME |  ^  | END |     |
-// ,-----+-----+-----x-----x-----,   ,-----x-----x-----+-----+-----,
-// |     |     |     |     |     |   |VOLUP|  <  |  v  |  >  |     |
-// ,-----+-----+-----x-----x-----,   ,-----x-----x-----+-----+-----,
-// |     |     |     |     |     |   |VOLDN|MPREV|MPLAY|MNEXT|     |
-// ,-----+-----+-----+-----+-----,   ,-----+-----+-----+-----+-----,
-#define _________________SYSCTL_L1_________________
-#define _________________SYSCTL_L2_________________
-#define _________________SYSCTL_L3_________________
+#define _________________SYMBOL_L1_________________ KC_EXLM, KC_AT, KC_LCBR, KC_RCBR, KC_UNDS
+#define _________________SYMBOL_L2_________________ KC_HASH, KC_DLR, KC_LPRN, KC_RPRN, KC_MINS
+#define _________________SYMBOL_L3_________________ KC_PERC, KC_CIRC, KC_LBRC, KC_RBRC, KC_PLUS
+
+#define _________________SYMBOL_R1_________________ KC_BSLS, _______, KC_GRV, _______, _______
+#define _________________SYMBOL_R2_________________ KC_EQL, KC_AMPR, KC_QUOT, KC_DQUO, KC_PIPE
+#define _________________SYMBOL_R3_________________ KC_ASTR, KC_TILD, KC_LABK, KC_RABK, KC_SLSH
+
+// System Control.
+//                                    vol ↓                   ctl ↓
+// ┌─────┬─────┬─────┬─────┬─────┐   ┌─────┬─────┬─────┬─────┬─────┐
+// │     │     │     │     │     │   │MUTE │HOME │  ↑  │ END │LOCK │
+// ├─────┼─────┼─────╆━━━━━╅─────┤   ├─────╆━━━━━╅─────┼─────┼─────┤
+// │     │     │     ┃     ┃     │   │VOLUP┃  ←  ┃  ↓  │  →  │SLEEP│ ← arrows
+// ├─────┼─────┼─────╄━━━━━╃─────┤   ├─────╄━━━━━╃─────┼─────┼─────┤
+// │     │     │     │     │     │   │VOLDN│MPREV│MPLAY│MNEXT│ PWR │ ← music
+// └─────┴─────┴─────┴─────┴─────┘   └─────┴─────┴─────┴─────┴─────┘
+#define _________________SYSCTL_L1_________________ XXXXXXX, XXXXXXX, XXXXXXX, KC_MS_BTN1, XXXXXXX
+#define _________________SYSCTL_L2_________________ XXXXXXX, XXXXXXX, XXXXXXX, KC_MS_RIGHT, KC_MS_WH_UP
+#define _________________SYSCTL_L3_________________ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MS_WH_DOWN
 
 //                                                    vol v                                                 ctl v
-#define _________________SYSCTL_R1_________________  KC_MUTE , KC_HOME , KC_UP   , KC_END                 , PV_LOCK
-#define _________________SYSCTL_R2_________________  KC_VOLU , KC_LEFT , KC_DOWN , KC_RGHT /* < arrows */ , KC_SLEP
-#define _________________SYSCTL_R3_________________  KC_VOLD , KC_MPRV , KC_MPLY , KC_MNXT /* < music */  , KC_PWR
+#define _________________SYSCTL_R1_________________ KC_MUTE, KC_HOME, KC_UP, KC_END, PV_LOCK
+#define _________________SYSCTL_R2_________________ KC_VOLU, KC_LEFT, KC_DOWN, KC_RGHT /* < arrows */, KC_SLEP
+#define _________________SYSCTL_R3_________________ KC_VOLD, KC_MPRV, KC_MPLY, KC_MNXT /* < music */, KC_PWR
 
 // ,-----+-----+-----+-----+-----,   ,-----+-----+-----+-----+-----,
-// |XXXXX|XXXXX|XXXXX|XXXXX|XXXXX|   |XXXXX|XXXXX|XXXXX|XXXXX|XXXXX|
+// |GAME |CRPLX|XXXXX|XXXXX|XXXXX|   |XXXXX|XXXXX|XXXXX|XXXXX|XXXXX|
 // ,-----+-----+-----x-----x-----,   ,-----x-----x-----+-----+-----,
 // |XXXXX|XXXXX|XXXXX|XXXXX|XXXXX|   |XXXXX|VERSN|MAKE |FLASH|XXXXX|
 // ,-----+-----+-----x-----x-----,   ,-----x-----x-----+-----+-----,
 // |XXXXX|XXXXX|XXXXX|XXXXX|XXXXX|   |XXXXX|XXXXX|XXXXX|XXXXX|XXXXX|
 // ,-----+-----+-----+-----+-----,   ,-----+-----+-----+-----+-----,
-#define __________________KBCTL_L1_________________  XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
-#define __________________KBCTL_L2_________________  XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
-#define __________________KBCTL_L3_________________  XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
-
-#define __________________KBCTL_R1_________________  XXXXXXX, XXXXXXX, XXXXXXX, PV_KTMR, XXXXXXX
-#define __________________KBCTL_R2_________________  XXXXXXX, PV_VRSN, PV_MAKE, PV_FLSH, XXXXXXX
-#define __________________KBCTL_R3_________________  XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
+#define __________________KBCTL_L1_________________ PV_SSNC, PV_SCIN, PV_TEST, XXXXXXX, XXXXXXX
+#define __________________KBCTL_L2_________________ RGB_TOG, RGB_VAI, XXXXXXX, XXXXXXX, XXXXXXX
+#define __________________KBCTL_L3_________________ RGB_MOD, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX
 
-// we need wrappers in order for these definitions, because they need to be expanded before being used as arguments to the LAYOUT_xxx macro
-#define LAYOUT_ergodox_pretty_wrapper(...)  LAYOUT_ergodox_pretty(__VA_ARGS__)
-#define LAYOUT_wrapper(...)                 LAYOUT(__VA_ARGS__)
+#define __________________KBCTL_R1_________________ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
+#define __________________KBCTL_R2_________________ XXXXXXX, PV_VRSN, PV_MAKE, PV_FLSH, XXXXXXX
+#define __________________KBCTL_R3_________________ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
 
+// We need wrappers in order for these definitions, because they need to be expanded before being used as arguments to the LAYOUT_xxx macro.
+#define LAYOUT_ergodox_pretty_wrapper(...) LAYOUT_ergodox_pretty(__VA_ARGS__)
+#define LAYOUT_wrapper(...) LAYOUT(__VA_ARGS__)
 
-// extra stuff that might be needed
-void keyboard_post_init_user_local(void);
-uint32_t layer_state_set_user_local(uint32_t state);
+// Extra stuff that might be needed.
+void     keyboard_post_init_user_keymap(void);
+uint32_t layer_state_set_user_keymap(uint32_t state);

+ 19 - 15
users/pvinis/rules.mk

@@ -1,15 +1,19 @@
-# add userspace file
-SRC += pvinis.c
-
-AUDIO_ENABLE     = no  # piezo speaker sounds
-RGBLIGHT_ENABLE  = no  # rgb leds underlight
-TAP_DANCE_ENABLE = yes
-BACKLIGHT_ENABLE = no  # leds under keycaps
-#MOUSEKEY_ENABLE  = no
-#SLEEP_LED_ENABLE = no  # no led blinking while sleeping
-#NKRO_ENABLE      = yes
-
-# make firmware smaller
-LINK_TIME_OPTIMIZATION_ENABLE = yes
-CONSOLE_ENABLE = no
-COMMAND_ENABLE = no
+SRC += pvinis.c # add userspace file
+
+
+## Use the stuff below on the keyboard keymaps, not here.
+## If they are used here, they will replace the keymap's rules, since this file is eval'd later.
+
+# TAP_DANCE_ENABLE = yes
+# AUDIO_ENABLE     = yes # piezo speaker sounds
+# RGBLIGHT_ENABLE  = yes # rgb leds underlight
+# BACKLIGHT_ENABLE = no  # leds under keycaps
+# MOUSEKEY_ENABLE  = yes
+# LEEP_LED_ENABLE  = no  # no led blinking while sleeping
+# KRO_ENABLE       = yes
+
+## Some extra stuff to make firmware smaller.
+
+# LINK_TIME_OPTIMIZATION_ENABLE = yes
+# CONSOLE_ENABLE = no
+# COMMAND_ENABLE = no