Bladeren bron

Convert Dip Switch callbacks to boolean functions (#13399)

Drashna Jaelre 3 jaren geleden
bovenliggende
commit
0bde920817
40 gewijzigde bestanden met toevoegingen van 117 en 75 verwijderingen
  1. 10 6
      docs/feature_dip_switch.md
  2. 10 6
      docs/ja/feature_dip_switch.md
  3. 2 1
      keyboards/abacus/keymaps/unicodemap/keymap.c
  4. 17 16
      keyboards/handwired/6key/keymaps/default/keymap.c
  5. 2 1
      keyboards/helix/rev3_4rows/rev3_4rows.c
  6. 2 1
      keyboards/helix/rev3_5rows/rev3_5rows.c
  7. 2 1
      keyboards/pandora/keymaps/default/keymap.c
  8. 2 1
      keyboards/pandora/keymaps/via/keymap.c
  9. 2 1
      keyboards/planck/keymaps/abishalom/keymap.c
  10. 2 1
      keyboards/planck/keymaps/atreus/keymap.c
  11. 2 1
      keyboards/planck/keymaps/dear_vehicle_owner/keymap.c
  12. 2 1
      keyboards/planck/keymaps/default/keymap.c
  13. 2 1
      keyboards/planck/keymaps/gitdrik/keymap.c
  14. 2 1
      keyboards/planck/keymaps/grant24/keymap.c
  15. 2 1
      keyboards/planck/keymaps/hvp/keymap.c
  16. 2 1
      keyboards/planck/keymaps/jdelkins/keymap.c
  17. 2 1
      keyboards/planck/keymaps/lja83/keymap.c
  18. 2 1
      keyboards/planck/keymaps/mjuma/keymap.c
  19. 2 1
      keyboards/planck/keymaps/rjhilgefort/keymap.c
  20. 3 3
      keyboards/planck/rev6/rev6.c
  21. 2 1
      keyboards/planck/thk/keymaps/thk/keymap.c
  22. 2 1
      keyboards/preonic/keymaps/AlexDaigre/keymap.c
  23. 2 1
      keyboards/preonic/keymaps/default/keymap.c
  24. 2 1
      keyboards/preonic/keymaps/drasbeck/keymap.c
  25. 2 1
      keyboards/preonic/keymaps/elisiano/keymap.c
  26. 2 1
      keyboards/preonic/keymaps/keelhauler/keymap.c
  27. 2 1
      keyboards/preonic/keymaps/kjwon15/keymap.c
  28. 2 1
      keyboards/preonic/keymaps/laurentlaurent/keymap.c
  29. 2 1
      keyboards/preonic/keymaps/mguterl/keymap.c
  30. 2 1
      keyboards/preonic/keymaps/mverteuil/keymap.c
  31. 2 1
      keyboards/preonic/keymaps/mverteuil_2x2u/keymap.c
  32. 2 1
      keyboards/preonic/keymaps/pezhore/keymap.c
  33. 2 1
      keyboards/preonic/keymaps/senseored/keymap.c
  34. 2 1
      keyboards/preonic/keymaps/via/keymap.c
  35. 3 3
      keyboards/preonic/rev3/rev3.c
  36. 2 1
      layouts/community/ortho_4x12/brandonschlack/keymap.c
  37. 2 1
      layouts/community/ortho_4x12/mguterl/keymap.c
  38. 2 1
      layouts/community/ortho_5x12/brandonschlack/keymap.c
  39. 4 4
      quantum/dip_switch.c
  40. 4 4
      quantum/dip_switch.h

+ 10 - 6
docs/feature_dip_switch.md

@@ -23,8 +23,9 @@ or
 The callback functions can be inserted into your `<keyboard>.c`:
 The callback functions can be inserted into your `<keyboard>.c`:
 
 
 ```c
 ```c
-void dip_switch_update_kb(uint8_t index, bool active) { 
-    dip_switch_update_user(index, active); 
+bool dip_switch_update_kb(uint8_t index, bool active) { 
+    if !(dip_switch_update_user(index, active)) { return false; }
+    return true;
 }
 }
 ```
 ```
 
 
@@ -32,7 +33,7 @@ void dip_switch_update_kb(uint8_t index, bool active) {
 or `keymap.c`:
 or `keymap.c`:
 
 
 ```c
 ```c
-void dip_switch_update_user(uint8_t index, bool active) { 
+bool dip_switch_update_user(uint8_t index, bool active) { 
     switch (index) {
     switch (index) {
         case 0:
         case 0:
             if(active) { audio_on(); } else { audio_off(); }
             if(active) { audio_on(); } else { audio_off(); }
@@ -57,6 +58,7 @@ void dip_switch_update_user(uint8_t index, bool active) {
             }
             }
             break;
             break;
     }
     }
+    return true;
 }
 }
 ```
 ```
 
 
@@ -64,8 +66,9 @@ Additionally, we support bit mask functions which allow for more complex handlin
 
 
 
 
 ```c
 ```c
-void dip_switch_update_mask_kb(uint32_t state) { 
-    dip_switch_update_mask_user(state); 
+bool dip_switch_update_mask_kb(uint32_t state) { 
+    if (!dip_switch_update_mask_user(state)) { return false; }
+    return true;
 }
 }
 ```
 ```
 
 
@@ -73,7 +76,7 @@ void dip_switch_update_mask_kb(uint32_t state) {
 or `keymap.c`:
 or `keymap.c`:
 
 
 ```c
 ```c
-void dip_switch_update_mask_user(uint32_t state) { 
+bool dip_switch_update_mask_user(uint32_t state) { 
     if (state & (1UL<<0) && state & (1UL<<1)) {
     if (state & (1UL<<0) && state & (1UL<<1)) {
         layer_on(_ADJUST); // C on esc
         layer_on(_ADJUST); // C on esc
     } else {
     } else {
@@ -89,6 +92,7 @@ void dip_switch_update_mask_user(uint32_t state) {
     } else {
     } else {
         layer_off(_TEST_B);
         layer_off(_TEST_B);
     }
     }
+    return true;
 }
 }
 ```
 ```
 
 

+ 10 - 6
docs/ja/feature_dip_switch.md

@@ -28,8 +28,9 @@ DIP スイッチは、以下を `rules.mk` に追加することでサポート
 コールバック関数を `<keyboard>.c` に記述することができます:
 コールバック関数を `<keyboard>.c` に記述することができます:
 
 
 ```c
 ```c
-void dip_switch_update_kb(uint8_t index, bool active) { 
-    dip_switch_update_user(index, active); 
+bool dip_switch_update_kb(uint8_t index, bool active) { 
+    if !(dip_switch_update_user(index, active)) { return false; }
+    return true;
 }
 }
 ```
 ```
 
 
@@ -37,7 +38,7 @@ void dip_switch_update_kb(uint8_t index, bool active) {
 あるいは `keymap.c` に記述することもできます:
 あるいは `keymap.c` に記述することもできます:
 
 
 ```c
 ```c
-void dip_switch_update_user(uint8_t index, bool active) { 
+bool dip_switch_update_user(uint8_t index, bool active) { 
     switch (index) {
     switch (index) {
         case 0:
         case 0:
             if(active) { audio_on(); } else { audio_off(); }
             if(active) { audio_on(); } else { audio_off(); }
@@ -62,6 +63,7 @@ void dip_switch_update_user(uint8_t index, bool active) {
             }
             }
             break;
             break;
     }
     }
+    return true;
 }
 }
 ```
 ```
 
 
@@ -69,8 +71,9 @@ void dip_switch_update_user(uint8_t index, bool active) {
 
 
 
 
 ```c
 ```c
-void dip_switch_update_mask_kb(uint32_t state) { 
-    dip_switch_update_mask_user(state); 
+bool dip_switch_update_mask_kb(uint32_t state) { 
+    if (!dip_switch_update_mask_user(state)) { return false; }
+    return true;
 }
 }
 ```
 ```
 
 
@@ -78,7 +81,7 @@ void dip_switch_update_mask_kb(uint32_t state) {
 あるいは `keymap.c` に記述することもできます:
 あるいは `keymap.c` に記述することもできます:
 
 
 ```c
 ```c
-void dip_switch_update_mask_user(uint32_t state) { 
+bool dip_switch_update_mask_user(uint32_t state) { 
     if (state & (1UL<<0) && state & (1UL<<1)) {
     if (state & (1UL<<0) && state & (1UL<<1)) {
         layer_on(_ADJUST); // C on esc
         layer_on(_ADJUST); // C on esc
     } else {
     } else {
@@ -94,6 +97,7 @@ void dip_switch_update_mask_user(uint32_t state) {
     } else {
     } else {
         layer_off(_TEST_B);
         layer_off(_TEST_B);
     }
     }
+    return true;
 }
 }
 ```
 ```
 
 

+ 2 - 1
keyboards/abacus/keymaps/unicodemap/keymap.c

@@ -108,7 +108,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
 }
 }
 
 
 
 
-void dip_switch_update_user(uint8_t index, bool active) {
+bool dip_switch_update_user(uint8_t index, bool active) {
     switch (index) {
     switch (index) {
         case 0:
         case 0:
             if(active) {
             if(active) {
@@ -125,6 +125,7 @@ void dip_switch_update_user(uint8_t index, bool active) {
                 }
                 }
         }
         }
     }
     }
+    return true;
 }
 }
 
 
 
 

+ 17 - 16
keyboards/handwired/6key/keymaps/default/keymap.c

@@ -1,17 +1,17 @@
- /* Copyright 2020 Bratzworth 
-  * 
-  * This program is free software: you can redistribute it and/or modify 
-  * it under the terms of the GNU General Public License as published by 
-  * the Free Software Foundation, either version 2 of the License, or 
-  * (at your option) any later version. 
-  * 
-  * This program is distributed in the hope that it will be useful, 
-  * but WITHOUT ANY WARRANTY; without even the implied warranty of 
-  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the 
-  * GNU General Public License for more details. 
-  * 
-  * You should have received a copy of the GNU General Public License 
-  * along with this program.  If not, see <http://www.gnu.org/licenses/>. 
+ /* Copyright 2020 Bratzworth
+  *
+  * This program is free software: you can redistribute it and/or modify
+  * it under the terms of the GNU General Public License as published by
+  * the Free Software Foundation, either version 2 of the License, or
+  * (at your option) any later version.
+  *
+  * This program is distributed in the hope that it will be useful,
+  * but WITHOUT ANY WARRANTY; without even the implied warranty of
+  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+  * GNU General Public License for more details.
+  *
+  * You should have received a copy of the GNU General Public License
+  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
   */
   */
 #include QMK_KEYBOARD_H
 #include QMK_KEYBOARD_H
 
 
@@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
   )
   )
 };
 };
 
 
-void dip_switch_update_user(uint8_t index, bool active) {
+bool dip_switch_update_user(uint8_t index, bool active) {
     switch (index) {
     switch (index) {
         case 0: {
         case 0: {
             if (active) {
             if (active) {
@@ -43,4 +43,5 @@ void dip_switch_update_user(uint8_t index, bool active) {
             }
             }
         }
         }
     }
     }
-}
+    return true;
+}

+ 2 - 1
keyboards/helix/rev3_4rows/rev3_4rows.c

@@ -30,7 +30,7 @@ void set_mac_mode(bool macmode) {
     eeconfig_update_keymap(keymap_config.raw);
     eeconfig_update_keymap(keymap_config.raw);
 }
 }
 
 
-void dip_switch_update_kb(uint8_t index, bool active) {
+bool dip_switch_update_kb(uint8_t index, bool active) {
     switch (index) {
     switch (index) {
     case 0:
     case 0:
         if(active) { // Left no.1  Helix rev3 common
         if(active) { // Left no.1  Helix rev3 common
@@ -43,4 +43,5 @@ void dip_switch_update_kb(uint8_t index, bool active) {
         dip_switch_update_user(index, active);
         dip_switch_update_user(index, active);
         break;
         break;
     }
     }
+    return true;
 }
 }

+ 2 - 1
keyboards/helix/rev3_5rows/rev3_5rows.c

@@ -30,7 +30,7 @@ void set_mac_mode(bool macmode) {
     eeconfig_update_keymap(keymap_config.raw);
     eeconfig_update_keymap(keymap_config.raw);
 }
 }
 
 
-void dip_switch_update_kb(uint8_t index, bool active) {
+bool dip_switch_update_kb(uint8_t index, bool active) {
     switch (index) {
     switch (index) {
     case 0:
     case 0:
         if(active) { // Left no.1  Helix rev3 common
         if(active) { // Left no.1  Helix rev3 common
@@ -43,4 +43,5 @@ void dip_switch_update_kb(uint8_t index, bool active) {
         dip_switch_update_user(index, active);
         dip_switch_update_user(index, active);
         break;
         break;
     }
     }
+    return true;
 }
 }

+ 2 - 1
keyboards/pandora/keymaps/default/keymap.c

@@ -30,7 +30,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
 }
 }
 
 
 // Encoder click function
 // Encoder click function
-void dip_switch_update_user(uint8_t index, bool active) {
+bool dip_switch_update_user(uint8_t index, bool active) {
     switch (index) {
     switch (index) {
     /* First encoder */
     /* First encoder */
     case 0:
     case 0:
@@ -39,4 +39,5 @@ void dip_switch_update_user(uint8_t index, bool active) {
         }
         }
         break;
         break;
     }
     }
+    return true;
 }
 }

+ 2 - 1
keyboards/pandora/keymaps/via/keymap.c

@@ -45,7 +45,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
 }
 }
 
 
 // Encoder click function
 // Encoder click function
-void dip_switch_update_user(uint8_t index, bool active) {
+bool dip_switch_update_user(uint8_t index, bool active) {
     switch (index) {
     switch (index) {
     /* First encoder */
     /* First encoder */
     case 0:
     case 0:
@@ -54,4 +54,5 @@ void dip_switch_update_user(uint8_t index, bool active) {
         }
         }
         break;
         break;
     }
     }
+    return true;
 }
 }

+ 2 - 1
keyboards/planck/keymaps/abishalom/keymap.c

@@ -254,7 +254,7 @@ bool encoder_update(bool clockwise) {
     return true;
     return true;
 }
 }
 
 
-void dip_switch_update_user(uint8_t index, bool active) {
+bool dip_switch_update_user(uint8_t index, bool active) {
     switch (index) {
     switch (index) {
         case 0: {
         case 0: {
 #ifdef AUDIO_ENABLE
 #ifdef AUDIO_ENABLE
@@ -283,6 +283,7 @@ void dip_switch_update_user(uint8_t index, bool active) {
                 muse_mode = false;
                 muse_mode = false;
             }
             }
     }
     }
+    return true;
 }
 }
 
 
 void matrix_scan_user(void) {
 void matrix_scan_user(void) {

+ 2 - 1
keyboards/planck/keymaps/atreus/keymap.c

@@ -177,7 +177,7 @@ bool encoder_update(bool clockwise) {
     return true;
     return true;
 }
 }
 
 
-void dip_switch_update_user(uint8_t index, bool active) {
+bool dip_switch_update_user(uint8_t index, bool active) {
     switch (index) {
     switch (index) {
         case 0: {
         case 0: {
 #ifdef AUDIO_ENABLE
 #ifdef AUDIO_ENABLE
@@ -206,6 +206,7 @@ void dip_switch_update_user(uint8_t index, bool active) {
                 muse_mode = false;
                 muse_mode = false;
             }
             }
     }
     }
+    return true;
 }
 }
 
 
 void matrix_scan_user(void) {
 void matrix_scan_user(void) {

+ 2 - 1
keyboards/planck/keymaps/dear_vehicle_owner/keymap.c

@@ -296,7 +296,7 @@ bool encoder_update(bool clockwise) {
     return true;
     return true;
 }
 }
 
 
-void dip_switch_update_user(uint8_t index, bool active) {
+bool dip_switch_update_user(uint8_t index, bool active) {
     switch (index) {
     switch (index) {
         case 0: {
         case 0: {
 #ifdef AUDIO_ENABLE
 #ifdef AUDIO_ENABLE
@@ -325,6 +325,7 @@ void dip_switch_update_user(uint8_t index, bool active) {
                 muse_mode = false;
                 muse_mode = false;
             }
             }
     }
     }
+    return true;
 }
 }
 
 
 void matrix_scan_user(void) {
 void matrix_scan_user(void) {

+ 2 - 1
keyboards/planck/keymaps/default/keymap.c

@@ -289,7 +289,7 @@ bool encoder_update(bool clockwise) {
     return true;
     return true;
 }
 }
 
 
-void dip_switch_update_user(uint8_t index, bool active) {
+bool dip_switch_update_user(uint8_t index, bool active) {
     switch (index) {
     switch (index) {
         case 0: {
         case 0: {
 #ifdef AUDIO_ENABLE
 #ifdef AUDIO_ENABLE
@@ -318,6 +318,7 @@ void dip_switch_update_user(uint8_t index, bool active) {
                 muse_mode = false;
                 muse_mode = false;
             }
             }
     }
     }
+    return true;
 }
 }
 
 
 void matrix_scan_user(void) {
 void matrix_scan_user(void) {

+ 2 - 1
keyboards/planck/keymaps/gitdrik/keymap.c

@@ -170,7 +170,7 @@ bool encoder_update(bool clockwise) {
     return true;
     return true;
 }
 }
 
 
-void dip_switch_update_user(uint8_t index, bool active) {
+bool dip_switch_update_user(uint8_t index, bool active) {
     switch (index) {
     switch (index) {
         case 0: {
         case 0: {
 #ifdef AUDIO_ENABLE
 #ifdef AUDIO_ENABLE
@@ -199,6 +199,7 @@ void dip_switch_update_user(uint8_t index, bool active) {
                 muse_mode = false;
                 muse_mode = false;
             }
             }
     }
     }
+    return true;
 }
 }
 
 
 void matrix_scan_user(void) {
 void matrix_scan_user(void) {

+ 2 - 1
keyboards/planck/keymaps/grant24/keymap.c

@@ -312,7 +312,7 @@ bool encoder_update(bool clockwise) {
     return true;
     return true;
 }
 }
 
 
-void dip_switch_update_user(uint8_t index, bool active) {
+bool dip_switch_update_user(uint8_t index, bool active) {
     switch (index) {
     switch (index) {
         case 0: {
         case 0: {
 #ifdef AUDIO_ENABLE
 #ifdef AUDIO_ENABLE
@@ -341,6 +341,7 @@ void dip_switch_update_user(uint8_t index, bool active) {
                 muse_mode = false;
                 muse_mode = false;
             }
             }
     }
     }
+    return true;
 }
 }
 
 
 void matrix_scan_user(void) {
 void matrix_scan_user(void) {

+ 2 - 1
keyboards/planck/keymaps/hvp/keymap.c

@@ -122,7 +122,7 @@ bool encoder_update(bool clockwise) {
     return true;
     return true;
 }
 }
 
 
-void dip_switch_update_user(uint8_t index, bool active) {
+bool dip_switch_update_user(uint8_t index, bool active) {
     switch (index) {
     switch (index) {
         case 0: {
         case 0: {
 #ifdef AUDIO_ENABLE
 #ifdef AUDIO_ENABLE
@@ -151,6 +151,7 @@ void dip_switch_update_user(uint8_t index, bool active) {
                 muse_mode = false;
                 muse_mode = false;
             }
             }
     }
     }
+    return true;
 }
 }
 
 
 void matrix_scan_user(void) {
 void matrix_scan_user(void) {

+ 2 - 1
keyboards/planck/keymaps/jdelkins/keymap.c

@@ -291,7 +291,7 @@ void encoder_update(bool clockwise) {
   }
   }
 }
 }
 
 
-void dip_switch_update_user(uint8_t index, bool active) {
+bool dip_switch_update_user(uint8_t index, bool active) {
     switch (index) {
     switch (index) {
         case 0: {
         case 0: {
 #ifdef AUDIO_ENABLE
 #ifdef AUDIO_ENABLE
@@ -320,6 +320,7 @@ void dip_switch_update_user(uint8_t index, bool active) {
                 muse_mode = false;
                 muse_mode = false;
             }
             }
     }
     }
+    return true;
 }
 }
 
 
 void keyboard_post_init_keymap(void) {
 void keyboard_post_init_keymap(void) {

+ 2 - 1
keyboards/planck/keymaps/lja83/keymap.c

@@ -299,7 +299,7 @@ bool encoder_update_user(uint16_t index, bool clockwise) {
     return true;
     return true;
 }
 }
 
 
-void dip_switch_update_user(uint8_t index, bool active) {
+bool dip_switch_update_user(uint8_t index, bool active) {
     switch (index) {
     switch (index) {
         case 0: {
         case 0: {
 #ifdef AUDIO_ENABLE
 #ifdef AUDIO_ENABLE
@@ -328,6 +328,7 @@ void dip_switch_update_user(uint8_t index, bool active) {
                 muse_mode = false;
                 muse_mode = false;
             }
             }
     }
     }
+    return true;
 }
 }
 
 
 void matrix_scan_user(void) {
 void matrix_scan_user(void) {

+ 2 - 1
keyboards/planck/keymaps/mjuma/keymap.c

@@ -190,7 +190,7 @@ uint16_t muse_counter = 0;
 uint8_t muse_offset = 70;
 uint8_t muse_offset = 70;
 uint16_t muse_tempo = 50;
 uint16_t muse_tempo = 50;
 
 
-void dip_switch_update_user(uint8_t index, bool active) {
+bool dip_switch_update_user(uint8_t index, bool active) {
     switch (index) {
     switch (index) {
         case 1:
         case 1:
             if (active) {
             if (active) {
@@ -199,6 +199,7 @@ void dip_switch_update_user(uint8_t index, bool active) {
                 muse_mode = false;
                 muse_mode = false;
             }
             }
     }
     }
+    return true;
 }
 }
 
 
 void matrix_scan_user(void) {
 void matrix_scan_user(void) {

+ 2 - 1
keyboards/planck/keymaps/rjhilgefort/keymap.c

@@ -187,7 +187,7 @@ bool encoder_update(bool clockwise) {
     return true;
     return true;
 }
 }
 
 
-void dip_switch_update_user(uint8_t index, bool active) {
+bool dip_switch_update_user(uint8_t index, bool active) {
     switch (index) {
     switch (index) {
         case 0: {
         case 0: {
 #ifdef AUDIO_ENABLE
 #ifdef AUDIO_ENABLE
@@ -216,6 +216,7 @@ void dip_switch_update_user(uint8_t index, bool active) {
                 muse_mode = false;
                 muse_mode = false;
             }
             }
     }
     }
+    return true;
 }
 }
 
 
 void matrix_scan_user(void) {
 void matrix_scan_user(void) {

+ 3 - 3
keyboards/planck/rev6/rev6.c

@@ -61,10 +61,10 @@ void matrix_scan_kb(void) {
 
 
 #ifdef DIP_SWITCH_ENABLE
 #ifdef DIP_SWITCH_ENABLE
 __attribute__((weak))
 __attribute__((weak))
-void dip_update(uint8_t index, bool active) {}
+bool dip_update(uint8_t index, bool active) { return true; }
 
 
 __attribute__((weak))
 __attribute__((weak))
-void dip_switch_update_user(uint8_t index, bool active) {
-    dip_update(index, active);
+bool dip_switch_update_user(uint8_t index, bool active) {
+    return dip_update(index, active);
 }
 }
 #endif
 #endif

+ 2 - 1
keyboards/planck/thk/keymaps/thk/keymap.c

@@ -213,7 +213,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
   return true;
   return true;
 }
 }
 
 
-void dip_switch_update_user(uint8_t index, bool active) {
+bool dip_switch_update_user(uint8_t index, bool active) {
   switch (index) {
   switch (index) {
     case 0: {
     case 0: {
       if (active) {
       if (active) {
@@ -237,4 +237,5 @@ void dip_switch_update_user(uint8_t index, bool active) {
       SEND_STRING("This is a Planck THK");
       SEND_STRING("This is a Planck THK");
       break;
       break;
   }
   }
+    return true;
 }
 }

+ 2 - 1
keyboards/preonic/keymaps/AlexDaigre/keymap.c

@@ -276,7 +276,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
     return true;
     return true;
 }
 }
 
 
-void dip_switch_update_user(uint8_t index, bool active) {
+bool dip_switch_update_user(uint8_t index, bool active) {
     switch (index) {
     switch (index) {
         case 0:
         case 0:
             if (active) {
             if (active) {
@@ -292,6 +292,7 @@ void dip_switch_update_user(uint8_t index, bool active) {
                 muse_mode = false;
                 muse_mode = false;
             }
             }
     }
     }
+    return true;
 }
 }
 
 
 
 

+ 2 - 1
keyboards/preonic/keymaps/default/keymap.c

@@ -263,7 +263,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
     return true;
     return true;
 }
 }
 
 
-void dip_switch_update_user(uint8_t index, bool active) {
+bool dip_switch_update_user(uint8_t index, bool active) {
     switch (index) {
     switch (index) {
         case 0:
         case 0:
             if (active) {
             if (active) {
@@ -279,6 +279,7 @@ void dip_switch_update_user(uint8_t index, bool active) {
                 muse_mode = false;
                 muse_mode = false;
             }
             }
     }
     }
+    return true;
 }
 }
 
 
 
 

+ 2 - 1
keyboards/preonic/keymaps/drasbeck/keymap.c

@@ -190,7 +190,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
     return true;
     return true;
 }
 }
 
 
-void dip_switch_update_user(uint8_t index, bool active) {
+bool dip_switch_update_user(uint8_t index, bool active) {
     switch (index) {
     switch (index) {
         case 0:
         case 0:
             if (active) {
             if (active) {
@@ -206,6 +206,7 @@ void dip_switch_update_user(uint8_t index, bool active) {
                 muse_mode = false;
                 muse_mode = false;
             }
             }
     }
     }
+    return true;
 }
 }
 
 
 
 

+ 2 - 1
keyboards/preonic/keymaps/elisiano/keymap.c

@@ -257,7 +257,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
     return true;
     return true;
 }
 }
 
 
-void dip_switch_update_user(uint8_t index, bool active) {
+bool dip_switch_update_user(uint8_t index, bool active) {
     switch (index) {
     switch (index) {
         case 0:
         case 0:
             if (active) {
             if (active) {
@@ -273,6 +273,7 @@ void dip_switch_update_user(uint8_t index, bool active) {
                 muse_mode = false;
                 muse_mode = false;
             }
             }
     }
     }
+    return true;
 }
 }
 
 
 
 

+ 2 - 1
keyboards/preonic/keymaps/keelhauler/keymap.c

@@ -264,7 +264,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
     return true;
     return true;
 }
 }
 
 
-void dip_switch_update_user(uint8_t index, bool active) {
+bool dip_switch_update_user(uint8_t index, bool active) {
     switch (index) {
     switch (index) {
         case 0:
         case 0:
             if (active) {
             if (active) {
@@ -280,6 +280,7 @@ void dip_switch_update_user(uint8_t index, bool active) {
                 muse_mode = false;
                 muse_mode = false;
             }
             }
     }
     }
+    return true;
 }
 }
 
 
 
 

+ 2 - 1
keyboards/preonic/keymaps/kjwon15/keymap.c

@@ -327,7 +327,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
     return true;
     return true;
 }
 }
 
 
-void dip_switch_update_user(uint8_t index, bool active) {
+bool dip_switch_update_user(uint8_t index, bool active) {
     switch (index) {
     switch (index) {
         case 0:
         case 0:
             if (active) {
             if (active) {
@@ -343,6 +343,7 @@ void dip_switch_update_user(uint8_t index, bool active) {
                 muse_mode = false;
                 muse_mode = false;
             }
             }
     }
     }
+    return true;
 }
 }
 
 
 void matrix_scan_user(void) {
 void matrix_scan_user(void) {

+ 2 - 1
keyboards/preonic/keymaps/laurentlaurent/keymap.c

@@ -554,7 +554,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
     return true;
     return true;
 }
 }
 
 
-void dip_switch_update_user(uint8_t index, bool active) {
+bool dip_switch_update_user(uint8_t index, bool active) {
     switch (index) {
     switch (index) {
         case 0:
         case 0:
             if (active) {
             if (active) {
@@ -570,6 +570,7 @@ void dip_switch_update_user(uint8_t index, bool active) {
                 muse_mode = false;
                 muse_mode = false;
             }
             }
     }
     }
+    return true;
 }
 }
 
 
 void matrix_scan_user(void) {
 void matrix_scan_user(void) {

+ 2 - 1
keyboards/preonic/keymaps/mguterl/keymap.c

@@ -273,7 +273,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
     return true;
     return true;
 }
 }
 
 
-void dip_switch_update_user(uint8_t index, bool active) {
+bool dip_switch_update_user(uint8_t index, bool active) {
     switch (index) {
     switch (index) {
         case 0:
         case 0:
             if (active) {
             if (active) {
@@ -289,6 +289,7 @@ void dip_switch_update_user(uint8_t index, bool active) {
                 muse_mode = false;
                 muse_mode = false;
             }
             }
     }
     }
+    return true;
 }
 }
 
 
 
 

+ 2 - 1
keyboards/preonic/keymaps/mverteuil/keymap.c

@@ -459,7 +459,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
     return true;
     return true;
 }
 }
 
 
-void dip_switch_update_user(uint8_t index, bool active) {
+bool dip_switch_update_user(uint8_t index, bool active) {
     switch (index) {
     switch (index) {
         case 0:
         case 0:
             if (active) {
             if (active) {
@@ -475,6 +475,7 @@ void dip_switch_update_user(uint8_t index, bool active) {
                 muse_mode = false;
                 muse_mode = false;
             }
             }
     }
     }
+    return true;
 }
 }
 
 
 void matrix_scan_user(void) {
 void matrix_scan_user(void) {

+ 2 - 1
keyboards/preonic/keymaps/mverteuil_2x2u/keymap.c

@@ -395,7 +395,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
     return true;
     return true;
 }
 }
 
 
-void dip_switch_update_user(uint8_t index, bool active) {
+bool dip_switch_update_user(uint8_t index, bool active) {
     switch (index) {
     switch (index) {
         case 0:
         case 0:
             if (active) {
             if (active) {
@@ -411,4 +411,5 @@ void dip_switch_update_user(uint8_t index, bool active) {
                 muse_mode = false;
                 muse_mode = false;
             }
             }
     }
     }
+    return true;
 }
 }

+ 2 - 1
keyboards/preonic/keymaps/pezhore/keymap.c

@@ -257,7 +257,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
     return true;
     return true;
 }
 }
 
 
-void dip_switch_update_user(uint8_t index, bool active) {
+bool dip_switch_update_user(uint8_t index, bool active) {
     switch (index) {
     switch (index) {
         case 0:
         case 0:
             if (active) {
             if (active) {
@@ -273,6 +273,7 @@ void dip_switch_update_user(uint8_t index, bool active) {
                 muse_mode = false;
                 muse_mode = false;
             }
             }
     }
     }
+    return true;
 }
 }
 
 
 
 

+ 2 - 1
keyboards/preonic/keymaps/senseored/keymap.c

@@ -345,7 +345,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
     return true;
     return true;
 }
 }
 
 
-void dip_switch_update_user(uint8_t index, bool active) {
+bool dip_switch_update_user(uint8_t index, bool active) {
     switch (index) {
     switch (index) {
         case 0:
         case 0:
             if (active) {
             if (active) {
@@ -361,6 +361,7 @@ void dip_switch_update_user(uint8_t index, bool active) {
                 muse_mode = false;
                 muse_mode = false;
             }
             }
     }
     }
+    return true;
 }
 }
 
 
 
 

+ 2 - 1
keyboards/preonic/keymaps/via/keymap.c

@@ -147,7 +147,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
     return true;
     return true;
 }
 }
 
 
-void dip_switch_update_user(uint8_t index, bool active) {
+bool dip_switch_update_user(uint8_t index, bool active) {
     switch (index) {
     switch (index) {
         case 0:
         case 0:
             if (active) {
             if (active) {
@@ -163,6 +163,7 @@ void dip_switch_update_user(uint8_t index, bool active) {
                 muse_mode = false;
                 muse_mode = false;
             }
             }
     }
     }
+    return true;
 }
 }
 
 
 
 

+ 3 - 3
keyboards/preonic/rev3/rev3.c

@@ -53,11 +53,11 @@ void matrix_scan_kb(void) {
 
 
 #ifdef DIP_SWITCH_ENABLE
 #ifdef DIP_SWITCH_ENABLE
  __attribute__((weak))
  __attribute__((weak))
-void dip_update(uint8_t index, bool active) {}
+bool dip_update(uint8_t index, bool active) { return true;}
 
 
  __attribute__((weak))
  __attribute__((weak))
-void dip_switch_update_user(uint8_t index, bool active) {
-    dip_update(index, active);
+bool dip_switch_update_user(uint8_t index, bool active) {
+    return dip_update(index, active);
 }
 }
 #endif
 #endif
 
 

+ 2 - 1
layouts/community/ortho_4x12/brandonschlack/keymap.c

@@ -154,7 +154,7 @@ bool encoder_update_keymap(uint8_t index, bool clockwise) {
     return true;
     return true;
 }
 }
 
 
-void dip_switch_update_user(uint8_t index, bool active) {
+bool dip_switch_update_user(uint8_t index, bool active) {
     switch (index) {
     switch (index) {
         case 0: {
         case 0: {
 #ifdef AUDIO_ENABLE
 #ifdef AUDIO_ENABLE
@@ -183,6 +183,7 @@ void dip_switch_update_user(uint8_t index, bool active) {
                 muse_mode = false;
                 muse_mode = false;
             }
             }
     }
     }
+    return true;
 }
 }
 
 
 void matrix_scan_keymap(void) {
 void matrix_scan_keymap(void) {

+ 2 - 1
layouts/community/ortho_4x12/mguterl/keymap.c

@@ -290,7 +290,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
     return true;
     return true;
 }
 }
 
 
-void dip_switch_update_user(uint8_t index, bool active) {
+bool dip_switch_update_user(uint8_t index, bool active) {
     switch (index) {
     switch (index) {
         case 0: {
         case 0: {
 #ifdef AUDIO_ENABLE
 #ifdef AUDIO_ENABLE
@@ -319,6 +319,7 @@ void dip_switch_update_user(uint8_t index, bool active) {
                 muse_mode = false;
                 muse_mode = false;
             }
             }
     }
     }
+    return true;
 }
 }
 
 
 void matrix_scan_user(void) {
 void matrix_scan_user(void) {

+ 2 - 1
layouts/community/ortho_5x12/brandonschlack/keymap.c

@@ -149,7 +149,7 @@ bool encoder_update_keymap(uint8_t index, bool clockwise) {
     return true;
     return true;
 }
 }
 
 
-void dip_switch_update_user(uint8_t index, bool active) {
+bool dip_switch_update_user(uint8_t index, bool active) {
     switch (index) {
     switch (index) {
         case 0: {
         case 0: {
 #ifdef AUDIO_ENABLE
 #ifdef AUDIO_ENABLE
@@ -178,6 +178,7 @@ void dip_switch_update_user(uint8_t index, bool active) {
                 muse_mode = false;
                 muse_mode = false;
             }
             }
     }
     }
+    return true;
 }
 }
 
 
 
 

+ 4 - 4
quantum/dip_switch.c

@@ -49,13 +49,13 @@ static uint16_t       scan_count;
 static bool dip_switch_state[NUMBER_OF_DIP_SWITCHES]      = {0};
 static bool dip_switch_state[NUMBER_OF_DIP_SWITCHES]      = {0};
 static bool last_dip_switch_state[NUMBER_OF_DIP_SWITCHES] = {0};
 static bool last_dip_switch_state[NUMBER_OF_DIP_SWITCHES] = {0};
 
 
-__attribute__((weak)) void dip_switch_update_user(uint8_t index, bool active) {}
+__attribute__((weak)) bool dip_switch_update_user(uint8_t index, bool active) { return true; }
 
 
-__attribute__((weak)) void dip_switch_update_kb(uint8_t index, bool active) { dip_switch_update_user(index, active); }
+__attribute__((weak)) bool dip_switch_update_kb(uint8_t index, bool active) { return dip_switch_update_user(index, active); }
 
 
-__attribute__((weak)) void dip_switch_update_mask_user(uint32_t state) {}
+__attribute__((weak)) bool dip_switch_update_mask_user(uint32_t state) { return true; }
 
 
-__attribute__((weak)) void dip_switch_update_mask_kb(uint32_t state) { dip_switch_update_mask_user(state); }
+__attribute__((weak)) bool dip_switch_update_mask_kb(uint32_t state) { return dip_switch_update_mask_user(state); }
 
 
 void dip_switch_init(void) {
 void dip_switch_init(void) {
 #ifdef DIP_SWITCH_PINS
 #ifdef DIP_SWITCH_PINS

+ 4 - 4
quantum/dip_switch.h

@@ -20,10 +20,10 @@
 
 
 #include "quantum.h"
 #include "quantum.h"
 
 
-void dip_switch_update_kb(uint8_t index, bool active);
-void dip_switch_update_user(uint8_t index, bool active);
-void dip_switch_update_mask_user(uint32_t state);
-void dip_switch_update_mask_kb(uint32_t state);
+bool dip_switch_update_kb(uint8_t index, bool active);
+bool dip_switch_update_user(uint8_t index, bool active);
+bool dip_switch_update_mask_user(uint32_t state);
+bool dip_switch_update_mask_kb(uint32_t state);
 
 
 void dip_switch_init(void);
 void dip_switch_init(void);
 void dip_switch_read(bool forced);
 void dip_switch_read(bool forced);