summary refs log tree commit diff
diff options
context:
space:
mode:
authorDrashna Jaelre <drashna@live.com>2022-06-18 14:37:51 -0700
committerGitHub <noreply@github.com>2022-06-19 07:37:51 +1000
commit0da6562c4df570729889690e21061229c5648b73 (patch)
treefe4145db4772116d55bf5f9af2502b041a8f31b7
parentcfcd647b2eec10d510194ca84cd37486fcf44fd4 (diff)
Make default layer size 16-bit (#15286)
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
-rw-r--r--docs/zh-cn/custom_quantum_functions.md7
-rw-r--r--keyboards/1upkeyboards/sweet16/keymaps/ridingintraffic/keymap.c2
-rw-r--r--keyboards/40percentclub/gherkin/keymaps/itsaferbie/keymap.c2
-rw-r--r--keyboards/40percentclub/half_n_half/keymaps/Boy_314/keymap.c4
-rw-r--r--keyboards/bandominedoni/keymaps/led/keymap.c2
-rw-r--r--keyboards/bandominedoni/keymaps/via/keymap.c2
-rw-r--r--keyboards/biacco42/ergo42/keymaps/hdbx/keymap.c4
-rw-r--r--keyboards/bpiphany/kitten_paw/keymaps/ickerwx/keymap.c4
-rw-r--r--keyboards/bpiphany/pegasushoof/keymaps/blowrak/keymap.c2
-rw-r--r--keyboards/cannonkeys/ortho75/ortho75.c73
-rw-r--r--keyboards/cannonkeys/satisfaction75/satisfaction75.c2
-rw-r--r--keyboards/ckeys/washington/keymaps/default/keymap.c4
-rw-r--r--keyboards/clueboard/66/keymaps/magicmonty/keymap.c2
-rw-r--r--keyboards/crkbd/keymaps/dsanchezseco/keymap.c2
-rw-r--r--keyboards/crkbd/keymaps/edvorakjp/keymap.c4
-rw-r--r--keyboards/crkbd/keymaps/edvorakjp/oled.c2
-rw-r--r--keyboards/crkbd/keymaps/jarred/keymap.c2
-rwxr-xr-xkeyboards/dichotomy/keymaps/default/keymap.c4
-rw-r--r--keyboards/dm9records/plaid/keymaps/thehalfdeafchef/keymap.c2
-rw-r--r--keyboards/dz60/keymaps/iso_split-spacebar/keymap.c28
-rw-r--r--keyboards/dz60/keymaps/marianas/customLogic.c2
-rw-r--r--keyboards/dz60/keymaps/xtonhasvim/keymap.c4
-rw-r--r--keyboards/dztech/dz60rgb/keymaps/matthewrobo/keymap.c2
-rw-r--r--keyboards/dztech/dz60rgb/keymaps/mekanist/keymap.c4
-rw-r--r--keyboards/dztech/dz60rgb/keymaps/perseid/keymap.c4
-rw-r--r--keyboards/dztech/dz65rgb/keymaps/catrielmuller/keymap.c4
-rw-r--r--keyboards/dztech/dz65rgb/keymaps/drootz/keymap.c156
-rw-r--r--keyboards/dztech/dz65rgb/keymaps/matthewrobo/keymap.c2
-rwxr-xr-xkeyboards/ergodox_ez/keymaps/bepo_tm_style/keymap.c2
-rw-r--r--keyboards/ergodox_ez/keymaps/blakedietz/keymap.c3
-rw-r--r--keyboards/ergodox_ez/keymaps/bpruitt-goddard/keymap.c2
-rw-r--r--keyboards/ergodox_ez/keymaps/default_osx/keymap.c2
-rw-r--r--keyboards/ergodox_ez/keymaps/dvorak_42_key/keymap.c2
-rw-r--r--keyboards/ergodox_ez/keymaps/hacker_dvorak/user/layer_set_state_user.c2
-rw-r--r--keyboards/ergodox_ez/keymaps/heartrobotninja/keymap.c4
-rw-r--r--keyboards/ergodox_ez/keymaps/kou/keymap.c2
-rw-r--r--keyboards/ergodox_ez/keymaps/lukaus/keymap.c2
-rw-r--r--keyboards/ergodox_ez/keymaps/matrixman/keymap.c2
-rw-r--r--keyboards/ergodox_ez/keymaps/nathanvercaemert/keymap.c3
-rw-r--r--keyboards/ergodox_ez/keymaps/nfriend/keymap.c2
-rw-r--r--keyboards/ergodox_ez/keymaps/profet_80/keymap.c2
-rw-r--r--keyboards/ergodox_ez/keymaps/pvinis/keymap.c6
-rw-r--r--keyboards/ergodox_ez/keymaps/rgb_layer/keymap.c3
-rw-r--r--keyboards/ergodox_ez/keymaps/rishka/keymap.c2
-rw-r--r--keyboards/ergodox_ez/keymaps/skug/keymap.c2
-rw-r--r--keyboards/ergodox_ez/keymaps/smurmann/keymap.c8
-rw-r--r--keyboards/ergodox_ez/keymaps/steno/keymap.c2
-rw-r--r--keyboards/ergodox_ez/keymaps/testing/keymap.c2
-rw-r--r--keyboards/ergodox_ez/keymaps/vim/keymap.c2
-rwxr-xr-xkeyboards/ergodox_ez/util/compile_keymap.py110
-rw-r--r--keyboards/ergoslab/keymaps/default/keymap.c2
-rw-r--r--keyboards/exclusive/e65/keymaps/masterzen/keymap.c2
-rw-r--r--keyboards/exclusive/e7v1/keymaps/masterzen/keymap.c2
-rw-r--r--keyboards/gboards/gergo/keymaps/colemak/keymap.c5
-rw-r--r--keyboards/gh60/revc/keymaps/dbroqua/keymap.c4
-rw-r--r--keyboards/gh60/revc/keymaps/default/keymap.c2
-rw-r--r--keyboards/gh60/revc/keymaps/robotmaxtron/keymap.c2
-rw-r--r--keyboards/gh60/satan/keymaps/addcninblue/keymap.c2
-rw-r--r--keyboards/glenpickle/chimera_ergo/keymaps/default/keymap.c2
-rw-r--r--keyboards/glenpickle/chimera_ls/keymaps/default/keymap.c2
-rw-r--r--keyboards/glenpickle/chimera_ortho/keymaps/default/keymap.c2
-rw-r--r--keyboards/gon/nerdtkl/keymaps/gam3cat/keymap.c2
-rw-r--r--keyboards/handwired/frenchdev/keymaps/default/keymap.c2
-rw-r--r--keyboards/handwired/kbod/keymaps/default/keymap.c2
-rw-r--r--keyboards/handwired/prime_exl/keymaps/via/keymap.c2
-rw-r--r--keyboards/handwired/promethium/keymaps/default/keymap.c6
-rw-r--r--keyboards/handwired/promethium/keymaps/priyadi/keymap.c8
-rw-r--r--keyboards/handwired/traveller/keymaps/default/keymap.c2
-rw-r--r--keyboards/handwired/tritium_numpad/keymaps/blu/keymap.c2
-rw-r--r--keyboards/helix/pico/keymaps/mtei/keymap.c2
-rw-r--r--keyboards/helix/rev2/keymaps/default/oled_display.c2
-rw-r--r--keyboards/helix/rev2/keymaps/edvorakjp/keymap.c4
-rw-r--r--keyboards/helix/rev2/keymaps/edvorakjp/oled.c2
-rw-r--r--keyboards/helix/rev2/keymaps/five_rows/keymap.c4
-rw-r--r--keyboards/helix/rev3_5rows/keymaps/five_rows/keymap.c4
-rw-r--r--keyboards/hineybush/h87a/keymaps/gam3cat/keymap.c2
-rw-r--r--keyboards/hotdox/keymaps/default/keymap.c2
-rw-r--r--keyboards/hotdox/keymaps/eozaki/keymap.c2
-rw-r--r--keyboards/hotdox/keymaps/kloki/keymap.c2
-rw-r--r--keyboards/input_club/ergodox_infinity/keymaps/default/keymap.c2
-rw-r--r--keyboards/input_club/ergodox_infinity/keymaps/gordon/keymap.c2
-rw-r--r--keyboards/input_club/ergodox_infinity/keymaps/halfkeyboard/keymap.c2
-rw-r--r--keyboards/input_club/ergodox_infinity/keymaps/input_club/keymap.c2
-rw-r--r--keyboards/input_club/ergodox_infinity/keymaps/narze/keymap.c2
-rw-r--r--keyboards/input_club/ergodox_infinity/keymaps/nordic_ergo/keymap.c2
-rw-r--r--keyboards/input_club/ergodox_infinity/keymaps/rask/keymap.c2
-rw-r--r--keyboards/input_club/ergodox_infinity/keymaps/rjhilgefort/keymap.c2
-rw-r--r--keyboards/input_club/ergodox_infinity/keymaps/trulyergonomic/keymap.c2
-rw-r--r--keyboards/input_club/infinity60/keymaps/jpetermans/keymap.c4
-rw-r--r--keyboards/jc65/v32u4/keymaps/gam3cat/keymap.c2
-rw-r--r--keyboards/jones/v03_1/keymaps/default_ansi/keymap.c2
-rw-r--r--keyboards/jones/v03_1/keymaps/default_jp/keymap.c2
-rw-r--r--keyboards/kakunpc/angel64/alpha/keymaps/default/keymap.c2
-rw-r--r--keyboards/kakunpc/angel64/rev1/keymaps/kakunpc/keymap.c2
-rw-r--r--keyboards/kakunpc/suihankey/alpha/keymaps/default/keymap.c2
-rw-r--r--keyboards/kakunpc/suihankey/rev1/keymaps/default/keymap.c2
-rw-r--r--keyboards/kbdfans/kbd6x/keymaps/othi/keymap.c3
-rw-r--r--keyboards/kbdfans/kbd75/keymaps/edulpn/keymap.c2
-rw-r--r--keyboards/kbdfans/niu_mini/keymaps/tobias/keymap.c30
-rw-r--r--keyboards/kbdfans/niu_mini/keymaps/xtonhasvim/keymap.c2
-rw-r--r--keyboards/keebio/bdn9/keymaps/vosechu-ksp/keymap.c2
-rw-r--r--keyboards/keebio/bfo9000/keymaps/abstractkb/keymap.c5
-rw-r--r--keyboards/keebio/iris/keymaps/edvorakjp/keymap.c4
-rw-r--r--keyboards/keebio/iris/keymaps/jerryhcooke/keymap.c4
-rw-r--r--keyboards/keebio/iris/keymaps/sq5rix/keymap.c3
-rw-r--r--keyboards/keebio/levinson/keymaps/issmirnov/keymap.c2
-rw-r--r--keyboards/keebio/levinson/keymaps/issmirnov/rgb.c2
-rw-r--r--keyboards/keebio/levinson/keymaps/issmirnov/rgb.h2
-rw-r--r--keyboards/keebio/levinson/keymaps/xtonhasvim/keymap.c2
-rw-r--r--keyboards/keebio/nyquist/keymaps/pitty/keymap.c2
-rw-r--r--keyboards/keebio/quefrency/keymaps/georgepetri/keymap.c2
-rwxr-xr-xkeyboards/keyhive/honeycomb/keymaps/default/keymap.c2
-rw-r--r--keyboards/kinesis/keymaps/milestogo/keymap.c2
-rw-r--r--keyboards/kprepublic/cospad/keymaps/detrus/keymap.c6
-rw-r--r--keyboards/kprepublic/jj50/keymaps/abstractkb/keymap.c2
-rw-r--r--keyboards/kprepublic/jj50/keymaps/abstractkb_gergomatch/keymap.c2
-rw-r--r--keyboards/ktec/ergodone/keymaps/eozaki/keymap.c2
-rw-r--r--keyboards/ktec/ergodone/keymaps/erovia/keymap.c2
-rw-r--r--keyboards/ktec/ergodone/keymaps/kloki/keymap.c2
-rw-r--r--keyboards/ktec/ergodone/keymaps/vega/keymap.c2
-rw-r--r--keyboards/leeku/finger65/keymaps/madhatter/keymap.c2
-rwxr-xr-xkeyboards/lets_split/keymaps/bbaserdem/keymap.c2
-rw-r--r--keyboards/lets_split/keymaps/cpeters1982/keymap.c2
-rw-r--r--keyboards/lets_split/keymaps/geripgeri/keymap.c2
-rw-r--r--keyboards/lets_split/keymaps/pitty/keymap.c2
-rw-r--r--keyboards/lily58/lib/layer_state_reader.c2
-rw-r--r--keyboards/m10a/keymaps/gam3cat/keymap.c2
-rwxr-xr-xkeyboards/maple_computing/lets_split_eh/keymaps/bbaserdem/keymap.c2
-rw-r--r--keyboards/maple_computing/lets_split_eh/keymaps/romus/keymap.c4
-rw-r--r--keyboards/mechkeys/mechmini/v2/keymaps/wsturgiss/keymap.c3
-rw-r--r--keyboards/mechllama/g35/keymaps/default/keymap.c2
-rw-r--r--keyboards/mechlovin/hannah910/hannah910.c6
-rw-r--r--keyboards/mechlovin/hex4b/keymaps/nazzer/keymap.c28
-rw-r--r--keyboards/minimacro5/keymaps/devdev/keymap.c2
-rw-r--r--keyboards/mitosis/keymaps/carvac_dv/keymap.c3
-rw-r--r--keyboards/mitosis/keymaps/datagrok/keymap.c4
-rw-r--r--keyboards/mitosis/keymaps/default/keymap.c5
-rw-r--r--keyboards/mitosis/keymaps/mjt/keymap.c4
-rw-r--r--keyboards/mitosis/keymaps/nzen/keymap.c4
-rw-r--r--keyboards/mschwingen/modelm/modelm.c4
-rw-r--r--keyboards/mwstudio/mw65_rgb/keymaps/via/keymap.c4
-rw-r--r--keyboards/pearl/keymaps/cijanzen/keymap.c2
-rw-r--r--keyboards/pearl/keymaps/jetpacktuxedo/keymap.c2
-rwxr-xr-xkeyboards/pearl/keymaps/phil/keymap.c2
-rw-r--r--keyboards/pearl/keymaps/rask/keymap.c2
-rw-r--r--keyboards/percent/canoe/keymaps/dhertz/keymap.c4
-rw-r--r--keyboards/phoenix/phoenix.c2
-rw-r--r--keyboards/planck/keymaps/aviator/keymap.c8
-rw-r--r--keyboards/planck/keymaps/charlesrocket/keymap.c2
-rw-r--r--keyboards/planck/keymaps/grahampheath/keymap.c2
-rw-r--r--keyboards/planck/keymaps/oryx/keymap.c2
-rw-r--r--keyboards/planck/keymaps/rootiest/keymap.c2
-rw-r--r--keyboards/planck/keymaps/tom/keymap.c2
-rw-r--r--keyboards/planck/keymaps/tylerwince/keymap.c4
-rw-r--r--keyboards/preonic/keymaps/dudeofawesome/keymap.c2
-rw-r--r--keyboards/preonic/keymaps/senseored/keymap.c2
-rw-r--r--keyboards/primekb/prime_e/keymaps/via/keymap.c2
-rw-r--r--keyboards/redox_w/keymaps/italian/keymap.c12
-rw-r--r--keyboards/redscarf_i/redscarf_i.c2
-rw-r--r--keyboards/rgbkb/pan/keymaps/default/keymap.c2
-rw-r--r--keyboards/rgbkb/sol/keymaps/default/keymap.c4
-rw-r--r--keyboards/rgbkb/sol/keymaps/xyverz/keymap.c4
-rw-r--r--keyboards/rgbkb/zen/rev2/rev2.c2
-rw-r--r--keyboards/rgbkb/zygomorph/keymaps/default_oled/keymap.c2
-rw-r--r--keyboards/satt/comet46/keymaps/default-rgbled/keymap.c2
-rw-r--r--keyboards/satt/comet46/keymaps/default/keymap.c4
-rw-r--r--keyboards/satt/comet46/keymaps/satt/keymap.c4
-rw-r--r--keyboards/splitkb/kyria/keymaps/j-inc/keymap.c2
-rw-r--r--keyboards/splitkb/kyria/keymaps/ninjonas/oled.c2
-rw-r--r--keyboards/splitkb/kyria/keymaps/thomasbaart/keymap.c4
-rw-r--r--keyboards/splitography/keymaps/jeandeaual/keymap.c2
-rw-r--r--keyboards/splitography/keymaps/multi/keymap.c2
-rwxr-xr-xkeyboards/tetris/keymaps/default/keymap.c4
-rw-r--r--keyboards/thevankeyboards/roadkit/keymaps/flipphone/keymap.c2
-rw-r--r--keyboards/v60_type_r/keymaps/xtonhasvim/keymap.c3
-rw-r--r--keyboards/xiudi/xd60/keymaps/birkir/keymap.c2
-rw-r--r--keyboards/xiudi/xd60/keymaps/kmontag42/keymap.c2
-rw-r--r--keyboards/xiudi/xd75/keymaps/arpinfidel/keymap.c2
-rw-r--r--keyboards/xiudi/xd75/keymaps/cbbrowne/keymap.c2
-rw-r--r--keyboards/xiudi/xd75/keymaps/kloki/keymap.c2
-rw-r--r--keyboards/xiudi/xd75/keymaps/tdl-jturner/keymap.c2
-rw-r--r--layouts/community/ergodox/ab/keymap.c2
-rw-r--r--layouts/community/ergodox/absenth/keymap.c2
-rw-r--r--layouts/community/ergodox/adam/keymap.c2
-rw-r--r--layouts/community/ergodox/adnw_k_o_y/keymap.c2
-rw-r--r--layouts/community/ergodox/alexjj/keymap.c2
-rw-r--r--layouts/community/ergodox/andrew_osx/keymap.c2
-rw-r--r--layouts/community/ergodox/berfarah/keymap.c4
-rw-r--r--layouts/community/ergodox/bryan/keymap.c2
-rw-r--r--layouts/community/ergodox/choromanski/keymap.c42
-rw-r--r--layouts/community/ergodox/colemak/keymap.c2
-rw-r--r--layouts/community/ergodox/colemak_code_friendly/keymap.c20
-rw-r--r--layouts/community/ergodox/colemak_programmer/keymap.c8
-rw-r--r--layouts/community/ergodox/common_nighthawk/keymap.c2
-rw-r--r--layouts/community/ergodox/csharp_dev/keymap.c40
-rw-r--r--layouts/community/ergodox/dave/keymap.c2
-rw-r--r--layouts/community/ergodox/deadcyclo/keymap.c16
-rw-r--r--layouts/community/ergodox/dragon788/keymap.c2
-rw-r--r--layouts/community/ergodox/dvorak/keymap.c2
-rw-r--r--layouts/community/ergodox/dvorak_emacs/keymap.c2
-rw-r--r--layouts/community/ergodox/dvorak_emacs_software/keymap.c2
-rw-r--r--layouts/community/ergodox/dvorak_intl_squisher/keymap.c2
-rw-r--r--layouts/community/ergodox/dvorak_plover/keymap.c2
-rw-r--r--layouts/community/ergodox/dvorak_programmer/keymap.c68
-rw-r--r--layouts/community/ergodox/dvorak_programmer_swe/keymap.c2
-rw-r--r--layouts/community/ergodox/dvorak_spanish/keymap.c43
-rw-r--r--layouts/community/ergodox/dvorak_svorak_a5/keymap.c2
-rw-r--r--layouts/community/ergodox/emacs_osx_dk/keymap.c2
-rw-r--r--layouts/community/ergodox/french_hacker/keymap.c2
-rw-r--r--layouts/community/ergodox/galson/keymap.c4
-rw-r--r--layouts/community/ergodox/german-kinergo/keymap.c2
-rw-r--r--layouts/community/ergodox/german-lukas/keymap.c2
-rw-r--r--layouts/community/ergodox/german-manuneo/compile_keymap.py110
-rw-r--r--layouts/community/ergodox/german-manuneo/keymap.c2
-rw-r--r--layouts/community/ergodox/german/keymap.c2
-rw-r--r--layouts/community/ergodox/haegin/keymap.c2
-rw-r--r--layouts/community/ergodox/ishigoya-jp/keymap.c78
-rw-r--r--layouts/community/ergodox/issmirnov/keymap.c6
-rw-r--r--layouts/community/ergodox/italian/keymap.c4
-rw-r--r--layouts/community/ergodox/j3rn/keymap.c2
-rw-r--r--layouts/community/ergodox/jackhumbert/keymap.c14
-rw-r--r--layouts/community/ergodox/jacobono/keymap.c2
-rw-r--r--layouts/community/ergodox/jafo/keymap.c2
-rw-r--r--layouts/community/ergodox/jgarr/keymap.c2
-rw-r--r--layouts/community/ergodox/josh/keymap.c2
-rw-r--r--layouts/community/ergodox/kastyle/keymap.c4
-rw-r--r--layouts/community/ergodox/kejadlen/keymap.c2
-rw-r--r--layouts/community/ergodox/kines-ish/keymap.c2
-rw-r--r--layouts/community/ergodox/kristian/keymap.c2
-rw-r--r--layouts/community/ergodox/maz/keymap.c2
-rw-r--r--layouts/community/ergodox/mclennon_osx/keymap.c2
-rw-r--r--layouts/community/ergodox/meagerfindings/keymap.c2
-rw-r--r--layouts/community/ergodox/msc/keymap.c2
-rw-r--r--layouts/community/ergodox/naps62/keymap.c2
-rw-r--r--layouts/community/ergodox/neo2_on_qwertz_hardware/keymap.c4
-rw-r--r--layouts/community/ergodox/osx_de/keymap.c197
-rw-r--r--layouts/community/ergodox/osx_de_adnw_koy/keymap.c153
-rw-r--r--layouts/community/ergodox/osx_de_experimental/keymap.c555
-rw-r--r--layouts/community/ergodox/osx_fr/keymap.c2
-rw-r--r--layouts/community/ergodox/osx_kinesis_pnut/keymap.c2
-rw-r--r--layouts/community/ergodox/osx_neo2/keymap.c2
-rw-r--r--layouts/community/ergodox/phoenix/keymap.c2
-rw-r--r--layouts/community/ergodox/plover/keymap.c2
-rw-r--r--layouts/community/ergodox/qwerty_code_friendly/keymap.c2
-rw-r--r--layouts/community/ergodox/reset_eeprom/keymap.c2
-rw-r--r--layouts/community/ergodox/romanzolotarev-norman-plover-osx-hjkl/keymap.c2
-rw-r--r--layouts/community/ergodox/romanzolotarev-norman-plover-osx/keymap.c2
-rw-r--r--layouts/community/ergodox/romanzolotarev-norman-qwerty-osx/keymap.c2
-rw-r--r--layouts/community/ergodox/sethbc/keymap.c2
-rw-r--r--layouts/community/ergodox/siroken3/keymap.c2
-rw-r--r--layouts/community/ergodox/sneako/keymap.c2
-rw-r--r--layouts/community/ergodox/software_neo2/keymap.c2
-rw-r--r--layouts/community/ergodox/swedish-lindhe/keymap.c2
-rw-r--r--layouts/community/ergodox/swedish/keymap.c2
-rw-r--r--layouts/community/ergodox/swissgerman/keymap.c2
-rw-r--r--layouts/community/ergodox/techtomas/keymap.c2
-rw-r--r--layouts/community/ergodox/tkuichooseyou/keymap.c2
-rw-r--r--layouts/community/ergodox/tonyabra_osx/keymap.c2
-rw-r--r--layouts/community/ergodox/townk_osx/keymap.c2
-rw-r--r--layouts/community/ergodox/twentylives_dvorak_with_hebrew/keymap.c22
-rw-r--r--layouts/community/ergodox/win10_writers-block/keymap.c28
-rw-r--r--layouts/community/ergodox/xyverz/keymap.c6
-rw-r--r--layouts/community/ergodox/zweihander-macos/keymap.c2
-rw-r--r--layouts/community/ortho_4x12/peej/keymap.c2
-rw-r--r--quantum/action_layer.h2
-rw-r--r--tmk_core/protocol/arm_atsam/md_rgb_matrix.c2
-rw-r--r--users/333fred/333fred.c2
-rw-r--r--users/333fred/rgb.c4
-rw-r--r--users/bbaserdem/bbaserdem.c4
-rw-r--r--users/billypython/billypython.c2
-rw-r--r--users/billypython/billypython.h2
-rw-r--r--users/dhertz/dhertz.c3
-rw-r--r--users/doogle999/doogle999.c6
-rw-r--r--users/edvorakjp/edvorakjp.c2
-rw-r--r--users/edvorakjp/edvorakjp.h2
-rwxr-xr-xusers/ericgebhart/ericgebhart.c2
-rwxr-xr-xusers/ericgebhart/tap_dances.c4
-rw-r--r--users/kuchosauronad0/kuchosauronad0.c6
-rw-r--r--users/kuchosauronad0/kuchosauronad0.h4
-rw-r--r--users/kuchosauronad0/rgblight_user.c20
-rw-r--r--users/kuchosauronad0/template.c4
-rw-r--r--users/mtdjr/mtdjr.c2
-rw-r--r--users/ninjonas/oled.c2
-rw-r--r--users/pvinis/pvinis.c2
-rw-r--r--users/pvinis/pvinis.h2
-rw-r--r--users/romus/romus.c4
-rw-r--r--users/sigma/sigma.c4
-rw-r--r--users/stanrc85/layer_rgb.c2
-rw-r--r--users/talljoe/talljoe.c2
-rw-r--r--users/tominabox1/tominabox1.c4
-rw-r--r--users/turbomech/backupturbomech.c6
-rw-r--r--users/xulkal/custom_oled.c2
-rw-r--r--users/zer09/zer09.c2
293 files changed, 1249 insertions, 1309 deletions
diff --git a/docs/zh-cn/custom_quantum_functions.md b/docs/zh-cn/custom_quantum_functions.md
index 29c5089052..dba9e7e7c0 100644
--- a/docs/zh-cn/custom_quantum_functions.md
+++ b/docs/zh-cn/custom_quantum_functions.md
@@ -240,7 +240,7 @@ void suspend_wakeup_init_user(void) {
 
 ```c
 layer_state_t layer_state_set_user(layer_state_t state) {
-    switch (biton32(state)) {
+    switch (get_highest_layer(state)) {
     case _RAISE:
         rgblight_setrgb (0x00,  0x00, 0xFF);
         break;
@@ -267,7 +267,7 @@ layer_state_t layer_state_set_user(layer_state_t state) {
 
 ### `layer_state_set_*` 函数文档
 
-* 键盘/各子版本:`uint32_t layer_state_set_kb(uint32_t state)`
+* 键盘/各子版本:`layer_state_t layer_state_set_kb(layer_state_t state)`
 * 布局: `layer_state_t layer_state_set_user(layer_state_t state)`
 
 
@@ -325,7 +325,7 @@ void keyboard_post_init_user(void) {
 
 ```c
 layer_state_t layer_state_set_user(layer_state_t state) {
-    switch (biton32(state)) {
+    switch (get_highest_layer(state)) {
     case _RAISE:
         if (user_config.rgb_layer_change) { rgblight_sethsv_noeeprom_magenta(); rgblight_mode_noeeprom(1); }
         break;
@@ -474,4 +474,3 @@ cancel_deferred_exec(my_token);
 ```c
 #define MAX_DEFERRED_EXECUTORS 16
 ```
-
diff --git a/keyboards/1upkeyboards/sweet16/keymaps/ridingintraffic/keymap.c b/keyboards/1upkeyboards/sweet16/keymaps/ridingintraffic/keymap.c
index 6b7b36cbb2..eeca552657 100644
--- a/keyboards/1upkeyboards/sweet16/keymaps/ridingintraffic/keymap.c
+++ b/keyboards/1upkeyboards/sweet16/keymaps/ridingintraffic/keymap.c
@@ -196,7 +196,7 @@ void matrix_scan_user(void) {
   }
 }
 layer_state_t layer_state_set_user(layer_state_t state) {
-    switch (biton32(state)) {
+    switch (get_highest_layer(state)) {
     case _TAPLAND:
         rgblight_setrgb(0, 16, 0); //green
         break;
diff --git a/keyboards/40percentclub/gherkin/keymaps/itsaferbie/keymap.c b/keyboards/40percentclub/gherkin/keymaps/itsaferbie/keymap.c
index 950b6e86b9..32c074c88f 100644
--- a/keyboards/40percentclub/gherkin/keymaps/itsaferbie/keymap.c
+++ b/keyboards/40percentclub/gherkin/keymaps/itsaferbie/keymap.c
@@ -105,7 +105,7 @@ void matrix_scan_user(void) {
   #ifdef RGBLIGHT_ENABLE
 
   static uint8_t old_layer = 255;
-  uint8_t new_layer = biton32(layer_state);
+  uint8_t new_layer = get_highest_layer(layer_state);
 
   // Color of the Icons.
   if (old_layer != new_layer) {
diff --git a/keyboards/40percentclub/half_n_half/keymaps/Boy_314/keymap.c b/keyboards/40percentclub/half_n_half/keymaps/Boy_314/keymap.c
index 2eef3dc48b..bd467482fe 100644
--- a/keyboards/40percentclub/half_n_half/keymaps/Boy_314/keymap.c
+++ b/keyboards/40percentclub/half_n_half/keymaps/Boy_314/keymap.c
@@ -128,10 +128,10 @@ void tap_dance_choose_layer_reset (qk_tap_dance_state_t *state, void *user_data)
 			layer_off(_RAISE);
 			break;
 		case 3:
-			if (biton32(default_layer_state) == _DVORAK) {
+			if (get_highest_layer(default_layer_state) == _DVORAK) {
 				set_single_persistent_default_layer(_QWERTY);
 			}
-			else if (biton32(default_layer_state) == _QWERTY) {
+			else if (get_highest_layer(default_layer_state) == _QWERTY) {
 				set_single_persistent_default_layer(_DVORAK);
 			}
 			break;
diff --git a/keyboards/bandominedoni/keymaps/led/keymap.c b/keyboards/bandominedoni/keymaps/led/keymap.c
index 305756b5b1..4a88d33872 100644
--- a/keyboards/bandominedoni/keymaps/led/keymap.c
+++ b/keyboards/bandominedoni/keymaps/led/keymap.c
@@ -180,7 +180,7 @@ void keyboard_post_init_user(void) {
 #ifdef RGB_MATRIX_ENABLE
 void rgb_matrix_indicators_user(void) {
     if (rgb_matrix_is_enabled()) {  // turn the lights on when it is enabled.
-        uint8_t layer = biton32(layer_state);
+        uint8_t layer = get_highest_layer(layer_state);
         switch (layer) {
             case _CLOSE:
                 // rgb_matrix_set_color(pgm_read_byte(&convert_led_location2number[11]),  RGB_RED);         //  RGB_TOG  <- too heavy.
diff --git a/keyboards/bandominedoni/keymaps/via/keymap.c b/keyboards/bandominedoni/keymaps/via/keymap.c
index ad6833d692..342ed1d40c 100644
--- a/keyboards/bandominedoni/keymaps/via/keymap.c
+++ b/keyboards/bandominedoni/keymaps/via/keymap.c
@@ -118,7 +118,7 @@ void keyboard_post_init_user(void) {
 #ifdef RGB_MATRIX_ENABLE
 void rgb_matrix_indicators_user(void) {
     if (rgb_matrix_is_enabled()) {  // turn the lights on when it is enabled.
-        uint8_t layer = biton32(layer_state);
+        uint8_t layer = get_highest_layer(layer_state);
         switch (layer) {
             case _CLOSE:
                 // rgb_matrix_set_color(pgm_read_byte(&convert_led_location2number[11]),  RGB_RED);         //  RGB_TOG  <- too heavy.
diff --git a/keyboards/biacco42/ergo42/keymaps/hdbx/keymap.c b/keyboards/biacco42/ergo42/keymaps/hdbx/keymap.c
index bb3b6fac48..58f01bb322 100644
--- a/keyboards/biacco42/ergo42/keymaps/hdbx/keymap.c
+++ b/keyboards/biacco42/ergo42/keymaps/hdbx/keymap.c
@@ -134,7 +134,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 };
 
 // RGB Underglow使用時のレイヤー毎のカラー切り替え
-uint32_t layer_state_set_keymap (uint32_t state) {
+layer_state_t layer_state_set_keymap (layer_state_t state) {
   return state;
 }
 
@@ -148,7 +148,7 @@ void matrix_init_user(void) {
 layer_state_t layer_state_set_user(layer_state_t state) {
   state = update_tri_layer_state(state, _RAISE, _LOWER, _ADJUST);
 #ifdef RGBLIGHT_ENABLE
-    switch (biton32(state)) {
+    switch (get_highest_layer(state)) {
     case _RAISE:
       rgblight_setrgb_chartreuse(); // RAISE:シャルトリューズ
       break;
diff --git a/keyboards/bpiphany/kitten_paw/keymaps/ickerwx/keymap.c b/keyboards/bpiphany/kitten_paw/keymaps/ickerwx/keymap.c
index cc4d0bca63..4553d4e0e3 100644
--- a/keyboards/bpiphany/kitten_paw/keymaps/ickerwx/keymap.c
+++ b/keyboards/bpiphany/kitten_paw/keymaps/ickerwx/keymap.c
@@ -89,7 +89,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
 void matrix_scan_user(void) {
     uint8_t layer;
-    layer = biton32(layer_state);
+    layer = get_highest_layer(layer_state);
 
     if (current_layer_global != layer) {
         current_layer_global = layer;
@@ -132,7 +132,7 @@ void tap_helper(keyrecord_t *record, uint16_t orig_mod, uint16_t macro_mod, uint
 
 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
     uint8_t layer;
-    layer = biton32(layer_state);
+    layer = get_highest_layer(layer_state);
     if (layer == PROG2) {
          if (keycode >= KC_A && keycode <= KC_EXSEL && \
              !(  // do not send LSFT + these keycodes, they are needed for emulating the US layout
diff --git a/keyboards/bpiphany/pegasushoof/keymaps/blowrak/keymap.c b/keyboards/bpiphany/pegasushoof/keymaps/blowrak/keymap.c
index 7884462021..dc55cdf9fd 100644
--- a/keyboards/bpiphany/pegasushoof/keymaps/blowrak/keymap.c
+++ b/keyboards/bpiphany/pegasushoof/keymaps/blowrak/keymap.c
@@ -77,7 +77,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
 void matrix_scan_user(void)
 {
-	uint8_t layer = biton32(layer_state);
+	uint8_t layer = get_highest_layer(layer_state);
 	switch (layer) {
 		case KM_BLOWRAK:
 			ph_caps_led_on();
diff --git a/keyboards/cannonkeys/ortho75/ortho75.c b/keyboards/cannonkeys/ortho75/ortho75.c
index 7c722d7156..58b7396a1b 100644
--- a/keyboards/cannonkeys/ortho75/ortho75.c
+++ b/keyboards/cannonkeys/ortho75/ortho75.c
@@ -5,47 +5,48 @@
 
 uint8_t layer = 0;
 
-uint32_t layer_state_set_kb(uint32_t state) {
-  state = layer_state_set_user(state);
-  layer = biton32(state);
-  return state;
+layer_state_t layer_state_set_kb(layer_state_t state) {
+    state = layer_state_set_user(state);
+    layer = get_highest_layer(state);
+    return state;
 }
 
 bool encoder_update_kb(uint8_t index, bool clockwise) {
     if (!encoder_update_user(index, clockwise)) return false;
-  uint16_t mapped_code = 0;
-  if (index == 0) {
-    if (clockwise) {
-        switch(layer){
-            case 0:
-            default:
-                mapped_code = KC_VOLU;
-                break;
-            case 1:
-                mapped_code = KC_MEDIA_NEXT_TRACK;
-                break;
-            case 2:
-                mapped_code = KC_PGDN;
-                break;
+    uint16_t mapped_code = 0;
+    if (index == 0) {
+        if (clockwise) {
+            switch (layer) {
+                case 0:
+                default:
+                    mapped_code = KC_VOLU;
+                    break;
+                case 1:
+                    mapped_code = KC_MEDIA_NEXT_TRACK;
+                    break;
+                case 2:
+                    mapped_code = KC_PGDN;
+                    break;
+            }
+        } else {
+            switch (layer) {
+                case 0:
+                default:
+                    mapped_code = KC_VOLD;
+                    break;
+                case 1:
+                    mapped_code = KC_MEDIA_PREV_TRACK;
+                    break;
+                case 2:
+                    mapped_code = KC_PGUP;
+                    break;
+            }
         }
-    } else {
-        switch(layer){
-            case 0:
-            default:
-                mapped_code = KC_VOLD;
-                break;
-            case 1:
-                mapped_code = KC_MEDIA_PREV_TRACK;
-                break;
-            case 2:
-                mapped_code = KC_PGUP;
-                break;
+        uint16_t held_keycode_timer = timer_read();
+        register_code(mapped_code);
+        while (timer_elapsed(held_keycode_timer) < MEDIA_KEY_DELAY) { /* no-op */
         }
+        unregister_code(mapped_code);
     }
-    uint16_t held_keycode_timer = timer_read();
-    register_code(mapped_code);
-    while (timer_elapsed(held_keycode_timer) < MEDIA_KEY_DELAY){ /* no-op */ }
-    unregister_code(mapped_code);
-  }
-  return true;
+    return true;
 }
diff --git a/keyboards/cannonkeys/satisfaction75/satisfaction75.c b/keyboards/cannonkeys/satisfaction75/satisfaction75.c
index bd7eaf1885..9435377839 100644
--- a/keyboards/cannonkeys/satisfaction75/satisfaction75.c
+++ b/keyboards/cannonkeys/satisfaction75/satisfaction75.c
@@ -240,7 +240,7 @@ void read_host_led_state(void) {
 
 layer_state_t layer_state_set_kb(layer_state_t state) {
   state = layer_state_set_user(state);
-  layer = biton32(state);
+  layer = get_highest_layer(state);
   oled_request_wakeup();
   return state;
 }
diff --git a/keyboards/ckeys/washington/keymaps/default/keymap.c b/keyboards/ckeys/washington/keymaps/default/keymap.c
index 95e0f3ab59..9ce0181fe4 100644
--- a/keyboards/ckeys/washington/keymaps/default/keymap.c
+++ b/keyboards/ckeys/washington/keymaps/default/keymap.c
@@ -40,7 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 };
 
 bool encoder_update_user(uint8_t index, bool clockwise) {
-    switch (biton32(layer_state)) {
+    switch (get_highest_layer(layer_state)) {
         case _BASE:
             if (clockwise) {
                 tap_code(KC_VOLU);
@@ -62,7 +62,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
 bool oled_task_user(void) {
   // Host Keyboard Layer Status
   oled_write_P(PSTR("Layer: "), false);
-  switch (biton32(layer_state)) {
+  switch (get_highest_layer(layer_state)) {
     case _BASE:
       oled_write_P(PSTR("Default\n"), false);
       break;
diff --git a/keyboards/clueboard/66/keymaps/magicmonty/keymap.c b/keyboards/clueboard/66/keymaps/magicmonty/keymap.c
index 56d4c47071..7b7d2bdce0 100644
--- a/keyboards/clueboard/66/keymaps/magicmonty/keymap.c
+++ b/keyboards/clueboard/66/keymaps/magicmonty/keymap.c
@@ -199,7 +199,7 @@ void matrix_scan_user(void) {
 
     if (!rgblight_config.enable || rgblight_config.mode != 1) { return; }
 
-    uint32_t layer = layer_state;
+    layer_state_t layer = layer_state;
     uint8_t val = rgblight_config.val;
 
     if (layer & (1<<_FL)) {
diff --git a/keyboards/crkbd/keymaps/dsanchezseco/keymap.c b/keyboards/crkbd/keymaps/dsanchezseco/keymap.c
index 6ef428a11f..ab84e5c580 100644
--- a/keyboards/crkbd/keymaps/dsanchezseco/keymap.c
+++ b/keyboards/crkbd/keymaps/dsanchezseco/keymap.c
@@ -84,7 +84,7 @@ oled_rotation_t oled_init_user(oled_rotation_t rotation) {
 
 const char *read_logo(void);
 bool oled_task_user(void){
-    switch (biton32(layer_state)){
+    switch (get_highest_layer(layer_state)){
         case _DVORAK:
             oled_write_ln_P(PSTR("DVRK"), false);
             break;
diff --git a/keyboards/crkbd/keymaps/edvorakjp/keymap.c b/keyboards/crkbd/keymaps/edvorakjp/keymap.c
index 5e56da61a9..f3b801da68 100644
--- a/keyboards/crkbd/keymaps/edvorakjp/keymap.c
+++ b/keyboards/crkbd/keymaps/edvorakjp/keymap.c
@@ -54,9 +54,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 // clang-format on
 
 #ifdef RGBLIGHT_EFFECT_STATIC_GRADIENT
-uint32_t layer_state_set_keymap(uint32_t state) {
+layer_state_t layer_state_set_keymap(layer_state_t state) {
     rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT);
-    switch (biton32(state)) {
+    switch (get_highest_layer(state)) {
         case L_EDVORAKJP_LOWER:
             rgblight_sethsv_noeeprom_red();
             break;
diff --git a/keyboards/crkbd/keymaps/edvorakjp/oled.c b/keyboards/crkbd/keymaps/edvorakjp/oled.c
index e5ff029565..cd75f8e277 100644
--- a/keyboards/crkbd/keymaps/edvorakjp/oled.c
+++ b/keyboards/crkbd/keymaps/edvorakjp/oled.c
@@ -9,7 +9,7 @@ void render_layer_state(void) {
     char layer_name[17];
     oled_write_P(PSTR("Layer: "), false);
 
-    switch (biton32(layer_state)) {
+    switch (get_highest_layer(layer_state)) {
         case L_EDVORAKJP_BASE:
             oled_write_ln_P(PSTR("Default"), false);
             break;
diff --git a/keyboards/crkbd/keymaps/jarred/keymap.c b/keyboards/crkbd/keymaps/jarred/keymap.c
index b938636c2a..3784eff2b8 100644
--- a/keyboards/crkbd/keymaps/jarred/keymap.c
+++ b/keyboards/crkbd/keymaps/jarred/keymap.c
@@ -84,7 +84,7 @@ const char *read_keylogs(void);
 char matrix_line_str[24];
 
 const char *read_layer_state(void) {
-  uint8_t layer = biton32(layer_state);
+  uint8_t layer = get_highest_layer(layer_state);
 
   strcpy(matrix_line_str, "Layer: ");
 
diff --git a/keyboards/dichotomy/keymaps/default/keymap.c b/keyboards/dichotomy/keymaps/default/keymap.c
index b8c7ef4274..80fc4d89bc 100755
--- a/keyboards/dichotomy/keymaps/default/keymap.c
+++ b/keyboards/dichotomy/keymaps/default/keymap.c
@@ -109,7 +109,7 @@ report_mouse_t currentReport = {};
 
 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
 	//uint8_t layer;
-	//layer = biton32(layer_state);  // get the current layer  //Or don't, I didn't use it.
+	//layer = get_highest_layer(layer_state);  // get the current layer  //Or don't, I didn't use it.
 	bool returnVal = true; //this is to determine if more key processing is needed.
 
 	 //custom layer handling for tri_layer,
@@ -437,7 +437,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
 };
 
 void matrix_scan_user(void) {
-	//uint8_t layer = biton32(layer_state);
+	//uint8_t layer = get_highest_layer(layer_state);
 	for (uint8_t i = 0; i<LONGPRESS_COUNT; i++){
 		if ((timer_elapsed(special_timers[i]) >= CUSTOM_LONGPRESS) && (!special_key_states[i]) && special_key_pressed[i]){
 			switch (i + SAFE_RANGE){
diff --git a/keyboards/dm9records/plaid/keymaps/thehalfdeafchef/keymap.c b/keyboards/dm9records/plaid/keymaps/thehalfdeafchef/keymap.c
index 6dcabb160e..e617d0dd5f 100644
--- a/keyboards/dm9records/plaid/keymaps/thehalfdeafchef/keymap.c
+++ b/keyboards/dm9records/plaid/keymaps/thehalfdeafchef/keymap.c
@@ -129,7 +129,7 @@ layer_state_t layer_state_set_user(layer_state_t state) { return update_tri_laye
 
 // Runs constantly in the background, in a loop.
 void matrix_scan_user(void) {
-    uint8_t layer = biton32(layer_state);
+    uint8_t layer = get_highest_layer(layer_state);
 
     switch (layer) {
         case _LOWER:
diff --git a/keyboards/dz60/keymaps/iso_split-spacebar/keymap.c b/keyboards/dz60/keymaps/iso_split-spacebar/keymap.c
index a9e811f9a4..d3956ce3f0 100644
--- a/keyboards/dz60/keymaps/iso_split-spacebar/keymap.c
+++ b/keyboards/dz60/keymaps/iso_split-spacebar/keymap.c
@@ -4,12 +4,12 @@
 // thanks to atlacat, hailbreno, itsaferbie and weeheavy...
 
 // and special thanks to  AGausmann and drashna for the layer-activated RGB underglow
-// https://www.reddit.com/r/olkb/comments/6t1vdu/update_layeractivated_rgb_underglow/ 
+// https://www.reddit.com/r/olkb/comments/6t1vdu/update_layeractivated_rgb_underglow/
 // https://github.com/AGausmann/qmk_firmware/blob/agausmann-v3.x/keyboards/nyquist/keymaps/agausmann/keymap.c
 
 #include QMK_KEYBOARD_H
 
-/* 
+/*
 * Each layer gets a name for readability.
 * The underscores don't mean anything - you can
 * have a layer called STUFF or any other name.
@@ -23,8 +23,8 @@
 #define NL 2     // Numpad Layer
 #define RL 3     // RGB Layer
 
-/* 
-* Let's give an easier name to the RGB modes 
+/*
+* Let's give an easier name to the RGB modes
 * and assign the ones we want to the different layer
 * these will then be used by the function below
 *
@@ -49,10 +49,10 @@
 //
 #define RGB_RL_MODE    rgblight_mode_noeeprom(22)             //rgb mode for RL layer
 #define RGB_RL_LIGHT   rgblight_sethsv_noeeprom_red()         //rgb light for RL layer
-      
+
 
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-	
+
   /* Keymap BL: Base Layer (Default Layer)
    *
    * ,-----------------------------------------------------------.
@@ -140,7 +140,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
         _______,   RGB_STA,   RGB_BRE,   RGB_RAI,   RGB_SWI,   _______,   _______,   RGB_SNA,   RGB_KNI,   RGB_GRA,   RGB_XMS,   _______,   _______,   _______,
         _______,   BL_DEC,    BL_TOGG,   BL_INC,    BL_STEP,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,
         _______,   _______,   _______,   _______,   MO(FL),    _______,   _______,   _______,   TO(BL),    _______),
-        
+
 
 };
 
@@ -175,25 +175,25 @@ void matrix_scan_user(void) {
   #ifdef RGBLIGHT_ENABLE
 
   static uint8_t old_layer = 1;
-  uint8_t new_layer = biton32(layer_state);
+  uint8_t new_layer = get_highest_layer(layer_state);
 
   if (old_layer != new_layer) {
     switch (new_layer) {
       case BL:
           RGB_BL_MODE;
-          RGB_BL_LIGHT;        
+          RGB_BL_LIGHT;
         break;
       case FL:
           RGB_FL_MODE;
-          RGB_FL_LIGHT;  
+          RGB_FL_LIGHT;
         break;
       case NL:
-          RGB_NL_MODE; 
-          RGB_NL_LIGHT; 
+          RGB_NL_MODE;
+          RGB_NL_LIGHT;
         break;
       case RL:
-          RGB_RL_MODE; 
-          RGB_RL_LIGHT;        
+          RGB_RL_MODE;
+          RGB_RL_LIGHT;
         break;
     }
 
diff --git a/keyboards/dz60/keymaps/marianas/customLogic.c b/keyboards/dz60/keymaps/marianas/customLogic.c
index f22bd882e9..03ba92fe92 100644
--- a/keyboards/dz60/keymaps/marianas/customLogic.c
+++ b/keyboards/dz60/keymaps/marianas/customLogic.c
@@ -11,7 +11,7 @@ static int16_t fnTimer = 0;
 
 layer_state_t layer_state_set_user(layer_state_t state)
 {
-  switch (biton32(state))
+  switch (get_highest_layer(state))
   {
     case QWERTY:
       rgblight_mode(9);
diff --git a/keyboards/dz60/keymaps/xtonhasvim/keymap.c b/keyboards/dz60/keymaps/xtonhasvim/keymap.c
index 9a482686d8..49bc20b576 100644
--- a/keyboards/dz60/keymaps/xtonhasvim/keymap.c
+++ b/keyboards/dz60/keymaps/xtonhasvim/keymap.c
@@ -73,7 +73,7 @@ layer_state_t layer_state_set_user(layer_state_t state) {
   static uint32_t last_state = 0;
 
   if(last_state != state) {
-    switch (biton32(state)) {
+    switch (get_highest_layer(state)) {
     case _CMD:
       user_led_on();
       break;
@@ -85,5 +85,3 @@ layer_state_t layer_state_set_user(layer_state_t state) {
   }
   return state;
 }
-
-
diff --git a/keyboards/dztech/dz60rgb/keymaps/matthewrobo/keymap.c b/keyboards/dztech/dz60rgb/keymaps/matthewrobo/keymap.c
index a12358c8d9..287496e17f 100644
--- a/keyboards/dztech/dz60rgb/keymaps/matthewrobo/keymap.c
+++ b/keyboards/dztech/dz60rgb/keymaps/matthewrobo/keymap.c
@@ -96,7 +96,7 @@ void rgb_matrix_indicators_user(void)
 	uint8_t this_led = host_keyboard_leds();
 
 	if (!g_suspend_state && rgb_matrix_config.enable) {
-		switch (biton32(layer_state)) {
+		switch (get_highest_layer(layer_state)) {
 		case _NAV:
 			if (this_led & (1 << USB_LED_NUM_LOCK)) {
 				rgb_matrix_set_color(13, 0xFF, 0x00, 0x00);
diff --git a/keyboards/dztech/dz60rgb/keymaps/mekanist/keymap.c b/keyboards/dztech/dz60rgb/keymaps/mekanist/keymap.c
index a7c6360568..6af35cf779 100644
--- a/keyboards/dztech/dz60rgb/keymaps/mekanist/keymap.c
+++ b/keyboards/dztech/dz60rgb/keymaps/mekanist/keymap.c
@@ -62,7 +62,7 @@ void rgb_matrix_indicators_user(void)
 	uint8_t this_led = host_keyboard_leds();
 
 	if (!g_suspend_state && rgb_matrix_config.enable) {
-		switch (biton32(layer_state)) {
+		switch (get_highest_layer(layer_state)) {
 		case _LAYER1:
 			rgb_matrix_layer_helper(0xFF, 0x00, 0x00); break;
 
@@ -78,7 +78,7 @@ void rgb_matrix_indicators_user(void)
 		rgb_matrix_set_color(40, 0xFF, 0xFF, 0xFF);
 	}
 
-	switch (biton32(layer_state)) {
+	switch (get_highest_layer(layer_state)) {
 	case _LAYER3:
 		if (this_led & (1 << USB_LED_NUM_LOCK)) {
 			rgb_matrix_set_color(13, 0xFF, 0x00, 0x00);
diff --git a/keyboards/dztech/dz60rgb/keymaps/perseid/keymap.c b/keyboards/dztech/dz60rgb/keymaps/perseid/keymap.c
index c13fcc1d35..daef7b271d 100644
--- a/keyboards/dztech/dz60rgb/keymaps/perseid/keymap.c
+++ b/keyboards/dztech/dz60rgb/keymaps/perseid/keymap.c
@@ -37,7 +37,7 @@ void rgb_matrix_layer_helper (uint8_t red, uint8_t green, uint8_t blue) {
 void rgb_matrix_indicators_user(void)
 {
 	if (!g_suspend_state) {
-		switch (biton32(layer_state)) {
+		switch (get_highest_layer(layer_state)) {
 		case _QWERTY:
 			rgb_matrix_layer_helper(0x00, 0x0F, 0xFF); break;
 
@@ -46,7 +46,7 @@ void rgb_matrix_indicators_user(void)
 		}
 	}
 
-	switch (biton32(layer_state)) {
+	switch (get_highest_layer(layer_state)) {
 	case _FNM:
 		rgb_matrix_set_color(0, 0x00, 0xFF, 0x00);
 		rgb_matrix_set_color(1, 0x00, 0x00, 0x00);
diff --git a/keyboards/dztech/dz65rgb/keymaps/catrielmuller/keymap.c b/keyboards/dztech/dz65rgb/keymaps/catrielmuller/keymap.c
index 8bd6069107..817c0fd2ff 100644
--- a/keyboards/dztech/dz65rgb/keymaps/catrielmuller/keymap.c
+++ b/keyboards/dztech/dz65rgb/keymaps/catrielmuller/keymap.c
@@ -238,5 +238,5 @@ void rgb_matrix_indicators_user(void) {
     }
 
     // Show Selected Layer
-    rgb_matrix_set_color(layers_leds_map[biton32(layer_state)], MAIN_COLOR[0], MAIN_COLOR[1], MAIN_COLOR[2]);
-}
\ No newline at end of file
+    rgb_matrix_set_color(layers_leds_map[get_highest_layer(layer_state)], MAIN_COLOR[0], MAIN_COLOR[1], MAIN_COLOR[2]);
+}
diff --git a/keyboards/dztech/dz65rgb/keymaps/drootz/keymap.c b/keyboards/dztech/dz65rgb/keymaps/drootz/keymap.c
index c313f467e3..2ebbddcef7 100644
--- a/keyboards/dztech/dz65rgb/keymaps/drootz/keymap.c
+++ b/keyboards/dztech/dz65rgb/keymaps/drootz/keymap.c
@@ -1,20 +1,20 @@
 #include QMK_KEYBOARD_H
 
 /**************** SOME GLOBALS *********************/
- 
+
 bool onMac = false;
 bool isLeader = false;
 bool isBlinking = false;
 bool isRecording = false;
 bool isPlaying = false;
-const float led_dim_ratio = 0.50; 
-static uint16_t blink_cycle_timer, 
-                blink_fade_in_timer, 
-                blink_fade_out_timer, 
+const float led_dim_ratio = 0.50;
+static uint16_t blink_cycle_timer,
+                blink_fade_in_timer,
+                blink_fade_out_timer,
                 macro_one_play_timer,
                 macro_two_play_timer,
                 macro_play_blink_timer = 2000;
-static uint8_t  fade_in_step_counter, 
+static uint8_t  fade_in_step_counter,
                 fade_out_step_counter,
                 blink_hsv_value;
 
@@ -26,13 +26,13 @@ Function to set color with hsv arguments
 - "val_ratio" is used to adjust brightness ratio
 */
 void rgb_matrix_set_color_hsv(uint8_t led, uint16_t hue, uint16_t sat, uint16_t val, float val_ratio) {
-    const uint8_t h = hue <= 255 ? hue : rgb_matrix_config.hsv.h;    
+    const uint8_t h = hue <= 255 ? hue : rgb_matrix_config.hsv.h;
     const uint8_t s = sat <= 255 ? sat : rgb_matrix_config.hsv.s;
     const uint8_t v = val <= 255 ? val * val_ratio : rgb_matrix_config.hsv.v * val_ratio;
     HSV hsv_in = {h, s, v};
     RGB rgb_out = hsv_to_rgb(hsv_in);
     rgb_matrix_set_color(led, rgb_out.r, rgb_out.g, rgb_out.b);
-} 
+}
 
 void reset_blink_cycle(void) {
     blink_cycle_timer = timer_read();
@@ -110,31 +110,31 @@ const layers_leds_map[] = {
 
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     [_MAIN] = LAYOUT_65_ansi(
-        KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, 
-        KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP, 
-        KC_LEAD, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN, 
-        KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_DEL, 
+        KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS,
+        KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
+        KC_LEAD, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
+        KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_DEL,
         KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
     ),
     [_MAC] = LAYOUT_65_ansi(
-        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 
-        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 
-        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 
-        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 
+        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
         KC_TRNS, KC_LALT, KC_LGUI, KC_TRNS, KC_TRNS, MO(_FN), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
     ),
     [_FN] = LAYOUT_65_ansi(
-        DYN_REC_STOP, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, KC_NO, 
-        KC_TRNS, KC_MUTE, KC_VOLU, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_SAD, RGB_SAI, DYN_MACRO_PLAY2, DYN_REC_START2, 
-        KC_TRNS, KC_BRID, KC_VOLD, KC_BRIU, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_HUD, RGB_HUI, DYN_MACRO_PLAY1, DYN_REC_START1, 
-        KC_TRNS, TO(_MAIN), TO(_MAC), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_SPD, RGB_SPI, KC_TRNS, RGB_VAI, KC_NO, 
+        DYN_REC_STOP, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, KC_NO,
+        KC_TRNS, KC_MUTE, KC_VOLU, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_SAD, RGB_SAI, DYN_MACRO_PLAY2, DYN_REC_START2,
+        KC_TRNS, KC_BRID, KC_VOLD, KC_BRIU, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_HUD, RGB_HUI, DYN_MACRO_PLAY1, DYN_REC_START1,
+        KC_TRNS, TO(_MAIN), TO(_MAC), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_SPD, RGB_SPI, KC_TRNS, RGB_VAI, KC_NO,
         KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_RMOD, RGB_VAD, RGB_MOD
     ),
-}; 
+};
 
 //**************** MATRIX SCANS *********************//
 
-void rgb_matrix_indicators_user(void) { 
+void rgb_matrix_indicators_user(void) {
 
     #ifdef RGB_MATRIX_ENABLE
 
@@ -144,7 +144,7 @@ void rgb_matrix_indicators_user(void) {
     /* CapsLock LED indicator */
     if (IS_HOST_LED_ON(USB_LED_CAPS_LOCK)) {
         rgb_matrix_set_color_hsv(30, 999, 0, led_constant_val, 0.75); // WHITE
-    } 
+    }
 
     /* Current layer LED indicator */
     rgb_matrix_set_color_hsv(layers_leds_map[get_highest_layer(layer_state)], 999, 0, led_constant_val, led_dim_ratio); // WHITE
@@ -155,7 +155,7 @@ void rgb_matrix_indicators_user(void) {
         rgb_matrix_set_color_hsv(30, 999, 999, 999, 1); // CONFIG
     } else {
         rgb_matrix_set_color_hsv(14, 999, 999, 999, led_dim_ratio); // CONFIG
-    }   
+    }
 
     /* Blinking LED indicator when recording Dynamic Macro */
     if (isRecording && isBlinking) {
@@ -174,7 +174,7 @@ void rgb_matrix_indicators_user(void) {
         }
     }
 
-    switch (biton32(layer_state)) {
+    switch (get_highest_layer(layer_state)) {
         case _FN:
             /* Dynamic Macro LED indicator */
             if (isRecording) {
@@ -188,12 +188,12 @@ void rgb_matrix_indicators_user(void) {
             /* Layer LED indicators */
             rgb_matrix_set_color_hsv(45, 999, 0, led_constant_val, led_dim_ratio); /* WHITE Layer _MAIN */
             rgb_matrix_set_color_hsv(46, 999, 0, led_constant_val, led_dim_ratio); /* WHITE Layer _MAC */
-            break; 
+            break;
     }
 
     #endif /* RGB_MATRIX */
 }
- 
+
 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
     bool pressed = record->event.pressed;
     if (pressed) {
@@ -202,12 +202,12 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
                 onMac = true;
                 break;
             case TO(_MAIN):
-                onMac = false;      
+                onMac = false;
                 break;
         }
     }
     return true;
-} 
+}
 
 //**************** LEADER *********************//
 
@@ -244,7 +244,7 @@ const uint8_t french_accent_index[3] = {
     [_ACUTE] = 2
 };
 
-/* 
+/*
 This represent unicode decimal values
 Each index will be mapped to numpad keycode to out put the correct sequence
 All codes in this array should be of size 3
@@ -272,8 +272,8 @@ const uint8_t french_decimal_unicodes[5][3][2] = { /*[Letter][Accent][Case]*/
         }
     },{
         {
-            140,    // î    
-            206     // Î 
+            140,    // î
+            206     // Î
         }
     },{
         {
@@ -306,7 +306,7 @@ This is designed and work on an English language keyboard setting on both Window
 => accept french_letter and french_accent enum's as argument
 */
 void send_french_accent(uint8_t letter, uint8_t accent) {
-    
+
     bool isCaps;
     uint8_t decimal_unicode_in;
     uint8_t decimal_unicode_size = 3;
@@ -330,7 +330,7 @@ void send_french_accent(uint8_t letter, uint8_t accent) {
     };
 
     /*
-    Function to tap the correct keycodes in sequence for the 
+    Function to tap the correct keycodes in sequence for the
     "Windows Alt Code" requested, aka Decimal Unicodes
     */
     void tap_win_alt_code(void) {
@@ -341,7 +341,7 @@ void send_french_accent(uint8_t letter, uint8_t accent) {
             tap_code(numpad_key_map[decimal_unicode_out[i]]);
         }
     }
-    
+
     isCaps = IS_HOST_LED_ON(USB_LED_CAPS_LOCK) ? true : false;
 
     if (onMac) {
@@ -372,7 +372,7 @@ void send_french_accent(uint8_t letter, uint8_t accent) {
 
 /*Couple functions used to output the same macro on two different sequences*/
 
-/* (|) */ 
+/* (|) */
 void ldrkey_send_paranthesis_wrap_ini(void) {
     SEND_STRING("()" SS_TAP(X_LEFT));
 }
@@ -382,7 +382,7 @@ void ldrkey_send_paranthesis_wrap_word(void) {
     onMac ? SEND_STRING(SS_LALT(SS_TAP(X_LEFT)) "(" SS_LALT(SS_TAP(X_RIGHT)) ")") : SEND_STRING(SS_LCTL(SS_TAP(X_LEFT)) "(" SS_LCTL(SS_TAP(X_RIGHT)) ")");
 }
 
-/* (selection) */ 
+/* (selection) */
 void ldrkey_send_paranthesis_wrap_selection(void) {
     onMac ? SEND_STRING(SS_LGUI(SS_TAP(X_X)) "()" SS_TAP(X_LEFT) SS_LGUI(SS_TAP(X_V)) SS_TAP(X_RIGHT)) : SEND_STRING(SS_LCTL(SS_TAP(X_X)) "()" SS_TAP(X_LEFT) SS_LCTL(SS_TAP(X_V)) SS_TAP(X_RIGHT));
 }
@@ -419,9 +419,9 @@ void ldrkey_send_curlybrace_wrap_selection(void) {
 
 LEADER_EXTERNS();
 
-void matrix_scan_user(void) 
+void matrix_scan_user(void)
 {
-    LEADER_DICTIONARY() 
+    LEADER_DICTIONARY()
     {
         leading = false;
         leader_end();
@@ -476,49 +476,49 @@ void matrix_scan_user(void)
             tap_code(KC_CAPS);
         }
         /*  ±       => LdrKey > = > - */
-        SEQ_TWO_KEYS(KC_EQL, KC_MINS) { 
-            onMac ? SEND_STRING(SS_LALT(SS_LSFT(SS_TAP(X_EQL)))) : SEND_STRING(SS_DOWN(X_LALT) SS_TAP(X_P2) SS_TAP(X_P4) SS_TAP(X_P1) SS_UP(X_LALT)); 
+        SEQ_TWO_KEYS(KC_EQL, KC_MINS) {
+            onMac ? SEND_STRING(SS_LALT(SS_LSFT(SS_TAP(X_EQL)))) : SEND_STRING(SS_DOWN(X_LALT) SS_TAP(X_P2) SS_TAP(X_P4) SS_TAP(X_P1) SS_UP(X_LALT));
         }
         /*  ≤       => LdrKey > - > = */
-        SEQ_TWO_KEYS(KC_MINS, KC_EQL) { 
-            onMac ? SEND_STRING(SS_LALT(SS_TAP(X_COMM))) : SEND_STRING(SS_DOWN(X_LALT) SS_TAP(X_P2) SS_TAP(X_P4) SS_TAP(X_P3) SS_UP(X_LALT)); 
+        SEQ_TWO_KEYS(KC_MINS, KC_EQL) {
+            onMac ? SEND_STRING(SS_LALT(SS_TAP(X_COMM))) : SEND_STRING(SS_DOWN(X_LALT) SS_TAP(X_P2) SS_TAP(X_P4) SS_TAP(X_P3) SS_UP(X_LALT));
         }
         /*  ≥       => LdrKey > = > = */
-        SEQ_TWO_KEYS(KC_EQL, KC_EQL) { 
-            onMac ? SEND_STRING(SS_LALT(SS_TAP(X_DOT))) : SEND_STRING(SS_DOWN(X_LALT) SS_TAP(X_P2) SS_TAP(X_P4) SS_TAP(X_P2) SS_UP(X_LALT)); 
+        SEQ_TWO_KEYS(KC_EQL, KC_EQL) {
+            onMac ? SEND_STRING(SS_LALT(SS_TAP(X_DOT))) : SEND_STRING(SS_DOWN(X_LALT) SS_TAP(X_P2) SS_TAP(X_P4) SS_TAP(X_P2) SS_UP(X_LALT));
         }
         /*  <=      => LdrKey > , > , */
-        SEQ_TWO_KEYS(KC_COMM, KC_COMM) { 
-            SEND_STRING(SS_LSFT(SS_TAP(X_COMM)) SS_TAP(X_SPC) SS_TAP(X_EQL) SS_TAP(X_LEFT) SS_TAP(X_BSPC) SS_TAP(X_RIGHT)); 
+        SEQ_TWO_KEYS(KC_COMM, KC_COMM) {
+            SEND_STRING(SS_LSFT(SS_TAP(X_COMM)) SS_TAP(X_SPC) SS_TAP(X_EQL) SS_TAP(X_LEFT) SS_TAP(X_BSPC) SS_TAP(X_RIGHT));
         }
         /*  =>      => LdrKey > . > . */
-        SEQ_TWO_KEYS(KC_DOT, KC_DOT) { 
-            SEND_STRING("=>"); 
+        SEQ_TWO_KEYS(KC_DOT, KC_DOT) {
+            SEND_STRING("=>");
         }
         /*  ", "    => LdrKey > " " */
-        SEQ_ONE_KEY(KC_SPC) { 
-            SEND_STRING(", "); 
+        SEQ_ONE_KEY(KC_SPC) {
+            SEND_STRING(", ");
         }
         /*  ". "    => LdrKey > " " > " " */
-        SEQ_TWO_KEYS(KC_SPC, KC_SPC) { 
-            SEND_STRING(". "); 
+        SEQ_TWO_KEYS(KC_SPC, KC_SPC) {
+            SEND_STRING(". ");
         }
         /*  Backward delete current word (on cursor) */
-        SEQ_TWO_KEYS(KC_BSPC, KC_BSPC) { 
-            onMac ? SEND_STRING(SS_LALT(SS_TAP(X_RIGHT)) SS_LALT(SS_LSFT(SS_TAP(X_LEFT))) SS_TAP(X_BSPC)) : SEND_STRING(SS_LCTL(SS_TAP(X_RIGHT)) SS_LCTL(SS_LSFT(SS_TAP(X_LEFT))) SS_TAP(X_BSPC)); 
+        SEQ_TWO_KEYS(KC_BSPC, KC_BSPC) {
+            onMac ? SEND_STRING(SS_LALT(SS_TAP(X_RIGHT)) SS_LALT(SS_LSFT(SS_TAP(X_LEFT))) SS_TAP(X_BSPC)) : SEND_STRING(SS_LCTL(SS_TAP(X_RIGHT)) SS_LCTL(SS_LSFT(SS_TAP(X_LEFT))) SS_TAP(X_BSPC));
         }
         /*  Previous word delete */
-        SEQ_ONE_KEY(KC_BSPC) { 
-            onMac ? SEND_STRING(SS_LALT(SS_LSFT(SS_TAP(X_LEFT))) SS_TAP(X_BSPC)) : SEND_STRING(SS_LCTL(SS_LSFT(SS_TAP(X_LEFT))) SS_TAP(X_BSPC)); 
+        SEQ_ONE_KEY(KC_BSPC) {
+            onMac ? SEND_STRING(SS_LALT(SS_LSFT(SS_TAP(X_LEFT))) SS_TAP(X_BSPC)) : SEND_STRING(SS_LCTL(SS_LSFT(SS_TAP(X_LEFT))) SS_TAP(X_BSPC));
         }
         /*  Forward delete current word (on cursor) */
-        SEQ_TWO_KEYS(KC_DEL, KC_DEL) { 
+        SEQ_TWO_KEYS(KC_DEL, KC_DEL) {
 
-            onMac ? SEND_STRING(SS_LALT(SS_TAP(X_LEFT)) SS_LALT(SS_LSFT(SS_TAP(X_RIGHT))) SS_TAP(X_DEL)) : SEND_STRING(SS_LCTL(SS_TAP(X_LEFT)) SS_LCTL(SS_LSFT(SS_TAP(X_RIGHT))) SS_TAP(X_DEL)); 
+            onMac ? SEND_STRING(SS_LALT(SS_TAP(X_LEFT)) SS_LALT(SS_LSFT(SS_TAP(X_RIGHT))) SS_TAP(X_DEL)) : SEND_STRING(SS_LCTL(SS_TAP(X_LEFT)) SS_LCTL(SS_LSFT(SS_TAP(X_RIGHT))) SS_TAP(X_DEL));
         }
         /*  Next word delete */
-        SEQ_ONE_KEY(KC_DEL) { 
-            onMac ? SEND_STRING(SS_LALT(SS_LSFT(SS_TAP(X_RIGHT))) SS_TAP(X_DEL)): SEND_STRING(SS_LCTL(SS_LSFT(SS_TAP(X_RIGHT))) SS_TAP(X_DEL)); 
+        SEQ_ONE_KEY(KC_DEL) {
+            onMac ? SEND_STRING(SS_LALT(SS_LSFT(SS_TAP(X_RIGHT))) SS_TAP(X_DEL)): SEND_STRING(SS_LCTL(SS_LSFT(SS_TAP(X_RIGHT))) SS_TAP(X_DEL));
         }
         /*  `   => LdrKey > Escape */
         SEQ_ONE_KEY(KC_GESC) {
@@ -548,7 +548,7 @@ void matrix_scan_user(void)
         SEQ_ONE_KEY(KC_Q) {
             onMac ? SEND_STRING(SS_LGUI(SS_TAP(X_Q))) : SEND_STRING(SS_LALT(SS_TAP(X_F4)));
         }
-        /*  "           => LdrKey > ' */ 
+        /*  "           => LdrKey > ' */
         SEQ_ONE_KEY(KC_QUOT) {
             SEND_STRING("\"");
         }
@@ -657,48 +657,48 @@ void matrix_scan_user(void)
             ldrkey_send_curlybrace_wrap_selection();
         }
         /*  Select everything on this line before cursor => LdrKey > Left */
-        SEQ_ONE_KEY(KC_LEFT) { 
+        SEQ_ONE_KEY(KC_LEFT) {
             onMac ? SEND_STRING(SS_LSFT(SS_LGUI(SS_TAP(X_LEFT)))) : SEND_STRING(SS_LSFT(SS_TAP(X_HOME)));
         }
         /*  Select everything on this line after cursor  => LdrKey > Right */
-        SEQ_ONE_KEY(KC_RIGHT) { 
+        SEQ_ONE_KEY(KC_RIGHT) {
             onMac ? SEND_STRING(SS_LSFT(SS_LGUI(SS_TAP(X_RIGHT)))) : SEND_STRING(SS_LSFT(SS_TAP(X_END)));
         }
         /*  Select everything on this line before cursor and bring on previous line => LdrKey > Left > Left */
-        SEQ_TWO_KEYS(KC_LEFT, KC_LEFT) { 
-            onMac ? SEND_STRING(SS_LSFT(SS_TAP(X_UP) SS_LGUI(SS_TAP(X_RIGHT)))) : SEND_STRING(SS_LSFT(SS_TAP(X_UP) SS_TAP(X_END))); 
+        SEQ_TWO_KEYS(KC_LEFT, KC_LEFT) {
+            onMac ? SEND_STRING(SS_LSFT(SS_TAP(X_UP) SS_LGUI(SS_TAP(X_RIGHT)))) : SEND_STRING(SS_LSFT(SS_TAP(X_UP) SS_TAP(X_END)));
         }
         /*  Select everything on this line  => LdrKey > Right > Left */
-        SEQ_TWO_KEYS(KC_RIGHT, KC_LEFT) { 
-            onMac ? SEND_STRING(SS_LGUI(SS_TAP(X_RIGHT) SS_LSFT(SS_LGUI(SS_TAP(X_LEFT))))) : SEND_STRING(SS_TAP(X_END) SS_LSFT(SS_TAP(X_HOME))); 
+        SEQ_TWO_KEYS(KC_RIGHT, KC_LEFT) {
+            onMac ? SEND_STRING(SS_LGUI(SS_TAP(X_RIGHT) SS_LSFT(SS_LGUI(SS_TAP(X_LEFT))))) : SEND_STRING(SS_TAP(X_END) SS_LSFT(SS_TAP(X_HOME)));
         }
         /*  Select 1x Page Up on the page before the cursor  => LdrKey > Up */
-        SEQ_ONE_KEY(KC_UP) { 
+        SEQ_ONE_KEY(KC_UP) {
             SEND_STRING(SS_LSFT(SS_TAP(X_PGUP)));
         }
         /*  Select 1x Page Down on the page after the cursor => LdrKey > Down */
-        SEQ_ONE_KEY(KC_DOWN) { 
-            SEND_STRING(SS_LSFT(SS_TAP(X_PGDN)));   
+        SEQ_ONE_KEY(KC_DOWN) {
+            SEND_STRING(SS_LSFT(SS_TAP(X_PGDN)));
         }
         /*  Select everything on the page before the cursor => LdrKey > Up > Up */
-        SEQ_TWO_KEYS(KC_UP, KC_UP) { 
+        SEQ_TWO_KEYS(KC_UP, KC_UP) {
             onMac ? SEND_STRING(SS_LSFT(SS_LGUI(SS_TAP(X_UP)))) : SEND_STRING(SS_LSFT(SS_LCTL(SS_TAP(X_HOME))));
         }
         /*  Select everything on the page after the cursor => LdrKey > Down > Down */
-        SEQ_TWO_KEYS(KC_DOWN, KC_DOWN) { 
+        SEQ_TWO_KEYS(KC_DOWN, KC_DOWN) {
             onMac ? SEND_STRING(SS_LSFT(SS_LGUI(SS_TAP(X_DOWN)))) : SEND_STRING(SS_LSFT(SS_LCTL(SS_TAP(X_END))));
         }
         /* HELPER => spit out the url of the layout description page on github */
-        SEQ_FIVE_KEYS(KC_GESC, KC_GESC, KC_GESC, KC_GESC, KC_GESC) { 
+        SEQ_FIVE_KEYS(KC_GESC, KC_GESC, KC_GESC, KC_GESC, KC_GESC) {
             SEND_STRING("https://github.com/qmk/qmk_firmware/tree/master/keyboards/dztech/dz65rgb/keymaps/drootz");
         }
         /*  google.ca   => LdrKey > G > G */
-        SEQ_TWO_KEYS(KC_G, KC_G) { 
-            SEND_STRING("https://google.ca" SS_TAP(X_ENT)); 
+        SEQ_TWO_KEYS(KC_G, KC_G) {
+            SEND_STRING("https://google.ca" SS_TAP(X_ENT));
         }
         /*  @gmail  => LdrKey > M > L > T */
-        SEQ_THREE_KEYS(KC_M, KC_L, KC_T) { 
-            SEND_STRING("mailto." SS_TAP(X_D) SS_TAP(X_A) SS_TAP(X_N) SS_TAP(X_I) SS_TAP(X_E) SS_TAP(X_L) SS_TAP(X_R) SS_TAP(X_A) SS_TAP(X_C) SS_TAP(X_I) SS_TAP(X_N) SS_TAP(X_E) "@gmail.com"); 
+        SEQ_THREE_KEYS(KC_M, KC_L, KC_T) {
+            SEND_STRING("mailto." SS_TAP(X_D) SS_TAP(X_A) SS_TAP(X_N) SS_TAP(X_I) SS_TAP(X_E) SS_TAP(X_L) SS_TAP(X_R) SS_TAP(X_A) SS_TAP(X_C) SS_TAP(X_I) SS_TAP(X_N) SS_TAP(X_E) "@gmail.com");
         }
         /*  Show Desktop            => LdrKey > D */
         SEQ_ONE_KEY(KC_D) {
diff --git a/keyboards/dztech/dz65rgb/keymaps/matthewrobo/keymap.c b/keyboards/dztech/dz65rgb/keymaps/matthewrobo/keymap.c
index 00915a9b4f..0c7bfbbb48 100644
--- a/keyboards/dztech/dz65rgb/keymaps/matthewrobo/keymap.c
+++ b/keyboards/dztech/dz65rgb/keymaps/matthewrobo/keymap.c
@@ -91,7 +91,7 @@ void rgb_matrix_indicators_user(void)
 	uint8_t this_led = host_keyboard_leds();
 
 	if (!g_suspend_state && rgb_matrix_config.enable) {
-		switch (biton32(layer_state)) {
+		switch (get_highest_layer(layer_state)) {
 		case _NAV:
 			if (IS_LED_ON(this_led, USB_LED_NUM_LOCK)) {
 				rgb_matrix_set_color(17, 0xFF, 0x00, 0x00);
diff --git a/keyboards/ergodox_ez/keymaps/bepo_tm_style/keymap.c b/keyboards/ergodox_ez/keymaps/bepo_tm_style/keymap.c
index a5b107baae..91798ab188 100755
--- a/keyboards/ergodox_ez/keymaps/bepo_tm_style/keymap.c
+++ b/keyboards/ergodox_ez/keymaps/bepo_tm_style/keymap.c
@@ -190,7 +190,7 @@ static bool is_macro1_recording = false;
 // The current set of active layers (as a bitmask).
 // There is a global 'layer_state' variable but it is set after the call
 // to layer_state_set_user().
-static uint32_t current_layer_state = 0;
+static layer_state_t current_layer_state = 0;
 layer_state_t layer_state_set_user(layer_state_t state);
 
 // Method called at the end of the tap dance on the TAP_MACRO key. That key is
diff --git a/keyboards/ergodox_ez/keymaps/blakedietz/keymap.c b/keyboards/ergodox_ez/keymaps/blakedietz/keymap.c
index 5c08d30727..67c50eb129 100644
--- a/keyboards/ergodox_ez/keymaps/blakedietz/keymap.c
+++ b/keyboards/ergodox_ez/keymaps/blakedietz/keymap.c
@@ -200,7 +200,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
 // Runs constantly in the background, in a loop.
 void matrix_scan_user(void) {
-    uint8_t layer = biton32(layer_state);
+    uint8_t layer = get_highest_layer(layer_state);
 
     ergodox_board_led_off();
     ergodox_right_led_1_off();
@@ -262,4 +262,3 @@ void matrix_scan_user(void) {
 //  }
 //  return true;
 //}
-
diff --git a/keyboards/ergodox_ez/keymaps/bpruitt-goddard/keymap.c b/keyboards/ergodox_ez/keymaps/bpruitt-goddard/keymap.c
index 229ece0d74..eff7f111b4 100644
--- a/keyboards/ergodox_ez/keymaps/bpruitt-goddard/keymap.c
+++ b/keyboards/ergodox_ez/keymaps/bpruitt-goddard/keymap.c
@@ -98,7 +98,7 @@ static bool is_macro1_recording = false;
 // The current set of active layers (as a bitmask).
 // There is a global 'layer_state' variable but it is set after the call
 // to layer_state_set_user().
-static uint32_t current_layer_state = 0;
+static layer_state_t current_layer_state = 0;
 layer_state_t layer_state_set_user(layer_state_t state);
 
 // Method called at the end of the tap dance on the TAP_MACRO key. That key is
diff --git a/keyboards/ergodox_ez/keymaps/default_osx/keymap.c b/keyboards/ergodox_ez/keymaps/default_osx/keymap.c
index 73b1077b83..3ab66078fe 100644
--- a/keyboards/ergodox_ez/keymaps/default_osx/keymap.c
+++ b/keyboards/ergodox_ez/keymaps/default_osx/keymap.c
@@ -141,7 +141,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 // Runs constantly in the background, in a loop.
 void matrix_scan_user(void) {
 
-  uint8_t layer = biton32(layer_state);
+  uint8_t layer = get_highest_layer(layer_state);
 
   ergodox_board_led_off();
   ergodox_right_led_1_off();
diff --git a/keyboards/ergodox_ez/keymaps/dvorak_42_key/keymap.c b/keyboards/ergodox_ez/keymaps/dvorak_42_key/keymap.c
index fab2977356..ff9ae77bdd 100644
--- a/keyboards/ergodox_ez/keymaps/dvorak_42_key/keymap.c
+++ b/keyboards/ergodox_ez/keymaps/dvorak_42_key/keymap.c
@@ -725,7 +725,7 @@ void led_set_user(uint8_t usb_led) {
 
 void matrix_scan_user(void) {
 
-    uint8_t layer = biton32(layer_state);
+    uint8_t layer = get_highest_layer(layer_state);
 
     ergodox_board_led_off();
     ergodox_right_led_2_off();
diff --git a/keyboards/ergodox_ez/keymaps/hacker_dvorak/user/layer_set_state_user.c b/keyboards/ergodox_ez/keymaps/hacker_dvorak/user/layer_set_state_user.c
index fd022681b0..ed407def79 100644
--- a/keyboards/ergodox_ez/keymaps/hacker_dvorak/user/layer_set_state_user.c
+++ b/keyboards/ergodox_ez/keymaps/hacker_dvorak/user/layer_set_state_user.c
@@ -1,6 +1,6 @@
 
 layer_state_t layer_state_set_user(layer_state_t state) {
-    uint8_t layer = biton32(state);
+    uint8_t layer = get_highest_layer(state);
 
     switch (layer) {
         case DVORAK:
diff --git a/keyboards/ergodox_ez/keymaps/heartrobotninja/keymap.c b/keyboards/ergodox_ez/keymaps/heartrobotninja/keymap.c
index b6edc17532..91884c8e76 100644
--- a/keyboards/ergodox_ez/keymaps/heartrobotninja/keymap.c
+++ b/keyboards/ergodox_ez/keymaps/heartrobotninja/keymap.c
@@ -370,7 +370,7 @@ LEADER_EXTERNS();
 void matrix_scan_user(void)
 {
 
-  uint8_t layer = biton32(layer_state);
+  uint8_t layer = get_highest_layer(layer_state);
 
   if (keyboard_report->mods & MOD_BIT(KC_LSFT) ||
       ((get_oneshot_mods() & MOD_BIT(KC_LSFT)) &&
@@ -677,4 +677,4 @@ void matrix_init_user(void)
   wait_ms(1000);
 
   rgblight_effect_knight(50);
-}
\ No newline at end of file
+}
diff --git a/keyboards/ergodox_ez/keymaps/kou/keymap.c b/keyboards/ergodox_ez/keymaps/kou/keymap.c
index c8d0a6b5dd..01427c2d2d 100644
--- a/keyboards/ergodox_ez/keymaps/kou/keymap.c
+++ b/keyboards/ergodox_ez/keymaps/kou/keymap.c
@@ -284,7 +284,7 @@ void matrix_init_user(void) {
 // Runs constantly in the background, in a loop.
 void matrix_scan_user(void) {
 
-    uint8_t layer = biton32(layer_state);
+    uint8_t layer = get_highest_layer(layer_state);
 
     ergodox_board_led_off();
     ergodox_right_led_1_off();
diff --git a/keyboards/ergodox_ez/keymaps/lukaus/keymap.c b/keyboards/ergodox_ez/keymaps/lukaus/keymap.c
index 5d797beb18..542e123db3 100644
--- a/keyboards/ergodox_ez/keymaps/lukaus/keymap.c
+++ b/keyboards/ergodox_ez/keymaps/lukaus/keymap.c
@@ -813,7 +813,7 @@ case RU_7:
 
 layer_state_t layer_state_set_user(layer_state_t state) {
 
-    uint8_t layer = biton32(state);
+    uint8_t layer = get_highest_layer(state);
 
   //  ergodox_board_led_off();
     ergodox_right_led_1_off();
diff --git a/keyboards/ergodox_ez/keymaps/matrixman/keymap.c b/keyboards/ergodox_ez/keymaps/matrixman/keymap.c
index 10b6567cdb..bb6ba5ae34 100644
--- a/keyboards/ergodox_ez/keymaps/matrixman/keymap.c
+++ b/keyboards/ergodox_ez/keymaps/matrixman/keymap.c
@@ -165,7 +165,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 // Runs constantly in the background, in a loop.
 void matrix_scan_user(void) {
 
-    uint8_t layer = biton32(layer_state);
+    uint8_t layer = get_highest_layer(layer_state);
 
     ergodox_board_led_off();
     ergodox_right_led_1_off();
diff --git a/keyboards/ergodox_ez/keymaps/nathanvercaemert/keymap.c b/keyboards/ergodox_ez/keymaps/nathanvercaemert/keymap.c
index e31391a674..a3c2176951 100644
--- a/keyboards/ergodox_ez/keymaps/nathanvercaemert/keymap.c
+++ b/keyboards/ergodox_ez/keymaps/nathanvercaemert/keymap.c
@@ -218,7 +218,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 };
 
 layer_state_t layer_state_set_user(layer_state_t state) {
-  uint8_t layer = biton32(state);
+  uint8_t layer = get_highest_layer(state);
   ergodox_board_led_off();
   ergodox_right_led_1_off();
   ergodox_right_led_2_off();
@@ -431,4 +431,3 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
     }
     return true;
 }
-
diff --git a/keyboards/ergodox_ez/keymaps/nfriend/keymap.c b/keyboards/ergodox_ez/keymaps/nfriend/keymap.c
index 1d12093bab..ba578dd1c5 100644
--- a/keyboards/ergodox_ez/keymaps/nfriend/keymap.c
+++ b/keyboards/ergodox_ez/keymaps/nfriend/keymap.c
@@ -1057,7 +1057,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
 }
 
 layer_state_t layer_state_set_user(layer_state_t state) {
-    uint8_t layer = biton32(state);
+    uint8_t layer = get_highest_layer(state);
 
     ergodox_board_led_off();
     ergodox_right_led_1_off();
diff --git a/keyboards/ergodox_ez/keymaps/profet_80/keymap.c b/keyboards/ergodox_ez/keymaps/profet_80/keymap.c
index 85455fa9d9..6f602e828e 100644
--- a/keyboards/ergodox_ez/keymaps/profet_80/keymap.c
+++ b/keyboards/ergodox_ez/keymaps/profet_80/keymap.c
@@ -157,7 +157,7 @@ void matrix_init_user(void) {
 // Runs constantly in the background, in a loop.
 void matrix_scan_user(void) {
 
-    uint8_t layer = biton32(layer_state);
+    uint8_t layer = get_highest_layer(layer_state);
 
     ergodox_board_led_off();
     ergodox_right_led_1_off();
diff --git a/keyboards/ergodox_ez/keymaps/pvinis/keymap.c b/keyboards/ergodox_ez/keymaps/pvinis/keymap.c
index 024cefd270..c69621ab98 100644
--- a/keyboards/ergodox_ez/keymaps/pvinis/keymap.c
+++ b/keyboards/ergodox_ez/keymaps/pvinis/keymap.c
@@ -245,11 +245,11 @@ void keyboard_post_init_user_keymap(void) {
 }
 
 // light up leds based on the layer
-uint32_t layer_state_set_user_keymap(uint32_t state) {
+layer_state_t layer_state_set_user_keymap(layer_state_t state) {
     ergodox_right_led_1_off();
     ergodox_right_led_2_off();
     ergodox_right_led_3_off();
-    switch (biton32(state)) {
+    switch (get_highest_layer(state)) {
         case LR_SYSCTL:
             ergodox_right_led_3_on();  // blue
             break;
@@ -306,7 +306,7 @@ uint32_t layer_state_set_user_keymap(uint32_t state) {
 
 // SYSCTL on first tap, MOUSE ON second tap
 // void layers_dance_finished(qk_tap_dance_state_t *state, void *user_data) {
-//   uint8_t layer = biton32(layer_state);
+//   uint8_t layer = get_highest_layer(layer_state);
 
 //   switch(state->count) {
 //   case 1:
diff --git a/keyboards/ergodox_ez/keymaps/rgb_layer/keymap.c b/keyboards/ergodox_ez/keymaps/rgb_layer/keymap.c
index 3e607edb39..595f3b4ee1 100644
--- a/keyboards/ergodox_ez/keymaps/rgb_layer/keymap.c
+++ b/keyboards/ergodox_ez/keymaps/rgb_layer/keymap.c
@@ -228,7 +228,7 @@ layer_state_t layer_state_set_user(layer_state_t state) {
   ergodox_right_led_1_off();
   ergodox_right_led_2_off();
   ergodox_right_led_3_off();
-  switch (biton32(state)) {
+  switch (get_highest_layer(state)) {
     case SYMB:
         ergodox_right_led_1_on();
         if (user_config.rgb_layer_change) { rgblight_sethsv_noeeprom_red(); rgblight_mode_noeeprom(1); }
@@ -268,4 +268,3 @@ layer_state_t layer_state_set_user(layer_state_t state) {
     }
   return state;
 }
-
diff --git a/keyboards/ergodox_ez/keymaps/rishka/keymap.c b/keyboards/ergodox_ez/keymaps/rishka/keymap.c
index 102803e512..0d6ac9fe95 100644
--- a/keyboards/ergodox_ez/keymaps/rishka/keymap.c
+++ b/keyboards/ergodox_ez/keymaps/rishka/keymap.c
@@ -138,7 +138,7 @@ void keyboard_post_init_user(void) {
 };
 
 // Runs whenever there is a layer state change.
-uint32_t layer_state_set_user(layer_state_t state) {
+layer_state_t layer_state_set_user(layer_state_t state) {
   ergodox_board_led_off();
   ergodox_right_led_1_off();
   ergodox_right_led_2_off();
diff --git a/keyboards/ergodox_ez/keymaps/skug/keymap.c b/keyboards/ergodox_ez/keymaps/skug/keymap.c
index 1446ea7466..04aa6a99fd 100644
--- a/keyboards/ergodox_ez/keymaps/skug/keymap.c
+++ b/keyboards/ergodox_ez/keymaps/skug/keymap.c
@@ -228,7 +228,7 @@ void matrix_init_user(void) {
 // Runs constantly in the background, in a loop.
 void matrix_scan_user(void) {
 
-    uint8_t layer = biton32(layer_state);
+    uint8_t layer = get_highest_layer(layer_state);
 
     ergodox_board_led_off();
     ergodox_right_led_1_off();
diff --git a/keyboards/ergodox_ez/keymaps/smurmann/keymap.c b/keyboards/ergodox_ez/keymaps/smurmann/keymap.c
index 42ac13775f..c8ddc23a8b 100644
--- a/keyboards/ergodox_ez/keymaps/smurmann/keymap.c
+++ b/keyboards/ergodox_ez/keymaps/smurmann/keymap.c
@@ -139,7 +139,7 @@ void matrix_init_user(void) {
 
 // Runs constantly in the background, in a loop.
 void matrix_scan_user(void) {
-   uint8_t layer = biton32(layer_state);
+   uint8_t layer = get_highest_layer(layer_state);
 
    if(layer == 1)
    {
@@ -157,7 +157,7 @@ void matrix_scan_user(void) {
    }
 
   if(keyboard_report->mods & MOD_BIT(KC_LSFT))
-  { 
+  {
       ergodox_right_led_1_set (LED_BRIGHTNESS_HI);
       ergodox_right_led_1_on ();
   } else {
@@ -182,7 +182,7 @@ void matrix_scan_user(void) {
   }
 
   if(keyboard_report->mods & MOD_BIT(KC_LCTRL))
-  { 
+  {
       ergodox_right_led_3_set (LED_BRIGHTNESS_HI);
       ergodox_right_led_3_on ();
   } else {
@@ -195,7 +195,7 @@ void matrix_scan_user(void) {
 };
 
 void led_set_user(uint8_t usb_led){
- if (usb_led & (1 << USB_LED_CAPS_LOCK)) 
+ if (usb_led & (1 << USB_LED_CAPS_LOCK))
    {
       capsOn = true;
    }else {
diff --git a/keyboards/ergodox_ez/keymaps/steno/keymap.c b/keyboards/ergodox_ez/keymaps/steno/keymap.c
index 080d3f6cef..96218bbe99 100644
--- a/keyboards/ergodox_ez/keymaps/steno/keymap.c
+++ b/keyboards/ergodox_ez/keymaps/steno/keymap.c
@@ -228,7 +228,7 @@ void matrix_init_user(void) {
 // Runs constantly in the background, in a loop.
 void matrix_scan_user(void) {
 
-    uint8_t layer = biton32(layer_state);
+    uint8_t layer = get_highest_layer(layer_state);
 
     ergodox_board_led_off();
     ergodox_right_led_1_off();
diff --git a/keyboards/ergodox_ez/keymaps/testing/keymap.c b/keyboards/ergodox_ez/keymaps/testing/keymap.c
index 5c1fc4af28..3aee63ddf1 100644
--- a/keyboards/ergodox_ez/keymaps/testing/keymap.c
+++ b/keyboards/ergodox_ez/keymaps/testing/keymap.c
@@ -62,7 +62,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
 
 layer_state_t layer_state_set_user(layer_state_t state) {
 
-    uint8_t layer = biton32(layer_state);
+    uint8_t layer = get_highest_layer(layer_state);
 
     ergodox_board_led_off();
     ergodox_right_led_1_off();
diff --git a/keyboards/ergodox_ez/keymaps/vim/keymap.c b/keyboards/ergodox_ez/keymaps/vim/keymap.c
index 948f2b4794..c1c037ef23 100644
--- a/keyboards/ergodox_ez/keymaps/vim/keymap.c
+++ b/keyboards/ergodox_ez/keymaps/vim/keymap.c
@@ -330,7 +330,7 @@ void matrix_init_user(void) {
 };
 
 void matrix_scan_user(void) {
-    uint8_t layer = biton32(layer_state);
+    uint8_t layer = get_highest_layer(layer_state);
 
     ergodox_board_led_off();
     ergodox_right_led_1_off();
diff --git a/keyboards/ergodox_ez/util/compile_keymap.py b/keyboards/ergodox_ez/util/compile_keymap.py
index b447ecaf5c..310512c920 100755
--- a/keyboards/ergodox_ez/util/compile_keymap.py
+++ b/keyboards/ergodox_ez/util/compile_keymap.py
@@ -27,29 +27,34 @@ PY2 = sys.version_info.major == 2
 if PY2:
     chr = unichr
 
-
 KEYBOARD_LAYOUTS = {
     # These map positions in the parsed layout to
     # positions in the KEYMAP MATRIX
     'ergodox_ez': [
-        [ 0,  1,  2,  3,  4,  5,  6],  [38, 39, 40, 41, 42, 43, 44],
-        [ 7,  8,  9, 10, 11, 12, 13],  [45, 46, 47, 48, 49, 50, 51],
-        [14, 15, 16, 17, 18, 19    ],  [    52, 53, 54, 55, 56, 57],
-        [20, 21, 22, 23, 24, 25, 26],  [58, 59, 60, 61, 62, 63, 64],
-        [27, 28, 29, 30, 31        ],  [        65, 66, 67, 68, 69],
-        [                    32, 33],  [70, 71                    ],
-        [                        34],  [72                        ],
-        [                35, 36, 37],  [73, 74, 75                ],
+        [0, 1, 2, 3, 4, 5, 6],
+        [38, 39, 40, 41, 42, 43, 44],
+        [7, 8, 9, 10, 11, 12, 13],
+        [45, 46, 47, 48, 49, 50, 51],
+        [14, 15, 16, 17, 18, 19],
+        [52, 53, 54, 55, 56, 57],
+        [20, 21, 22, 23, 24, 25, 26],
+        [58, 59, 60, 61, 62, 63, 64],
+        [27, 28, 29, 30, 31],
+        [65, 66, 67, 68, 69],
+        [32, 33],
+        [70, 71],
+        [34],
+        [72],
+        [35, 36, 37],
+        [73, 74, 75],
     ]
 }
 
-ROW_INDENTS = {
-    'ergodox_ez': [0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 5, 0, 6, 0, 4, 0]
-}
+ROW_INDENTS = {'ergodox_ez': [0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 5, 0, 6, 0, 4, 0]}
 
 BLANK_LAYOUTS = [
-# Compact Layout
-"""
+    # Compact Layout
+    """
 .------------------------------------.------------------------------------.
 |     |    |    |    |    |    |     |     |    |    |    |    |    |     |
 !-----+----+----+----+----+----------!-----+----+----+----+----+----+-----!
@@ -70,8 +75,8 @@ BLANK_LAYOUTS = [
                   '-----------------' '-----------------'
 """,
 
-# Wide Layout
-"""
+    # Wide Layout
+    """
 .---------------------------------------------. .---------------------------------------------.
 |       |     |     |     |     |     |       | !       |     |     |     |     |     |       |
 !-------+-----+-----+-----+-----+-------------! !-------+-----+-----+-----+-----+-----+-------!
@@ -93,26 +98,22 @@ BLANK_LAYOUTS = [
 """,
 ]
 
-
 DEFAULT_CONFIG = {
-    "keymaps_includes": [
-        "keymap_common.h",
-    ],
+    "keymaps_includes": ["keymap_common.h",],
     'filler': "-+.'!:x",
     'separator': "|",
     'default_key_prefix': ["KC_"],
 }
 
-
 SECTIONS = [
     'layout_config',
     'layers',
 ]
 
-
 #       Markdown Parsing
 
-ONELINE_COMMENT_RE = re.compile(r"""
+ONELINE_COMMENT_RE = re.compile(
+    r"""
     ^                       # comment must be at the start of the line
     \s*                     # arbitrary whitespace
     //                      # start of the comment
@@ -121,22 +122,26 @@ ONELINE_COMMENT_RE = re.compile(r"""
 """, re.MULTILINE | re.VERBOSE
 )
 
-INLINE_COMMENT_RE = re.compile(r"""
+INLINE_COMMENT_RE = re.compile(
+    r"""
     ([\,\"\[\]\{\}\d])      # anythig that might end a expression
     \s+                     # comment must be preceded by whitespace
     //                      # start of the comment
     \s                      # and succeded by whitespace
     (?:[^\"\]\}\{\[]*)      # the comment (except things which might be json)
     $                       # until the end of line
-""", re.MULTILINE | re.VERBOSE)
+""", re.MULTILINE | re.VERBOSE
+)
 
-TRAILING_COMMA_RE = re.compile(r"""
+TRAILING_COMMA_RE = re.compile(
+    r"""
     ,                       # the comma
     (?:\s*)                 # arbitrary whitespace
     $                       # only works if the trailing comma is followed by newline
     (\s*)                   # arbitrary whitespace
     ([\]\}])                # end of an array or object
-""", re.MULTILINE | re.VERBOSE)
+""", re.MULTILINE | re.VERBOSE
+)
 
 
 def loads(raw_data):
@@ -178,9 +183,7 @@ def parse_config(path):
     def end_section():
         if section['start_line'] >= 0:
             if section['name'] == 'layout_config':
-                config.update(loads("\n".join(
-                    section['code_lines']
-                )))
+                config.update(loads("\n".join(section['code_lines'])))
             elif section['sub_name'].startswith('layer'):
                 layer_name = section['sub_name']
                 config['layer_lines'][layer_name] = section['code_lines']
@@ -215,6 +218,7 @@ def parse_config(path):
     assert 'layout' in config
     return config
 
+
 #       header file parsing
 
 IF0_RE = re.compile(r"""
@@ -224,7 +228,6 @@ IF0_RE = re.compile(r"""
     #endif
 """, re.MULTILINE | re.DOTALL | re.VERBOSE)
 
-
 COMMENT_RE = re.compile(r"""
     /\*
     .*?
@@ -244,6 +247,7 @@ def regex_partial(re_str_fmt, flags):
     def partial(*args, **kwargs):
         re_str = re_str_fmt.format(*args, **kwargs)
         return re.compile(re_str, flags)
+
     return partial
 
 
@@ -256,7 +260,6 @@ KEYDEF_REP = regex_partial(r"""
     )                   # capture group end
 """, re.MULTILINE | re.DOTALL | re.VERBOSE)
 
-
 ENUM_RE = re.compile(r"""
     (
         enum
@@ -268,7 +271,6 @@ ENUM_RE = re.compile(r"""
     )                   # capture group end
 """, re.MULTILINE | re.DOTALL | re.VERBOSE)
 
-
 ENUM_KEY_REP = regex_partial(r"""
     (
         {}              # the prefixes
@@ -309,14 +311,13 @@ def parse_valid_keys(config, out_path):
         include_path = os.path.join(dirpath, include)
         if os.path.exists(include_path):
             header_data = read_header_file(include_path)
-            valid_keycodes.update(
-                parse_keydefs(config, header_data)
-            )
+            valid_keycodes.update(parse_keydefs(config, header_data))
     return valid_keycodes
 
 
 #       Keymap Parsing
 
+
 def iter_raw_codes(layer_lines, filler, separator):
     filler_re = re.compile("[" + filler + " ]")
     for line in layer_lines:
@@ -346,28 +347,21 @@ LAYER_CHANGE_RE = re.compile(r"""
     (DF|TG|MO)\(\d+\)
 """, re.VERBOSE)
 
-
 MACRO_RE = re.compile(r"""
     M\(\w+\)
 """, re.VERBOSE)
 
-
 UNICODE_RE = re.compile(r"""
     U[0-9A-F]{4}
 """, re.VERBOSE)
 
-
 NON_CODE = re.compile(r"""
     ^[^A-Z0-9_]$
 """, re.VERBOSE)
 
 
 def parse_uni_code(raw_code):
-    macro_id = "UC_" + (
-        unicodedata.name(raw_code)
-        .replace(" ", "_")
-        .replace("-", "_")
-    )
+    macro_id = "UC_" + (unicodedata.name(raw_code).replace(" ", "_").replace("-", "_"))
     code = "M({})".format(macro_id)
     uc_hex = "{:04X}".format(ord(raw_code))
     return code, macro_id, uc_hex
@@ -407,19 +401,13 @@ def parse_code(raw_code, key_prefixes, valid_keycodes):
 
 def parse_keymap(config, key_indexes, layer_lines, valid_keycodes):
     keymap = {}
-    raw_codes = list(iter_raw_codes(
-        layer_lines, config['filler'], config['separator']
-    ))
+    raw_codes = list(iter_raw_codes(layer_lines, config['filler'], config['separator']))
     indexed_codes = iter_indexed_codes(raw_codes, key_indexes)
     key_prefixes = config['key_prefixes']
     for raw_code, key_index, row_index in indexed_codes:
-        code, macro_id, uc_hex = parse_code(
-            raw_code, key_prefixes, valid_keycodes
-        )
+        code, macro_id, uc_hex = parse_code(raw_code, key_prefixes, valid_keycodes)
         # TODO: line numbers for invalid codes
-        err_msg = "Could not parse key '{}' on row {}".format(
-            raw_code, row_index
-        )
+        err_msg = "Could not parse key '{}' on row {}".format(raw_code, row_index)
         assert code is not None, err_msg
         # print(repr(raw_code), repr(code), macro_id, uc_hex)
         if macro_id:
@@ -432,17 +420,14 @@ def parse_keymap(config, key_indexes, layer_lines, valid_keycodes):
 
 def parse_keymaps(config, valid_keycodes):
     keymaps = collections.OrderedDict()
-    key_indexes = config.get(
-        'key_indexes', KEYBOARD_LAYOUTS[config['layout']]
-    )
+    key_indexes = config.get('key_indexes', KEYBOARD_LAYOUTS[config['layout']])
     # TODO: maybe validate key_indexes
 
     for layer_name, layer_lines, in config['layer_lines'].items():
-        keymaps[layer_name] = parse_keymap(
-            config, key_indexes, layer_lines, valid_keycodes
-        )
+        keymaps[layer_name] = parse_keymap(config, key_indexes, layer_lines, valid_keycodes)
     return keymaps
 
+
 #       keymap.c output
 
 USERCODE = """
@@ -453,7 +438,7 @@ void matrix_init_user(void) {
 
 // Runs constantly in the background, in a loop.
 void matrix_scan_user(void) {
-    uint8_t layer = biton32(layer_state);
+    uint8_t layer = get_highest_layer(layer_state);
 
     ergodox_board_led_off();
     ergodox_right_led_1_off();
@@ -572,7 +557,6 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {{
 }};
 """
 
-
 UNICODE_MACRO_TEMPLATE = """
 case {macro_id}:
     unicode_action_function(0x{hi:02x}, 0x{lo:02x});
@@ -584,9 +568,7 @@ def unicode_macro_cases(config):
     for macro_id, uc_hex in config['unicode_macros'].items():
         hi = int(uc_hex, 16) >> 8
         lo = int(uc_hex, 16) & 0xFF
-        yield UNICODE_MACRO_TEMPLATE.format(
-            macro_id=macro_id, hi=hi, lo=lo
-        )
+        yield UNICODE_MACRO_TEMPLATE.format(macro_id=macro_id, hi=hi, lo=lo)
 
 
 def iter_keymap_lines(keymap, row_indents=None):
diff --git a/keyboards/ergoslab/keymaps/default/keymap.c b/keyboards/ergoslab/keymaps/default/keymap.c
index 59415618a8..093d586eba 100644
--- a/keyboards/ergoslab/keymaps/default/keymap.c
+++ b/keyboards/ergoslab/keymaps/default/keymap.c
@@ -51,7 +51,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
 #ifdef RGBLIGHT_ENABLE
 layer_state_t layer_state_set_user(layer_state_t state) {
-  uint8_t layer = biton32(state);
+  uint8_t layer = get_highest_layer(state);
   switch (layer) {
       case BASE:
           rgblight_sethsv(HSV_ERGOSLAB_ORANGE);
diff --git a/keyboards/exclusive/e65/keymaps/masterzen/keymap.c b/keyboards/exclusive/e65/keymaps/masterzen/keymap.c
index 156832de4e..898a294f7e 100644
--- a/keyboards/exclusive/e65/keymaps/masterzen/keymap.c
+++ b/keyboards/exclusive/e65/keymaps/masterzen/keymap.c
@@ -102,7 +102,7 @@ layer_state_t layer_state_set_user(layer_state_t state) {
         edit = false;
     }
 
-    switch (biton32(state)) {
+    switch (get_highest_layer(state)) {
         case _ADJUST:
             temp_config.mode = rgblight_get_mode();
             rgblight_mode_noeeprom(1);
diff --git a/keyboards/exclusive/e7v1/keymaps/masterzen/keymap.c b/keyboards/exclusive/e7v1/keymaps/masterzen/keymap.c
index 6987e84021..2793cffe93 100644
--- a/keyboards/exclusive/e7v1/keymaps/masterzen/keymap.c
+++ b/keyboards/exclusive/e7v1/keymaps/masterzen/keymap.c
@@ -121,7 +121,7 @@ layer_state_t layer_state_set_user(layer_state_t state)
     edit = false;
   }
 
-  switch (biton32(state))
+  switch (get_highest_layer(state))
   {
   case _ADJUST:
     mode = rgblight_get_mode();
diff --git a/keyboards/gboards/gergo/keymaps/colemak/keymap.c b/keyboards/gboards/gergo/keymaps/colemak/keymap.c
index b2e79114f2..35b1e0b653 100644
--- a/keyboards/gboards/gergo/keymaps/colemak/keymap.c
+++ b/keyboards/gboards/gergo/keymaps/colemak/keymap.c
@@ -146,8 +146,8 @@ void matrix_init_user(void) {
 
 // Runs constantly in the background, in a loop.
 void matrix_scan_user(void) {
-    //uint8_t layer = biton32(layer_state);
-    biton32(layer_state);
+    //uint8_t layer = get_highest_layer(layer_state);
+    get_highest_layer(layer_state);
 };
 
 
@@ -171,4 +171,3 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
   }
   return true;
 };
-
diff --git a/keyboards/gh60/revc/keymaps/dbroqua/keymap.c b/keyboards/gh60/revc/keymaps/dbroqua/keymap.c
index 964f40f1c0..ffb87ef009 100644
--- a/keyboards/gh60/revc/keymaps/dbroqua/keymap.c
+++ b/keyboards/gh60/revc/keymaps/dbroqua/keymap.c
@@ -101,7 +101,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 };
 
 void matrix_scan_user(void) {
-    uint32_t layer = layer_state;
+    layer_state_t layer = layer_state;
 
     if (layer & (1<<1)) {
         gh60_fn_led_on();
@@ -120,4 +120,4 @@ void matrix_scan_user(void) {
     } else {
         gh60_esc_led_off();
     }
-};
\ No newline at end of file
+};
diff --git a/keyboards/gh60/revc/keymaps/default/keymap.c b/keyboards/gh60/revc/keymaps/default/keymap.c
index a8fd4f3c22..4ebc71ff4b 100644
--- a/keyboards/gh60/revc/keymaps/default/keymap.c
+++ b/keyboards/gh60/revc/keymaps/default/keymap.c
@@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 void matrix_scan_user(void) {
 
 //Layer LED indicators
-    uint32_t layer = layer_state;
+    layer_state_t layer = layer_state;
 
     if (layer & (1<<1)) {
         gh60_wasd_leds_on();
diff --git a/keyboards/gh60/revc/keymaps/robotmaxtron/keymap.c b/keyboards/gh60/revc/keymaps/robotmaxtron/keymap.c
index b84e7564fc..77bf54de63 100644
--- a/keyboards/gh60/revc/keymaps/robotmaxtron/keymap.c
+++ b/keyboards/gh60/revc/keymaps/robotmaxtron/keymap.c
@@ -97,7 +97,7 @@ void matrix_scan_user(void) {
 
 // Layer LED indicators
 // ESC led on when in function layer, WASD cluster leds enabled when on arrow cluster
-    uint32_t layer = layer_state;
+    layer_state_t layer = layer_state;
     if (layer & (1<<1)) {
         gh60_wasd_leds_on();
     } else {
diff --git a/keyboards/gh60/satan/keymaps/addcninblue/keymap.c b/keyboards/gh60/satan/keymaps/addcninblue/keymap.c
index 5012fee56b..2b1a417fb5 100644
--- a/keyboards/gh60/satan/keymaps/addcninblue/keymap.c
+++ b/keyboards/gh60/satan/keymaps/addcninblue/keymap.c
@@ -177,7 +177,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
 }
 
 void matrix_scan_user(void) {
-  uint8_t layer = biton32(layer_state);
+  uint8_t layer = get_highest_layer(layer_state);
 
   if (old_layer != layer) {
     switch (layer) {
diff --git a/keyboards/glenpickle/chimera_ergo/keymaps/default/keymap.c b/keyboards/glenpickle/chimera_ergo/keymaps/default/keymap.c
index 51ab0e92cd..dd7e32f7dc 100644
--- a/keyboards/glenpickle/chimera_ergo/keymaps/default/keymap.c
+++ b/keyboards/glenpickle/chimera_ergo/keymaps/default/keymap.c
@@ -131,7 +131,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
 };
 
 void matrix_scan_user(void) {
-    uint8_t layer = biton32(layer_state);
+    uint8_t layer = get_highest_layer(layer_state);
 
     switch (layer) {
       case _QWERTY:
diff --git a/keyboards/glenpickle/chimera_ls/keymaps/default/keymap.c b/keyboards/glenpickle/chimera_ls/keymaps/default/keymap.c
index 0affeef389..1ae70e6245 100644
--- a/keyboards/glenpickle/chimera_ls/keymaps/default/keymap.c
+++ b/keyboards/glenpickle/chimera_ls/keymaps/default/keymap.c
@@ -158,7 +158,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
 
 
 void matrix_scan_user(void) {
-  uint8_t layer = biton32(layer_state);
+  uint8_t layer = get_highest_layer(layer_state);
 
   switch (layer) {
     case _QWERTY:
diff --git a/keyboards/glenpickle/chimera_ortho/keymaps/default/keymap.c b/keyboards/glenpickle/chimera_ortho/keymaps/default/keymap.c
index 6a676493dd..bc783f540c 100644
--- a/keyboards/glenpickle/chimera_ortho/keymaps/default/keymap.c
+++ b/keyboards/glenpickle/chimera_ortho/keymaps/default/keymap.c
@@ -151,7 +151,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
 
 
 void matrix_scan_user(void) {
-    uint8_t layer = biton32(layer_state);
+    uint8_t layer = get_highest_layer(layer_state);
 
     switch (layer) {
       case _QWERTY:
diff --git a/keyboards/gon/nerdtkl/keymaps/gam3cat/keymap.c b/keyboards/gon/nerdtkl/keymaps/gam3cat/keymap.c
index c4294c812e..bda83bb5da 100644
--- a/keyboards/gon/nerdtkl/keymaps/gam3cat/keymap.c
+++ b/keyboards/gon/nerdtkl/keymaps/gam3cat/keymap.c
@@ -241,7 +241,7 @@ void matrix_scan_user(void) {
 }
 
 layer_state_t layer_state_set_user(layer_state_t state) {
-    switch (biton32(state)) {
+    switch (get_highest_layer(state)) {
         case _BL:
             custom_backlight_level(0);
             break;
diff --git a/keyboards/handwired/frenchdev/keymaps/default/keymap.c b/keyboards/handwired/frenchdev/keymaps/default/keymap.c
index 2d917b412e..11463a0162 100644
--- a/keyboards/handwired/frenchdev/keymaps/default/keymap.c
+++ b/keyboards/handwired/frenchdev/keymaps/default/keymap.c
@@ -209,7 +209,7 @@ void press_underscore(void) {
 uint8_t old_layer=_BASE;
 
 void matrix_scan_user(void) {
-    uint8_t layer = biton32(layer_state);
+    uint8_t layer = get_highest_layer(layer_state);
 
     frenchdev_led_1_off();
     frenchdev_led_2_off();
diff --git a/keyboards/handwired/kbod/keymaps/default/keymap.c b/keyboards/handwired/kbod/keymaps/default/keymap.c
index 333f8a769f..0ffc3e9d97 100644
--- a/keyboards/handwired/kbod/keymaps/default/keymap.c
+++ b/keyboards/handwired/kbod/keymaps/default/keymap.c
@@ -89,7 +89,7 @@ void matrix_init_user(void) {
 }
 
 void matrix_scan_user(void) {
-  uint8_t layer = biton32(layer_state);
+  uint8_t layer = get_highest_layer(layer_state);
   if (layer) {
     PORTC |= _BV(PC7);
   } else {
diff --git a/keyboards/handwired/prime_exl/keymaps/via/keymap.c b/keyboards/handwired/prime_exl/keymaps/via/keymap.c
index 0e6802996d..b5b616d55b 100644
--- a/keyboards/handwired/prime_exl/keymaps/via/keymap.c
+++ b/keyboards/handwired/prime_exl/keymaps/via/keymap.c
@@ -87,7 +87,7 @@ void led_set_user(uint8_t usb_led) {
 //function for layer indicator LED
 layer_state_t layer_state_set_user(layer_state_t state)
 {
-    if (biton32(state) == 1) {
+    if (get_highest_layer(state) == 1) {
     writePinHigh(C6);
 	} else {
 		writePinLow(C6);
diff --git a/keyboards/handwired/promethium/keymaps/default/keymap.c b/keyboards/handwired/promethium/keymaps/default/keymap.c
index 1903b2f9ba..77f83361e6 100644
--- a/keyboards/handwired/promethium/keymaps/default/keymap.c
+++ b/keyboards/handwired/promethium/keymaps/default/keymap.c
@@ -529,7 +529,7 @@ void led_reset(void) {
 }
 
 void led_set_default_layer_indicator(void) {
-  uint8_t default_layer = biton32(default_layer_state);
+  uint8_t default_layer = get_highest_layer(default_layer_state);
   if (default_layer == _QWERTY) {
     rgbsps_set(LED_IND_QWERTY, THEME_COLOR_QWERTY);
     rgbsps_set(LED_IND_ALT, COLOR_BLANK);
@@ -553,7 +553,7 @@ void led_set_layer_indicator(void) {
   rgbsps_set(LED_IND_GREEK, COLOR_BLANK);
   rgbsps_set(LED_IND_EMOJI, COLOR_BLANK);
 
-  uint8_t layer = biton32(layer_state);
+  uint8_t layer = get_highest_layer(layer_state);
   if (oldlayer == layer) {
     return;
   }
@@ -1014,7 +1014,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
 
   lshift = keyboard_report->mods & MOD_BIT(KC_LSFT);
   rshift = keyboard_report->mods & MOD_BIT(KC_RSFT);
-  layer = biton32(layer_state);
+  layer = get_highest_layer(layer_state);
 
 #ifdef DOUBLESPACE_LAYER_ENABLE
   // double-space: send space immediately if any other key depressed before space is released
diff --git a/keyboards/handwired/promethium/keymaps/priyadi/keymap.c b/keyboards/handwired/promethium/keymaps/priyadi/keymap.c
index 94b505aa2c..faa096ce08 100644
--- a/keyboards/handwired/promethium/keymaps/priyadi/keymap.c
+++ b/keyboards/handwired/promethium/keymaps/priyadi/keymap.c
@@ -532,7 +532,7 @@ void led_reset(void) {
 }
 
 void led_set_default_layer_indicator(void) {
-  uint8_t default_layer = biton32(default_layer_state);
+  uint8_t default_layer = get_highest_layer(default_layer_state);
   if (default_layer == _QWERTY) {
     rgbsps_set(LED_IND_QWERTY, THEME_COLOR_QWERTY);
     rgbsps_set(LED_IND_ALT, COLOR_BLANK);
@@ -556,7 +556,7 @@ void led_set_layer_indicator(void) {
   rgbsps_set(LED_IND_GREEK, COLOR_BLANK);
   rgbsps_set(LED_IND_EMOJI, COLOR_BLANK);
 
-  uint8_t layer = biton32(layer_state);
+  uint8_t layer = get_highest_layer(layer_state);
   if (oldlayer == layer) {
     return;
   }
@@ -989,7 +989,7 @@ void process_doublespace(bool pressed, bool *isactive, bool *otheractive, bool *
 }
 #endif
 
-uint32_t layer_state_set_kb(uint32_t state)
+layer_state_t layer_state_set_kb(layer_state_t state)
 {
   // turn on punc layer if both fun & num are on
   if ((state & ((1UL<<_NUM) | (1UL<<_FUN))) == ((1UL<<_NUM) | (1UL<<_FUN))) {
@@ -1017,7 +1017,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
 
   lshift = keyboard_report->mods & MOD_BIT(KC_LSFT);
   rshift = keyboard_report->mods & MOD_BIT(KC_RSFT);
-  layer = biton32(layer_state);
+  layer = get_highest_layer(layer_state);
 
 #ifdef DOUBLESPACE_LAYER_ENABLE
   // double-space: send space immediately if any other key depressed before space is released
diff --git a/keyboards/handwired/traveller/keymaps/default/keymap.c b/keyboards/handwired/traveller/keymaps/default/keymap.c
index 288acbe108..2cd57db35f 100644
--- a/keyboards/handwired/traveller/keymaps/default/keymap.c
+++ b/keyboards/handwired/traveller/keymaps/default/keymap.c
@@ -219,7 +219,7 @@ void LayerLEDSet(uint8_t layr) {
 uint8_t old_layer = _QW;
 
 void matrix_scan_user(void) {
-    uint8_t layer = biton32(layer_state);
+    uint8_t layer = get_highest_layer(layer_state);
 
     if (old_layer != layer) {
         LayerLEDSet(layer);
diff --git a/keyboards/handwired/tritium_numpad/keymaps/blu/keymap.c b/keyboards/handwired/tritium_numpad/keymaps/blu/keymap.c
index b618675295..50bbf232b5 100644
--- a/keyboards/handwired/tritium_numpad/keymaps/blu/keymap.c
+++ b/keyboards/handwired/tritium_numpad/keymaps/blu/keymap.c
@@ -9,7 +9,7 @@ void keyboard_pre_init_user(void)
 layer_state_t layer_state_set_user(layer_state_t state)
 {
 	// Switch layer LED accordingly
-    switch (biton32(state)) {
+    switch (get_highest_layer(state)) {
     case 0:
         writePinHigh(B0);
         break;
diff --git a/keyboards/helix/pico/keymaps/mtei/keymap.c b/keyboards/helix/pico/keymaps/mtei/keymap.c
index b703ca376d..f641829292 100644
--- a/keyboards/helix/pico/keymaps/mtei/keymap.c
+++ b/keyboards/helix/pico/keymaps/mtei/keymap.c
@@ -242,7 +242,7 @@ float music_scale[][2]     = SONG(MUSIC_SCALE_SOUND);
 
 static int current_default_layer;
 
-uint32_t default_layer_state_set_kb(uint32_t state) {
+layer_state_t default_layer_state_set_kb(layer_state_t state) {
     // 1<<_QWERTY  - 1 == 1 - 1 == _QWERTY (=0)
     // 1<<_COLEMAK - 1 == 2 - 1 == _COLEMAK (=1)
     current_default_layer = state - 1;
diff --git a/keyboards/helix/rev2/keymaps/default/oled_display.c b/keyboards/helix/rev2/keymaps/default/oled_display.c
index ad5558869f..384356bd14 100644
--- a/keyboards/helix/rev2/keymaps/default/oled_display.c
+++ b/keyboards/helix/rev2/keymaps/default/oled_display.c
@@ -86,7 +86,7 @@ static void render_layer_status(void) {
         break;
     default:
         oled_write_P(PSTR("Undef-"), false);
-        snprintf(buf,sizeof(buf), "%ld", layer_state);
+        snprintf(buf,sizeof(buf), "%u", layer_state);
         oled_write(buf, false);
     }
     oled_write_P(PSTR("\n"), false);
diff --git a/keyboards/helix/rev2/keymaps/edvorakjp/keymap.c b/keyboards/helix/rev2/keymaps/edvorakjp/keymap.c
index 5de00cb14c..80d0392ffb 100644
--- a/keyboards/helix/rev2/keymaps/edvorakjp/keymap.c
+++ b/keyboards/helix/rev2/keymaps/edvorakjp/keymap.c
@@ -5,9 +5,9 @@
 // keymaps definitions are moved to keymap_Xrows.c.
 
 #ifdef RGBLIGHT_ENABLE
-uint32_t layer_state_set_keymap(uint32_t state) {
+layer_state_t layer_state_set_keymap(layer_state_t state) {
     rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT);
-    switch (biton32(state)) {
+    switch (get_highest_layer(state)) {
         case L_EDVORAKJP_LOWER:
             rgblight_sethsv_noeeprom_red();
             break;
diff --git a/keyboards/helix/rev2/keymaps/edvorakjp/oled.c b/keyboards/helix/rev2/keymaps/edvorakjp/oled.c
index 207aebc423..14e3e5533b 100644
--- a/keyboards/helix/rev2/keymaps/edvorakjp/oled.c
+++ b/keyboards/helix/rev2/keymaps/edvorakjp/oled.c
@@ -19,7 +19,7 @@ void render_layer_state(void) {
     char layer_name[17];
     oled_write_P(PSTR("Layer: "), false);
 
-    switch (biton32(layer_state)) {
+    switch (get_highest_layer(layer_state)) {
         case L_EDVORAKJP_BASE:
             oled_write_ln_P(PSTR("Default"), false);
             break;
diff --git a/keyboards/helix/rev2/keymaps/five_rows/keymap.c b/keyboards/helix/rev2/keymaps/five_rows/keymap.c
index d992425de7..4d9dc16a9e 100644
--- a/keyboards/helix/rev2/keymaps/five_rows/keymap.c
+++ b/keyboards/helix/rev2/keymaps/five_rows/keymap.c
@@ -379,8 +379,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
 int current_default_layer;
 
-uint32_t default_layer_state_set_user(uint32_t state) {
-    current_default_layer = biton32(state);
+layer_state_t default_layer_state_set_user(layer_state_t state) {
+    current_default_layer = get_highest_layer(state);
     return state;
 }
 
diff --git a/keyboards/helix/rev3_5rows/keymaps/five_rows/keymap.c b/keyboards/helix/rev3_5rows/keymaps/five_rows/keymap.c
index d992425de7..4d9dc16a9e 100644
--- a/keyboards/helix/rev3_5rows/keymaps/five_rows/keymap.c
+++ b/keyboards/helix/rev3_5rows/keymaps/five_rows/keymap.c
@@ -379,8 +379,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
 int current_default_layer;
 
-uint32_t default_layer_state_set_user(uint32_t state) {
-    current_default_layer = biton32(state);
+layer_state_t default_layer_state_set_user(layer_state_t state) {
+    current_default_layer = get_highest_layer(state);
     return state;
 }
 
diff --git a/keyboards/hineybush/h87a/keymaps/gam3cat/keymap.c b/keyboards/hineybush/h87a/keymaps/gam3cat/keymap.c
index d59438f6b3..d505d5171d 100644
--- a/keyboards/hineybush/h87a/keymaps/gam3cat/keymap.c
+++ b/keyboards/hineybush/h87a/keymaps/gam3cat/keymap.c
@@ -245,7 +245,7 @@ void matrix_scan_user(void) {
 }
 
 layer_state_t layer_state_set_user(layer_state_t state) {
-    switch (biton32(state)) {
+    switch (get_highest_layer(state)) {
         case _BL:
             custom_backlight_level(0);
             rgblight_sethsv_noeeprom(180,100,255);
diff --git a/keyboards/hotdox/keymaps/default/keymap.c b/keyboards/hotdox/keymaps/default/keymap.c
index fe07e6f91d..eb4692a4c2 100644
--- a/keyboards/hotdox/keymaps/default/keymap.c
+++ b/keyboards/hotdox/keymaps/default/keymap.c
@@ -163,7 +163,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
 // Runs constantly in the background, in a loop.
 void matrix_scan_user(void) {
 
-    uint8_t layer = biton32(layer_state);
+    uint8_t layer = get_highest_layer(layer_state);
 
     ergodox_right_led_1_off();
     ergodox_right_led_2_off();
diff --git a/keyboards/hotdox/keymaps/eozaki/keymap.c b/keyboards/hotdox/keymaps/eozaki/keymap.c
index 3516f20303..d4b8f491fd 100644
--- a/keyboards/hotdox/keymaps/eozaki/keymap.c
+++ b/keyboards/hotdox/keymaps/eozaki/keymap.c
@@ -170,7 +170,7 @@ void matrix_init_user(void) {
 // Runs constantly in the background, in a loop.
 void matrix_scan_user(void) {
 
-    uint8_t layer = biton32(layer_state);
+    uint8_t layer = get_highest_layer(layer_state);
 
     ergodox_board_led_off();
     ergodox_right_led_1_off();
diff --git a/keyboards/hotdox/keymaps/kloki/keymap.c b/keyboards/hotdox/keymaps/kloki/keymap.c
index f858effd54..2550b68978 100644
--- a/keyboards/hotdox/keymaps/kloki/keymap.c
+++ b/keyboards/hotdox/keymaps/kloki/keymap.c
@@ -189,7 +189,7 @@ void matrix_init_user(void) {
 // Runs constantly in the background, in a loop.
 void matrix_scan_user(void) {
 
-    uint8_t layer = biton32(layer_state);
+    uint8_t layer = get_highest_layer(layer_state);
 
     ergodox_board_led_off();
     ergodox_right_led_1_off();
diff --git a/keyboards/input_club/ergodox_infinity/keymaps/default/keymap.c b/keyboards/input_club/ergodox_infinity/keymaps/default/keymap.c
index cd65001803..6f9967b46e 100644
--- a/keyboards/input_club/ergodox_infinity/keymaps/default/keymap.c
+++ b/keyboards/input_club/ergodox_infinity/keymaps/default/keymap.c
@@ -167,7 +167,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
 // Runs constantly in the background, in a loop.
 void matrix_scan_user(void) {
 
-    uint8_t layer = biton32(layer_state);
+    uint8_t layer = get_highest_layer(layer_state);
 
     ergodox_board_led_off();
     ergodox_right_led_1_off();
diff --git a/keyboards/input_club/ergodox_infinity/keymaps/gordon/keymap.c b/keyboards/input_club/ergodox_infinity/keymaps/gordon/keymap.c
index c321d546fb..50e3238a7d 100644
--- a/keyboards/input_club/ergodox_infinity/keymaps/gordon/keymap.c
+++ b/keyboards/input_club/ergodox_infinity/keymaps/gordon/keymap.c
@@ -335,7 +335,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
 void matrix_scan_user(void) {
 
-    uint8_t layer = biton32(layer_state);
+    uint8_t layer = get_highest_layer(layer_state);
 
     ergodox_board_led_on();
     ergodox_led_all_on();
diff --git a/keyboards/input_club/ergodox_infinity/keymaps/halfkeyboard/keymap.c b/keyboards/input_club/ergodox_infinity/keymaps/halfkeyboard/keymap.c
index 3870dd8ffd..c8498fe9e9 100644
--- a/keyboards/input_club/ergodox_infinity/keymaps/halfkeyboard/keymap.c
+++ b/keyboards/input_club/ergodox_infinity/keymaps/halfkeyboard/keymap.c
@@ -492,7 +492,7 @@ void matrix_init_user(void) {
 // Runs constantly in the background, in a loop.
 void matrix_scan_user(void) {
 
-    uint8_t layer = biton32(layer_state);
+    uint8_t layer = get_highest_layer(layer_state);
 
     ergodox_board_led_off();
     ergodox_right_led_1_off();
diff --git a/keyboards/input_club/ergodox_infinity/keymaps/input_club/keymap.c b/keyboards/input_club/ergodox_infinity/keymaps/input_club/keymap.c
index 545429fca0..e941cee154 100644
--- a/keyboards/input_club/ergodox_infinity/keymaps/input_club/keymap.c
+++ b/keyboards/input_club/ergodox_infinity/keymaps/input_club/keymap.c
@@ -223,7 +223,7 @@ void matrix_init_user(void) {
 // Runs constantly in the background, in a loop.
 void matrix_scan_user(void) {
 
-    uint8_t layer = biton32(layer_state);
+    uint8_t layer = get_highest_layer(layer_state);
 
     ergodox_board_led_off();
     ergodox_right_led_1_off();
diff --git a/keyboards/input_club/ergodox_infinity/keymaps/narze/keymap.c b/keyboards/input_club/ergodox_infinity/keymaps/narze/keymap.c
index dd721e9a78..184eb638c9 100644
--- a/keyboards/input_club/ergodox_infinity/keymaps/narze/keymap.c
+++ b/keyboards/input_club/ergodox_infinity/keymaps/narze/keymap.c
@@ -659,7 +659,7 @@ void matrix_setup(void) {
 }
 
 void matrix_scan_user(void) {
-  // uint8_t layer = biton32(layer_state);
+  // uint8_t layer = get_highest_layer(layer_state);
 
   //   ergodox_board_led_off();
   //   ergodox_right_led_1_off();
diff --git a/keyboards/input_club/ergodox_infinity/keymaps/nordic_ergo/keymap.c b/keyboards/input_club/ergodox_infinity/keymaps/nordic_ergo/keymap.c
index d08b96cc6e..70f49bb5c9 100644
--- a/keyboards/input_club/ergodox_infinity/keymaps/nordic_ergo/keymap.c
+++ b/keyboards/input_club/ergodox_infinity/keymaps/nordic_ergo/keymap.c
@@ -221,7 +221,7 @@ void matrix_init_user(void){
 
 // Runs constantly in the background, in a loop.
 void matrix_scan_user(void) {
-    uint8_t layer = biton32(layer_state);
+    uint8_t layer = get_highest_layer(layer_state);
 
     ergodox_board_led_off();
     ergodox_right_led_1_off();
diff --git a/keyboards/input_club/ergodox_infinity/keymaps/rask/keymap.c b/keyboards/input_club/ergodox_infinity/keymaps/rask/keymap.c
index e31c1c5d6b..b202823c77 100644
--- a/keyboards/input_club/ergodox_infinity/keymaps/rask/keymap.c
+++ b/keyboards/input_club/ergodox_infinity/keymaps/rask/keymap.c
@@ -179,7 +179,7 @@ void matrix_init_user(void) {
 // Runs constantly in the background, in a loop.
 void matrix_scan_user(void) {
 
-    uint8_t layer = biton32(layer_state);
+    uint8_t layer = get_highest_layer(layer_state);
 
     ergodox_board_led_off();
     ergodox_right_led_1_off();
diff --git a/keyboards/input_club/ergodox_infinity/keymaps/rjhilgefort/keymap.c b/keyboards/input_club/ergodox_infinity/keymaps/rjhilgefort/keymap.c
index 31d218ebfb..c322222baf 100644
--- a/keyboards/input_club/ergodox_infinity/keymaps/rjhilgefort/keymap.c
+++ b/keyboards/input_club/ergodox_infinity/keymaps/rjhilgefort/keymap.c
@@ -309,7 +309,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
 
 // Runs constantly in the background, in a loop.
 void matrix_scan_user(void) {
-    uint8_t layer = biton32(layer_state);
+    uint8_t layer = get_highest_layer(layer_state);
 
     ergodox_board_led_off();
     ergodox_right_led_1_off();
diff --git a/keyboards/input_club/ergodox_infinity/keymaps/trulyergonomic/keymap.c b/keyboards/input_club/ergodox_infinity/keymaps/trulyergonomic/keymap.c
index 02f409ad9e..bbc24ea27f 100644
--- a/keyboards/input_club/ergodox_infinity/keymaps/trulyergonomic/keymap.c
+++ b/keyboards/input_club/ergodox_infinity/keymaps/trulyergonomic/keymap.c
@@ -137,7 +137,7 @@ void matrix_init_user(void) {
 // Runs constantly in the background, in a loop.
 void matrix_scan_user(void) {
 
-    uint8_t layer = biton32(layer_state);
+    uint8_t layer = get_highest_layer(layer_state);
 
     ergodox_board_led_off();
     ergodox_right_led_1_off();
diff --git a/keyboards/input_club/infinity60/keymaps/jpetermans/keymap.c b/keyboards/input_club/infinity60/keymaps/jpetermans/keymap.c
index 3c2e0d4da8..a19be6664c 100644
--- a/keyboards/input_club/infinity60/keymaps/jpetermans/keymap.c
+++ b/keyboards/input_club/infinity60/keymaps/jpetermans/keymap.c
@@ -239,7 +239,7 @@ void matrix_scan_user(void) {
     //Turn on layer indicator or page depending on mode
     switch(led_mode_global) {
       case MODE_FLASH: //flash preset page leds then single indicator
-        page = biton32(layer_state) > max_pages ? 7 : biton32(layer_state);
+        page = get_highest_layer(layer_state) > max_pages ? 7 : get_highest_layer(layer_state);
         msg=(page << 8) | DISPLAY_PAGE;
         chMBPost(&led_mailbox, msg, TIME_IMMEDIATE);
         chThdSleepMilliseconds(500);
@@ -254,7 +254,7 @@ void matrix_scan_user(void) {
         break;
 
       case MODE_PAGE: //display pre-defined led page
-        page = biton32(layer_state) > max_pages ? 7 : biton32(layer_state);
+        page = get_highest_layer(layer_state) > max_pages ? 7 : get_highest_layer(layer_state);
         msg=(page << 8) | DISPLAY_PAGE;
         chMBPost(&led_mailbox, msg, TIME_IMMEDIATE);
         break;
diff --git a/keyboards/jc65/v32u4/keymaps/gam3cat/keymap.c b/keyboards/jc65/v32u4/keymaps/gam3cat/keymap.c
index 7572b9e073..453cd2360d 100644
--- a/keyboards/jc65/v32u4/keymaps/gam3cat/keymap.c
+++ b/keyboards/jc65/v32u4/keymaps/gam3cat/keymap.c
@@ -224,7 +224,7 @@ void matrix_scan_user(void) {
 }
 
 layer_state_t layer_state_set_user(layer_state_t state) {
-    switch (biton32(state)) {
+    switch (get_highest_layer(state)) {
        case _BL:
            custom_backlight_level(0);
            rgblight_sethsv_noeeprom(180,100,255);
diff --git a/keyboards/jones/v03_1/keymaps/default_ansi/keymap.c b/keyboards/jones/v03_1/keymaps/default_ansi/keymap.c
index e86204a3e3..a592418c4d 100644
--- a/keyboards/jones/v03_1/keymaps/default_ansi/keymap.c
+++ b/keyboards/jones/v03_1/keymaps/default_ansi/keymap.c
@@ -253,7 +253,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
         }
     }
     if (index == 1) { /* Second encoder, Left side */
-        switch(biton32(layer_state)) {
+        switch(get_highest_layer(layer_state)) {
             case _LOWER:
                 if (clockwise) {
                     rgblight_decrease_hue();
diff --git a/keyboards/jones/v03_1/keymaps/default_jp/keymap.c b/keyboards/jones/v03_1/keymaps/default_jp/keymap.c
index 9a2663f6d7..56f51d56ce 100644
--- a/keyboards/jones/v03_1/keymaps/default_jp/keymap.c
+++ b/keyboards/jones/v03_1/keymaps/default_jp/keymap.c
@@ -255,7 +255,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
         }
     }
     if (index == 1) { /* Second encoder, Left side */
-        switch(biton32(layer_state)) {
+        switch(get_highest_layer(layer_state)) {
             case _LOWER:
                 if (clockwise) {
                     rgblight_decrease_hue();
diff --git a/keyboards/kakunpc/angel64/alpha/keymaps/default/keymap.c b/keyboards/kakunpc/angel64/alpha/keymaps/default/keymap.c
index 0f2a8dada1..92dfa7da6e 100644
--- a/keyboards/kakunpc/angel64/alpha/keymaps/default/keymap.c
+++ b/keyboards/kakunpc/angel64/alpha/keymaps/default/keymap.c
@@ -40,7 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 #ifdef OLED_ENABLE
 bool oled_task_user(void) {
   oled_write_P(PSTR("Layer: "), false);
-  switch (biton32(layer_state)) {
+  switch (get_highest_layer(layer_state)) {
     case BASE:
       oled_write_P(PSTR("Default\n"), false);
       break;
diff --git a/keyboards/kakunpc/angel64/rev1/keymaps/kakunpc/keymap.c b/keyboards/kakunpc/angel64/rev1/keymaps/kakunpc/keymap.c
index 6c5184c1b3..601bf5f02f 100644
--- a/keyboards/kakunpc/angel64/rev1/keymaps/kakunpc/keymap.c
+++ b/keyboards/kakunpc/angel64/rev1/keymaps/kakunpc/keymap.c
@@ -175,7 +175,7 @@ void matrix_scan_user(void) {
 #ifdef OLED_ENABLE
 bool oled_task_user(void) {
   oled_write_P(PSTR("Layer: "), false);
-  switch (biton32(layer_state)) {
+  switch (get_highest_layer(layer_state)) {
     case BASE:
       oled_write_P(PSTR("Default\n"), false);
       break;
diff --git a/keyboards/kakunpc/suihankey/alpha/keymaps/default/keymap.c b/keyboards/kakunpc/suihankey/alpha/keymaps/default/keymap.c
index b682f0f15d..d937b68813 100644
--- a/keyboards/kakunpc/suihankey/alpha/keymaps/default/keymap.c
+++ b/keyboards/kakunpc/suihankey/alpha/keymaps/default/keymap.c
@@ -58,7 +58,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 #ifdef OLED_ENABLE
 bool oled_task_user(void) {
   oled_write_P(PSTR("Layer: "), false);
-  switch (biton32(layer_state)) {
+  switch (get_highest_layer(layer_state)) {
     case BASE:
       oled_write_P(PSTR("Default\n"), false);
       break;
diff --git a/keyboards/kakunpc/suihankey/rev1/keymaps/default/keymap.c b/keyboards/kakunpc/suihankey/rev1/keymaps/default/keymap.c
index b682f0f15d..d937b68813 100644
--- a/keyboards/kakunpc/suihankey/rev1/keymaps/default/keymap.c
+++ b/keyboards/kakunpc/suihankey/rev1/keymaps/default/keymap.c
@@ -58,7 +58,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 #ifdef OLED_ENABLE
 bool oled_task_user(void) {
   oled_write_P(PSTR("Layer: "), false);
-  switch (biton32(layer_state)) {
+  switch (get_highest_layer(layer_state)) {
     case BASE:
       oled_write_P(PSTR("Default\n"), false);
       break;
diff --git a/keyboards/kbdfans/kbd6x/keymaps/othi/keymap.c b/keyboards/kbdfans/kbd6x/keymaps/othi/keymap.c
index 6bbbdd87c1..ce341509a6 100644
--- a/keyboards/kbdfans/kbd6x/keymaps/othi/keymap.c
+++ b/keyboards/kbdfans/kbd6x/keymaps/othi/keymap.c
@@ -38,7 +38,7 @@ void eeconfig_init_user(void) {
 #define DE_UDIA_CAP UC(0x00DC)
 
 layer_state_t layer_state_set_user(layer_state_t state) {
-    switch (biton32(state)) {
+    switch (get_highest_layer(state)) {
     case NM_MODE:
         rgblight_setrgb (0x00,  0x66, 0x00);
         break;
@@ -187,4 +187,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
       _______,   _______,         _______,         _______,         _______,   _______,      _______
       ),
 };
-
diff --git a/keyboards/kbdfans/kbd75/keymaps/edulpn/keymap.c b/keyboards/kbdfans/kbd75/keymaps/edulpn/keymap.c
index 998f1a25d2..5a6d760355 100644
--- a/keyboards/kbdfans/kbd75/keymaps/edulpn/keymap.c
+++ b/keyboards/kbdfans/kbd75/keymaps/edulpn/keymap.c
@@ -45,7 +45,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 };
 
 layer_state_t layer_state_set_user(layer_state_t state) {
-    switch (biton32(state)) {
+    switch (get_highest_layer(state)) {
     case WINDOWS_LAYER:
         rgblight_setrgb_blue();
         break;
diff --git a/keyboards/kbdfans/niu_mini/keymaps/tobias/keymap.c b/keyboards/kbdfans/niu_mini/keymaps/tobias/keymap.c
index 935dd5c506..8c03ae2df2 100644
--- a/keyboards/kbdfans/niu_mini/keymaps/tobias/keymap.c
+++ b/keyboards/kbdfans/niu_mini/keymaps/tobias/keymap.c
@@ -8,7 +8,7 @@
  * 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. 
+ * 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/>.
@@ -103,8 +103,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
   KC_EQL, S(KC_EQL),   RALT(KC_2), RALT(KC_3), RALT(KC_4), RALT(KC_E), KC_RBRC, RALT(KC_7), RALT(KC_8), RALT(KC_9),    RALT(KC_0), RALT(KC_MINS),
   KC_LSFT, KC_NUBS, RALT(KC_NUBS), S(KC_NUBS), DGRMCRO, XXXXXXX, XXXXXXX,   RALT(KC_M),   KC_RBRC,  S(KC_RBRC), RALT(KC_RBRC),       _______,
   _______, _______,       KC_RALT,    _______,TO(_ADJUST), _______, _______,      _______,   _______,     _______,       _______, TO(_QWERTY)
-), 
- 
+),
+
 
 /* Lower
  * ,-----------------------------------------------------------------------------------.
@@ -257,10 +257,10 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
                 }
                 else {
                     workmode = false;
-                    return false;       
-                }           
+                    return false;
+                }
         }
-        
+
     }
     return true;
 }
@@ -293,7 +293,7 @@ void rgbflag(uint8_t r, uint8_t g, uint8_t b) {
 
 layer_state_t layer_state_set_user(layer_state_t state) {
 //  if(rgblight_get_mode() == 1) {
-    switch (biton32(state)) {
+    switch (get_highest_layer(state)) {
     case _QWERTY:
         if(!workmode){
             rgblight_mode(9);
@@ -312,7 +312,7 @@ layer_state_t layer_state_set_user(layer_state_t state) {
             tap_code(KC_NLCK);
         }
         rgbflag(0xFF,  0x00, 0x00);
-        
+
         break;
     case _ADJUST:
         rgblight_mode(1);
@@ -350,7 +350,7 @@ layer_state_t layer_state_set_user(layer_state_t state) {
         rgblight_mode(1);
         if(bnumlock) {
             tap_code(KC_NLCK);
-        }        
+        }
         rgbflag(0xFF,  0xFF, 0xFF);
         break;
     }
@@ -363,8 +363,8 @@ layer_state_t layer_state_set_user(layer_state_t state) {
     //Layer LED indicators
 
     uint32_t layer = layer_state;
-    
-    
+
+
     if (layer & (1<<2)) {
         if(!bnumlock) {
             numlock_changed = true;
@@ -373,10 +373,10 @@ layer_state_t layer_state_set_user(layer_state_t state) {
             bnumlock = true;
         }
     }
-} 
+}
  */
- 
- 
+
+
 void led_set_user(uint8_t usb_led) {
 
     if (usb_led & (1 << USB_LED_NUM_LOCK)) {
@@ -410,4 +410,4 @@ void led_set_user(uint8_t usb_led) {
 
     }
 
-}
\ No newline at end of file
+}
diff --git a/keyboards/kbdfans/niu_mini/keymaps/xtonhasvim/keymap.c b/keyboards/kbdfans/niu_mini/keymaps/xtonhasvim/keymap.c
index bfda812738..d3c6102b16 100644
--- a/keyboards/kbdfans/niu_mini/keymaps/xtonhasvim/keymap.c
+++ b/keyboards/kbdfans/niu_mini/keymaps/xtonhasvim/keymap.c
@@ -187,7 +187,7 @@ void rgbflag(uint8_t r, uint8_t g, uint8_t b, uint8_t rr, uint8_t gg, uint8_t bb
 
 void set_state_leds(void) {
   if (rgblight_get_mode() == 1) {
-    switch (biton32(layer_state)) {
+    switch (get_highest_layer(layer_state)) {
     case _RAISE:
       rgbflag(C_BLU, C_GRN);
       break;
diff --git a/keyboards/keebio/bdn9/keymaps/vosechu-ksp/keymap.c b/keyboards/keebio/bdn9/keymaps/vosechu-ksp/keymap.c
index a449c3ec3d..3b92657d4d 100644
--- a/keyboards/keebio/bdn9/keymaps/vosechu-ksp/keymap.c
+++ b/keyboards/keebio/bdn9/keymaps/vosechu-ksp/keymap.c
@@ -64,7 +64,7 @@ layer_state_t layer_state_set_user(layer_state_t state) {
     flight_mode = false;
     rcs_mode = false;
 
-    switch (biton32(state)) {
+    switch (get_highest_layer(state)) {
     case _PANIC:
         panic_mode = true; // For use in encoder evaluation
         rgblight_sethsv_noeeprom(HSV_RED);
diff --git a/keyboards/keebio/bfo9000/keymaps/abstractkb/keymap.c b/keyboards/keebio/bfo9000/keymaps/abstractkb/keymap.c
index 29531b9973..ad56226ac6 100644
--- a/keyboards/keebio/bfo9000/keymaps/abstractkb/keymap.c
+++ b/keyboards/keebio/bfo9000/keymaps/abstractkb/keymap.c
@@ -42,7 +42,7 @@ void matrix_post_init_user(void) {
 }
 
 layer_state_t layer_state_set_user(layer_state_t state) {
-  switch (biton32(state)) {
+  switch (get_highest_layer(state)) {
     case _LIST:
       rgblight_sethsv_noeeprom(0,255,255);
       rgblight_mode_noeeprom(RGBLIGHT_MODE_RAINBOW_SWIRL);
@@ -87,6 +87,3 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
       return true;
   }
 }
-
-
-
diff --git a/keyboards/keebio/iris/keymaps/edvorakjp/keymap.c b/keyboards/keebio/iris/keymaps/edvorakjp/keymap.c
index 0c0fc5a746..013d6c00a5 100644
--- a/keyboards/keebio/iris/keymaps/edvorakjp/keymap.c
+++ b/keyboards/keebio/iris/keymaps/edvorakjp/keymap.c
@@ -59,9 +59,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 void matrix_init_keymap() {}
 
 #ifdef RGBLIGHT_EFFECT_STATIC_GRADIENT
-uint32_t layer_state_set_keymap(uint32_t state) {
+layer_state_t layer_state_set_keymap(layer_state_t state) {
     rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT);
-    switch (biton32(state)) {
+    switch (get_highest_layer(state)) {
         case L_EDVORAKJP_LOWER:
             rgblight_sethsv_noeeprom_red();
             break;
diff --git a/keyboards/keebio/iris/keymaps/jerryhcooke/keymap.c b/keyboards/keebio/iris/keymaps/jerryhcooke/keymap.c
index e0c09638b2..bc04f9fbfd 100644
--- a/keyboards/keebio/iris/keymaps/jerryhcooke/keymap.c
+++ b/keyboards/keebio/iris/keymaps/jerryhcooke/keymap.c
@@ -11,7 +11,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {[0] = LAYOUT(KC_GE
 #ifdef ENCODER_ENABLE
 bool encoder_update_user(uint8_t index, bool clockwise) {
     if (index == 0) {
-        switch (biton32(layer_state)) {
+        switch (get_highest_layer(layer_state)) {
             case _LOWER:
                 clockwise ? tap_code(KC_MS_WH_UP) : tap_code(KC_MS_WH_DOWN);
                 break;
@@ -23,7 +23,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
                 break;
         }
     } else if (index == 1) {
-        switch (biton32(layer_state)) {
+        switch (get_highest_layer(layer_state)) {
             case _LOWER:
                 clockwise ? tap_code(KC_UP) : tap_code(KC_DOWN);
                 break;
diff --git a/keyboards/keebio/iris/keymaps/sq5rix/keymap.c b/keyboards/keebio/iris/keymaps/sq5rix/keymap.c
index 19a939a55b..d3e0d680a1 100644
--- a/keyboards/keebio/iris/keymaps/sq5rix/keymap.c
+++ b/keyboards/keebio/iris/keymaps/sq5rix/keymap.c
@@ -134,7 +134,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
     }
     // tmux screen
     else if (index == 1) {
-        switch(biton32(layer_state)){
+        switch(get_highest_layer(layer_state)){
              case 0:
                 if (clockwise) {
                     send_string(SS_LCTL("B")"p");
@@ -182,4 +182,3 @@ layer_state_t layer_state_set_user(layer_state_t state) {
     rgblight_set_layer_state(2, layer_state_cmp(state, 4));
     return state;
 }
-
diff --git a/keyboards/keebio/levinson/keymaps/issmirnov/keymap.c b/keyboards/keebio/levinson/keymaps/issmirnov/keymap.c
index d9edfebaa0..6de2279be4 100644
--- a/keyboards/keebio/levinson/keymaps/issmirnov/keymap.c
+++ b/keyboards/keebio/levinson/keymaps/issmirnov/keymap.c
@@ -91,7 +91,7 @@ layer_state_t layer_state_set_user(layer_state_t state) {
   #ifdef RGBLIGHT_ENABLE
     layer_state_set_rgb(state);
   #endif
-  uint8_t layer = biton32(state);
+  uint8_t layer = get_highest_layer(state);
   combo_enable(); // by default, enable combos.
   switch (layer) {
     case 0:
diff --git a/keyboards/keebio/levinson/keymaps/issmirnov/rgb.c b/keyboards/keebio/levinson/keymaps/issmirnov/rgb.c
index de3a5342c0..3695731353 100644
--- a/keyboards/keebio/levinson/keymaps/issmirnov/rgb.c
+++ b/keyboards/keebio/levinson/keymaps/issmirnov/rgb.c
@@ -45,7 +45,7 @@ void matrix_scan_rgb(void) {
 }
 
 void set_rgb_indicators(uint8_t this_mod, uint8_t this_osm) {
-  if (biton32(layer_state) == _QWERTY) {
+  if (get_highest_layer(layer_state) == _QWERTY) {
     if ((this_mod | this_osm) & MOD_MASK_SHIFT) {
       rgblight_setrgb_gold_at(SHFT_LED1);
     } else {
diff --git a/keyboards/keebio/levinson/keymaps/issmirnov/rgb.h b/keyboards/keebio/levinson/keymaps/issmirnov/rgb.h
index 254d3cbac0..8b14d8571d 100644
--- a/keyboards/keebio/levinson/keymaps/issmirnov/rgb.h
+++ b/keyboards/keebio/levinson/keymaps/issmirnov/rgb.h
@@ -6,7 +6,7 @@
 void keyboard_post_init_rgb(void);
 
 // If rgb enabled, set underglow for layer
-uint32_t layer_state_set_rgb(uint32_t state);
+layer_state_t layer_state_set_rgb(layer_state_t state);
 
 // Enhance matrix scan code. Note: keep this light, since it runs every 100ms
 void matrix_scan_rgb(void);
diff --git a/keyboards/keebio/levinson/keymaps/xtonhasvim/keymap.c b/keyboards/keebio/levinson/keymaps/xtonhasvim/keymap.c
index 16aa965d7d..014e6c9c23 100644
--- a/keyboards/keebio/levinson/keymaps/xtonhasvim/keymap.c
+++ b/keyboards/keebio/levinson/keymaps/xtonhasvim/keymap.c
@@ -182,7 +182,7 @@ void rgbflag(uint8_t r, uint8_t g, uint8_t b, uint8_t rr, uint8_t gg, uint8_t bb
 
 void set_state_leds(void) {
   if (rgblight_get_mode() == 1) {
-    switch (biton32(layer_state)) {
+    switch (get_highest_layer(layer_state)) {
     case _RAISE:
       rgbflag(C_BLU, C_GRN);
       break;
diff --git a/keyboards/keebio/nyquist/keymaps/pitty/keymap.c b/keyboards/keebio/nyquist/keymaps/pitty/keymap.c
index 31912bb63e..2016cd1c46 100644
--- a/keyboards/keebio/nyquist/keymaps/pitty/keymap.c
+++ b/keyboards/keebio/nyquist/keymaps/pitty/keymap.c
@@ -143,7 +143,7 @@ layer_state_t layer_state_set_user(layer_state_t state) {
 #ifdef RGBLIGHT_ENABLE
   uint8_t default_layer = eeconfig_read_default_layer();
   if (rgb_layer_change) {
-    switch (biton32(state)) {
+    switch (get_highest_layer(state)) {
     case _LOWER:
       rgblight_set_purple;
       rgblight_mode(5);
diff --git a/keyboards/keebio/quefrency/keymaps/georgepetri/keymap.c b/keyboards/keebio/quefrency/keymaps/georgepetri/keymap.c
index a367e877fe..7d6f9da30e 100644
--- a/keyboards/keebio/quefrency/keymaps/georgepetri/keymap.c
+++ b/keyboards/keebio/quefrency/keymaps/georgepetri/keymap.c
@@ -64,7 +64,7 @@ void keyboard_post_init_user(void) {
 }
 
 void update_led(void) {
-    switch (biton32(layer_state)) {
+    switch (get_highest_layer(layer_state)) {
       case _BASE:
       rgblight_sethsv_noeeprom(HSV_BLUE);
       break;
diff --git a/keyboards/keyhive/honeycomb/keymaps/default/keymap.c b/keyboards/keyhive/honeycomb/keymaps/default/keymap.c
index d0a5961873..429624822e 100755
--- a/keyboards/keyhive/honeycomb/keymaps/default/keymap.c
+++ b/keyboards/keyhive/honeycomb/keymaps/default/keymap.c
@@ -37,7 +37,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 report_mouse_t currentReport = {};
 
 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
-	//uint8_t layer = biton32(layer_state);  // get the current layer
+	//uint8_t layer = get_highest_layer(layer_state);  // get the current layer
 
 	// Basic example functions
 	switch (keycode) {
diff --git a/keyboards/kinesis/keymaps/milestogo/keymap.c b/keyboards/kinesis/keymaps/milestogo/keymap.c
index 8c01bcb83d..72687195ef 100644
--- a/keyboards/kinesis/keymaps/milestogo/keymap.c
+++ b/keyboards/kinesis/keymaps/milestogo/keymap.c
@@ -330,7 +330,7 @@ void matrix_init_user(void) {
 void matrix_scan_user(void) {
 
 #ifdef ALVICSTEP_CONFIG_H
- int8_t layer = biton32(layer_state);
+ int8_t layer = get_highest_layer(layer_state);
 
         switch (layer) {
         case 1:
diff --git a/keyboards/kprepublic/cospad/keymaps/detrus/keymap.c b/keyboards/kprepublic/cospad/keymaps/detrus/keymap.c
index af56305e5c..84324c6e0d 100644
--- a/keyboards/kprepublic/cospad/keymaps/detrus/keymap.c
+++ b/keyboards/kprepublic/cospad/keymaps/detrus/keymap.c
@@ -271,7 +271,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
 // Makes sure to update the good tri-layer if a layer changes
 layer_state_t layer_state_set_user(layer_state_t state) {
-	switch (biton32(default_layer_state)) {
+	switch (get_highest_layer(default_layer_state)) {
 		case _QWERTY_LAYER:
 			state = update_tri_layer_state(state, _RAISE_LAYER, _QWERTY_LOWER_LAYER, _ALTER_LAYER);
 			break;
@@ -289,8 +289,8 @@ layer_state_t layer_state_set_user(layer_state_t state) {
 }
 
 // Makes the tri-layer
-uint32_t default_layer_state_set_kb(uint32_t state) {
-	switch (biton32(state)) {
+layer_state_t default_layer_state_set_kb(layer_state_t state) {
+	switch (get_highest_layer(state)) {
 		case _QWERTY_LAYER:
 			state = update_tri_layer_state(state, _RAISE_LAYER, _QWERTZ_LOWER_LAYER, _ALTER_LAYER);
 			state = update_tri_layer_state(state, _RAISE_LAYER, _COLEMA_LOWER_LAYER, _ALTER_LAYER);
diff --git a/keyboards/kprepublic/jj50/keymaps/abstractkb/keymap.c b/keyboards/kprepublic/jj50/keymaps/abstractkb/keymap.c
index e257649369..c096aaea10 100644
--- a/keyboards/kprepublic/jj50/keymaps/abstractkb/keymap.c
+++ b/keyboards/kprepublic/jj50/keymaps/abstractkb/keymap.c
@@ -42,7 +42,7 @@ void keyboard_post_init_user(void) {
 }
 
 layer_state_t layer_state_set_user(layer_state_t state) {
-  switch (biton32(state)) {
+  switch (get_highest_layer(state)) {
     case _RAISE:
       rgblight_sethsv_noeeprom(170,255,255);
       rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT);
diff --git a/keyboards/kprepublic/jj50/keymaps/abstractkb_gergomatch/keymap.c b/keyboards/kprepublic/jj50/keymaps/abstractkb_gergomatch/keymap.c
index baedbb4dd2..af4c3c84bb 100644
--- a/keyboards/kprepublic/jj50/keymaps/abstractkb_gergomatch/keymap.c
+++ b/keyboards/kprepublic/jj50/keymaps/abstractkb_gergomatch/keymap.c
@@ -42,7 +42,7 @@ void keyboard_post_init_user(void) {
 }
 
 layer_state_t layer_state_set_user(layer_state_t state) {
-  switch (biton32(state)) {
+  switch (get_highest_layer(state)) {
     case _FUNC:
       rgblight_sethsv_noeeprom(170,255,255);
       rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT);
diff --git a/keyboards/ktec/ergodone/keymaps/eozaki/keymap.c b/keyboards/ktec/ergodone/keymaps/eozaki/keymap.c
index 09854ee89c..3910756f81 100644
--- a/keyboards/ktec/ergodone/keymaps/eozaki/keymap.c
+++ b/keyboards/ktec/ergodone/keymaps/eozaki/keymap.c
@@ -179,7 +179,7 @@ void matrix_init_user(void) {
 // Runs constantly in the background, in a loop.
 void matrix_scan_user(void) {
 
-    uint8_t layer = biton32(layer_state);
+    uint8_t layer = get_highest_layer(layer_state);
 
     ergodox_board_led_off();
     ergodox_right_led_1_off();
diff --git a/keyboards/ktec/ergodone/keymaps/erovia/keymap.c b/keyboards/ktec/ergodone/keymaps/erovia/keymap.c
index 279c8a57c1..502c0dafe6 100644
--- a/keyboards/ktec/ergodone/keymaps/erovia/keymap.c
+++ b/keyboards/ktec/ergodone/keymaps/erovia/keymap.c
@@ -204,7 +204,7 @@ void matrix_init_user(void) {
 
 layer_state_t layer_state_set_user(layer_state_t state) {
     ergodox_led_all_off();
-    switch (biton32(state)) {
+    switch (get_highest_layer(state)) {
       case FN:
           // Red led on Pro Micro for Fn layer
           ergodox_board_led_on();
diff --git a/keyboards/ktec/ergodone/keymaps/kloki/keymap.c b/keyboards/ktec/ergodone/keymaps/kloki/keymap.c
index 87e96d20fd..1347f8f501 100644
--- a/keyboards/ktec/ergodone/keymaps/kloki/keymap.c
+++ b/keyboards/ktec/ergodone/keymaps/kloki/keymap.c
@@ -198,7 +198,7 @@ void matrix_init_user(void) {
 // Runs constantly in the background, in a loop.
 void matrix_scan_user(void) {
 
-    uint8_t layer = biton32(layer_state);
+    uint8_t layer = get_highest_layer(layer_state);
 
     ergodox_board_led_off();
     ergodox_right_led_1_off();
diff --git a/keyboards/ktec/ergodone/keymaps/vega/keymap.c b/keyboards/ktec/ergodone/keymaps/vega/keymap.c
index ee6c56bf95..21db785345 100644
--- a/keyboards/ktec/ergodone/keymaps/vega/keymap.c
+++ b/keyboards/ktec/ergodone/keymaps/vega/keymap.c
@@ -534,7 +534,7 @@ void matrix_init_user(void) {
 
 // Runs constantly in the background, in a loop.
 void matrix_scan_user(void) {
-    uint8_t layer = biton32(layer_state);
+    uint8_t layer = get_highest_layer(layer_state);
 
     ergodox_board_led_off();
     ergodox_right_led_1_off();
diff --git a/keyboards/leeku/finger65/keymaps/madhatter/keymap.c b/keyboards/leeku/finger65/keymaps/madhatter/keymap.c
index a69fe69153..f73b0371a1 100644
--- a/keyboards/leeku/finger65/keymaps/madhatter/keymap.c
+++ b/keyboards/leeku/finger65/keymaps/madhatter/keymap.c
@@ -40,7 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 };
 
 // layer_state_t layer_state_set_user(layer_state_t state) {
-//   switch(biton32(state)) {
+//   switch(get_highest_layer(state)) {
 //   case _FNMS:
 //     led_off();
 //     rgb_on();
diff --git a/keyboards/lets_split/keymaps/bbaserdem/keymap.c b/keyboards/lets_split/keymaps/bbaserdem/keymap.c
index f9eab059ef..296b3ccd23 100755
--- a/keyboards/lets_split/keymaps/bbaserdem/keymap.c
+++ b/keyboards/lets_split/keymaps/bbaserdem/keymap.c
@@ -13,7 +13,7 @@
 void matrix_init_keymap (void) {
 }
 
-uint32_t layer_state_set_keymap(uint32_t state) {
+layer_state_t layer_state_set_keymap(layer_state_t state) {
     return state;
 }
 
diff --git a/keyboards/lets_split/keymaps/cpeters1982/keymap.c b/keyboards/lets_split/keymaps/cpeters1982/keymap.c
index c4c26d56bc..27cd9db8b4 100644
--- a/keyboards/lets_split/keymaps/cpeters1982/keymap.c
+++ b/keyboards/lets_split/keymaps/cpeters1982/keymap.c
@@ -183,7 +183,7 @@ layer_state_t layer_state_set_user(layer_state_t state) {
 #ifdef RGBLIGHT_ENABLE
   uint8_t default_layer = eeconfig_read_default_layer();
   if (rgb_layer_change) {
-    switch (biton32(state)) {
+    switch (get_highest_layer(state)) {
     case _RAISE:
       rgblight_set_orange;
       rgblight_mode(5);
diff --git a/keyboards/lets_split/keymaps/geripgeri/keymap.c b/keyboards/lets_split/keymaps/geripgeri/keymap.c
index 62e3570468..eb22a1509e 100644
--- a/keyboards/lets_split/keymaps/geripgeri/keymap.c
+++ b/keyboards/lets_split/keymaps/geripgeri/keymap.c
@@ -255,7 +255,7 @@ layer_state_t layer_state_set_user(layer_state_t state) {
   state = update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
   writePin(B0, !(state & (1UL << (_NUMPAD))));
 
-  switch(biton32(state)) {
+  switch(get_highest_layer(state)) {
     case _RAISE:
       rgblight_setrgb_at(255, 255, 255, RGBLED_NUM / 2);
       rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT);
diff --git a/keyboards/lets_split/keymaps/pitty/keymap.c b/keyboards/lets_split/keymaps/pitty/keymap.c
index d723e0c026..8bc32a1eb7 100644
--- a/keyboards/lets_split/keymaps/pitty/keymap.c
+++ b/keyboards/lets_split/keymaps/pitty/keymap.c
@@ -128,7 +128,7 @@ void persistent_default_layer_set(uint16_t default_layer) {
 
 
 void matrix_scan_user(void) {
-   uint8_t layer = biton32(layer_state);
+   uint8_t layer = get_highest_layer(layer_state);
    switch (layer) {
      case _NAV:
          if (RGB_INIT) {} else {
diff --git a/keyboards/lily58/lib/layer_state_reader.c b/keyboards/lily58/lib/layer_state_reader.c
index 0e9dd7039b..868d8e5cb4 100644
--- a/keyboards/lily58/lib/layer_state_reader.c
+++ b/keyboards/lily58/lib/layer_state_reader.c
@@ -28,7 +28,7 @@ const char *read_layer_state(void) {
     snprintf(layer_state_str, sizeof(layer_state_str), "Layer: Adjust");
     break;
   default:
-    snprintf(layer_state_str, sizeof(layer_state_str), "Layer: Undef-%ld", layer_state);
+    snprintf(layer_state_str, sizeof(layer_state_str), "Layer: Undef-%u", layer_state);
   }
 
   return layer_state_str;
diff --git a/keyboards/m10a/keymaps/gam3cat/keymap.c b/keyboards/m10a/keymaps/gam3cat/keymap.c
index f962246ef3..86231f8406 100644
--- a/keyboards/m10a/keymaps/gam3cat/keymap.c
+++ b/keyboards/m10a/keymaps/gam3cat/keymap.c
@@ -115,7 +115,7 @@ void matrix_scan_user(void) {
 }
 
 layer_state_t layer_state_set_user(layer_state_t state) {
-    switch (biton32(state)) {
+    switch (get_highest_layer(state)) {
         case _L0:
             custom_backlight_level(0);
             break;
diff --git a/keyboards/maple_computing/lets_split_eh/keymaps/bbaserdem/keymap.c b/keyboards/maple_computing/lets_split_eh/keymaps/bbaserdem/keymap.c
index 92e72bbf1c..73329c3114 100755
--- a/keyboards/maple_computing/lets_split_eh/keymaps/bbaserdem/keymap.c
+++ b/keyboards/maple_computing/lets_split_eh/keymaps/bbaserdem/keymap.c
@@ -5,7 +5,7 @@
 void matrix_init_keymap (void) {
 }
 
-uint32_t layer_state_set_keymap(uint32_t state) {
+layer_state_t layer_state_set_keymap(layer_state_t state) {
     return state;
 }
 
diff --git a/keyboards/maple_computing/lets_split_eh/keymaps/romus/keymap.c b/keyboards/maple_computing/lets_split_eh/keymaps/romus/keymap.c
index ba5b75a5cf..398a324a0f 100644
--- a/keyboards/maple_computing/lets_split_eh/keymaps/romus/keymap.c
+++ b/keyboards/maple_computing/lets_split_eh/keymaps/romus/keymap.c
@@ -5,8 +5,8 @@
 void matrix_init_keymap (void) {
 }
 
-uint32_t layer_state_set_keymap(uint32_t state) {
-	
+layer_state_t layer_state_set_keymap(layer_state_t state) {
+
     return state;
 }
 
diff --git a/keyboards/mechkeys/mechmini/v2/keymaps/wsturgiss/keymap.c b/keyboards/mechkeys/mechmini/v2/keymaps/wsturgiss/keymap.c
index 218936a19b..689a9ce36e 100644
--- a/keyboards/mechkeys/mechmini/v2/keymaps/wsturgiss/keymap.c
+++ b/keyboards/mechkeys/mechmini/v2/keymaps/wsturgiss/keymap.c
@@ -87,7 +87,7 @@ void matrix_scan_user(void) {
 
 //change colors and rgb modes on layer change
 layer_state_t layer_state_set_user(layer_state_t state) {
-    switch (biton32(state)) {
+    switch (get_highest_layer(state)) {
     case raise:
         rgblight_mode_noeeprom(1);
         rgblight_setrgb(0xc7, 0x00, 0xf4);
@@ -103,4 +103,3 @@ layer_state_t layer_state_set_user(layer_state_t state) {
     }
   return state;
 };
-
diff --git a/keyboards/mechllama/g35/keymaps/default/keymap.c b/keyboards/mechllama/g35/keymaps/default/keymap.c
index 4568f54f54..09d7afe171 100644
--- a/keyboards/mechllama/g35/keymaps/default/keymap.c
+++ b/keyboards/mechllama/g35/keymaps/default/keymap.c
@@ -67,7 +67,7 @@ const char* get_layer_name(uint8_t layer) {
 }
 
 bool oled_task_user(void) {
-    oled_write_ln_P(get_layer_name(biton32(layer_state)), false);
+    oled_write_ln_P(get_layer_name(get_highest_layer(layer_state)), false);
     return false;
 }
 #endif
diff --git a/keyboards/mechlovin/hannah910/hannah910.c b/keyboards/mechlovin/hannah910/hannah910.c
index 3237636be2..70c1a7b8e3 100644
--- a/keyboards/mechlovin/hannah910/hannah910.c
+++ b/keyboards/mechlovin/hannah910/hannah910.c
@@ -34,20 +34,20 @@ void led_set_kb(uint8_t usb_led) {
 layer_state_t layer_state_set_user(layer_state_t state)
 {
   // if on layer 1, turn on D2 LED, otherwise off.
-    if (biton32(state) == 1) {
+    if (get_highest_layer(state) == 1) {
         writePinHigh(D2);
     } else {
         writePinLow(D2);
     }
   // if on layer 2, turn on D1 LED, otherwise off.
-    if (biton32(state) == 2) {
+    if (get_highest_layer(state) == 2) {
         writePinHigh(D1);
     } else {
         writePinLow(D1);
     }
 
   // if on layer 3, turn on D0 LED, otherwise off.
-    if (biton32(state) == 3) {
+    if (get_highest_layer(state) == 3) {
         writePinHigh(D0);
     } else {
         writePinLow(D0);
diff --git a/keyboards/mechlovin/hex4b/keymaps/nazzer/keymap.c b/keyboards/mechlovin/hex4b/keymaps/nazzer/keymap.c
index 437233be52..e0634d85dc 100644
--- a/keyboards/mechlovin/hex4b/keymaps/nazzer/keymap.c
+++ b/keyboards/mechlovin/hex4b/keymaps/nazzer/keymap.c
@@ -53,9 +53,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 };
 
 bool led_update_user(led_t led_state) {
-	
+
 	// Toggle CAPS_LOCK LED normally
-	
+
 #    if LED_PIN_ON_STATE == 0
         // invert the whole thing to avoid having to conditionally !led_state.x later
         led_state.raw = ~led_state.raw;
@@ -69,30 +69,30 @@ bool led_update_user(led_t led_state) {
 }
 
 layer_state_t layer_state_set_user(layer_state_t state) {
-	
-	uint8_t layer = biton32(state);
-	
+
+	uint8_t layer = get_highest_layer(state);
+
 #if defined(LED_NUM_LOCK_PIN) && defined(LED_SCROLL_LOCK_PIN)
     switch (layer) {
         case 0:
-			writePin(LED_SCROLL_LOCK_PIN, !LED_PIN_ON_STATE); 
-			writePin(LED_NUM_LOCK_PIN, !LED_PIN_ON_STATE); 
+			writePin(LED_SCROLL_LOCK_PIN, !LED_PIN_ON_STATE);
+			writePin(LED_NUM_LOCK_PIN, !LED_PIN_ON_STATE);
             break;
         case 1:
-			writePin(LED_SCROLL_LOCK_PIN, LED_PIN_ON_STATE); 
-			writePin(LED_NUM_LOCK_PIN, !LED_PIN_ON_STATE); 
+			writePin(LED_SCROLL_LOCK_PIN, LED_PIN_ON_STATE);
+			writePin(LED_NUM_LOCK_PIN, !LED_PIN_ON_STATE);
             break;
         case 2:
-			writePin(LED_SCROLL_LOCK_PIN, !LED_PIN_ON_STATE); 
-			writePin(LED_NUM_LOCK_PIN, LED_PIN_ON_STATE); 
+			writePin(LED_SCROLL_LOCK_PIN, !LED_PIN_ON_STATE);
+			writePin(LED_NUM_LOCK_PIN, LED_PIN_ON_STATE);
             break;
         case 3:
-			writePin(LED_SCROLL_LOCK_PIN, LED_PIN_ON_STATE); 
-			writePin(LED_NUM_LOCK_PIN, LED_PIN_ON_STATE); 
+			writePin(LED_SCROLL_LOCK_PIN, LED_PIN_ON_STATE);
+			writePin(LED_NUM_LOCK_PIN, LED_PIN_ON_STATE);
             break;
     }
 #endif
 
-	return state;												
+	return state;
 
 }
diff --git a/keyboards/minimacro5/keymaps/devdev/keymap.c b/keyboards/minimacro5/keymaps/devdev/keymap.c
index d7f998fa3a..3c203fcc37 100644
--- a/keyboards/minimacro5/keymaps/devdev/keymap.c
+++ b/keyboards/minimacro5/keymaps/devdev/keymap.c
@@ -37,7 +37,7 @@ enum tap_dances{
 
 bool encoder_update_user(uint8_t index, bool clockwise) {
   if (index == 0) { /* First encoder*/
-    switch(biton32(layer_state)){
+    switch(get_highest_layer(layer_state)){
 		case _MAIN:
 			if (clockwise) {
 			  tap_code(KC_VOLU);
diff --git a/keyboards/mitosis/keymaps/carvac_dv/keymap.c b/keyboards/mitosis/keymaps/carvac_dv/keymap.c
index c67f2e387c..842556324f 100644
--- a/keyboards/mitosis/keymaps/carvac_dv/keymap.c
+++ b/keyboards/mitosis/keymaps/carvac_dv/keymap.c
@@ -105,7 +105,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 };
 
 void matrix_scan_user(void) {
-    uint8_t layer = biton32(layer_state);
+    uint8_t layer = get_highest_layer(layer_state);
 
     switch (layer) {
     	case _STD:
@@ -121,4 +121,3 @@ void matrix_scan_user(void) {
             break;
     }
 };
-
diff --git a/keyboards/mitosis/keymaps/datagrok/keymap.c b/keyboards/mitosis/keymaps/datagrok/keymap.c
index 220c140af0..2611e1194c 100644
--- a/keyboards/mitosis/keymaps/datagrok/keymap.c
+++ b/keyboards/mitosis/keymaps/datagrok/keymap.c
@@ -102,7 +102,7 @@ const size_t defaultlayers_n = sizeof(defaultlayers) / sizeof(defaultlayers[0]);
 // New keycode KC_LAYO rotates between available default layers (for e.g.,
 // selecting a base layout). Shift+KC_LAYO makes the current one persistent.
 bool process_record_layout(uint16_t keycode, keyrecord_t *record) {
-  uint32_t default_layer;
+  uint8_t default_layer;
   uint8_t i;
   #if defined(AUDIO_ENABLE)
   float saved_song[][2] = SONG(COIN_SOUND);
@@ -121,7 +121,7 @@ bool process_record_layout(uint16_t keycode, keyrecord_t *record) {
   } else {
     // rotate default layer.
     // find the current default layer
-    default_layer = biton32(default_layer_state);
+    default_layer = get_highest_layer(default_layer_state);
     // find next valid default layer
     for (i = 1; i < defaultlayers_n; i++) {
       if (defaultlayers[(default_layer + i) % defaultlayers_n]) {
diff --git a/keyboards/mitosis/keymaps/default/keymap.c b/keyboards/mitosis/keymaps/default/keymap.c
index 6132ad6f78..27b2eb2525 100644
--- a/keyboards/mitosis/keymaps/default/keymap.c
+++ b/keyboards/mitosis/keymaps/default/keymap.c
@@ -77,7 +77,7 @@ static bool singular_key = false;
 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
 
 	uint8_t layer;
-  layer = biton32(layer_state);  // get the current layer
+  layer = get_highest_layer(layer_state);  // get the current layer
 
   //custom layer handling for tri_layer,
   switch (keycode) {
@@ -174,7 +174,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
 };
 
 void matrix_scan_user(void) {
-    uint8_t layer = biton32(layer_state);
+    uint8_t layer = get_highest_layer(layer_state);
 
     switch (layer) {
     	case _MALT:
@@ -193,4 +193,3 @@ void matrix_scan_user(void) {
             break;
     }
 };
-
diff --git a/keyboards/mitosis/keymaps/mjt/keymap.c b/keyboards/mitosis/keymaps/mjt/keymap.c
index f00bf59556..0946e40b8e 100644
--- a/keyboards/mitosis/keymaps/mjt/keymap.c
+++ b/keyboards/mitosis/keymaps/mjt/keymap.c
@@ -181,7 +181,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
     return false;
   }
   uint8_t layer;
-  layer = biton32(layer_state);  // get the current layer
+  layer = get_highest_layer(layer_state);  // get the current layer
 
   //custom layer handling for tri_layer,
   switch (keycode) {
@@ -310,7 +310,7 @@ void music_scale_user(void)
 #endif
 
 void matrix_scan_user(void) {
-  uint8_t layer = biton32(layer_state);
+  uint8_t layer = get_highest_layer(layer_state);
 
   switch (layer) {
   case _QWERTY:
diff --git a/keyboards/mitosis/keymaps/nzen/keymap.c b/keyboards/mitosis/keymaps/nzen/keymap.c
index d9fd3641bc..c981441bc9 100644
--- a/keyboards/mitosis/keymaps/nzen/keymap.c
+++ b/keyboards/mitosis/keymaps/nzen/keymap.c
@@ -175,7 +175,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 };
 
 void matrix_scan_user(void) {
-    uint8_t layer = biton32(layer_state);
+    uint8_t layer = get_highest_layer(layer_state);
 
     switch (layer) {
     	case _QWERTY:
@@ -205,5 +205,3 @@ void matrix_scan_user(void) {
 void matrix_init_user(void) {
 	set_unicode_input_mode(UC_LNX); // or UC_WINC
 };
-
-
diff --git a/keyboards/mschwingen/modelm/modelm.c b/keyboards/mschwingen/modelm/modelm.c
index 7dcd4ac024..0ff58f4be3 100644
--- a/keyboards/mschwingen/modelm/modelm.c
+++ b/keyboards/mschwingen/modelm/modelm.c
@@ -163,8 +163,8 @@ void update_layer_leds(void) {
     static uint8_t old_layer         = 255;
     static uint8_t old_default_layer = 255;
 
-    layer         = biton32(layer_state);
-    default_layer = biton32(default_layer_state);
+    layer         = get_highest_layer(layer_state);
+    default_layer = get_highest_layer(default_layer_state);
 
     if (isRecording && timer_elapsed(blink_cycle_timer) > 150) {
         blink_state       = !blink_state;
diff --git a/keyboards/mwstudio/mw65_rgb/keymaps/via/keymap.c b/keyboards/mwstudio/mw65_rgb/keymaps/via/keymap.c
index 78a17233e3..ddcd3f6642 100644
--- a/keyboards/mwstudio/mw65_rgb/keymaps/via/keymap.c
+++ b/keyboards/mwstudio/mw65_rgb/keymaps/via/keymap.c
@@ -95,9 +95,9 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
 bool encoder_update_user(uint8_t index, bool clockwise) {
   if (index == 0) {
     if (clockwise) {
-        tap_code(dynamic_keymap_get_keycode(biton32(layer_state), 4, 3));
+        tap_code(dynamic_keymap_get_keycode(get_highest_layer(layer_state), 4, 3));
     } else {
-        tap_code(dynamic_keymap_get_keycode(biton32(layer_state), 4, 4));
+        tap_code(dynamic_keymap_get_keycode(get_highest_layer(layer_state), 4, 4));
     }
   }
   return true;
diff --git a/keyboards/pearl/keymaps/cijanzen/keymap.c b/keyboards/pearl/keymaps/cijanzen/keymap.c
index 896e157fd6..5a3f1eb1cd 100644
--- a/keyboards/pearl/keymaps/cijanzen/keymap.c
+++ b/keyboards/pearl/keymaps/cijanzen/keymap.c
@@ -46,7 +46,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 /**
  * Status LED layer indicators courtesy of jetpacktuxedo's firmware
  */
-uint32_t layer_state_set_kb(uint32_t state)
+layer_state_t layer_state_set_kb(layer_state_t state)
 {
   if (state & (1<<1)) { // if we are on layer 1
     PORTD |= (1 << PD0); // light num lock led
diff --git a/keyboards/pearl/keymaps/jetpacktuxedo/keymap.c b/keyboards/pearl/keymaps/jetpacktuxedo/keymap.c
index 759c6fdc7d..4fd35f63ce 100644
--- a/keyboards/pearl/keymaps/jetpacktuxedo/keymap.c
+++ b/keyboards/pearl/keymaps/jetpacktuxedo/keymap.c
@@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
   ),
 };
 
-uint32_t layer_state_set_kb(uint32_t state) {
+layer_state_t layer_state_set_kb(layer_state_t state) {
   // if we are on layer 1
   if (state & (1<<1)){
     // light num lock led
diff --git a/keyboards/pearl/keymaps/phil/keymap.c b/keyboards/pearl/keymaps/phil/keymap.c
index 56326d423f..492c4cb0c5 100755
--- a/keyboards/pearl/keymaps/phil/keymap.c
+++ b/keyboards/pearl/keymaps/phil/keymap.c
@@ -64,7 +64,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
       ),
 };
 
-uint32_t layer_state_set_kb(uint32_t state) {
+layer_state_t layer_state_set_kb(layer_state_t state) {
   if (state & (1<<QWERTY)){
     PORTD &= ~(1 << PD0);
   } else {
diff --git a/keyboards/pearl/keymaps/rask/keymap.c b/keyboards/pearl/keymaps/rask/keymap.c
index bafb2b9738..30c8b6344f 100644
--- a/keyboards/pearl/keymaps/rask/keymap.c
+++ b/keyboards/pearl/keymaps/rask/keymap.c
@@ -43,7 +43,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 /**
  * Status LED layer indicators courtesy of jetpacktuxedo's firmware
  */
-uint32_t layer_state_set_kb(uint32_t state)
+layer_state_t layer_state_set_kb(layer_state_t state)
 {
     // if we are on layer 1
     if (state & (1<<1)){
diff --git a/keyboards/percent/canoe/keymaps/dhertz/keymap.c b/keyboards/percent/canoe/keymaps/dhertz/keymap.c
index 7e8170aefc..7d855e8fa7 100644
--- a/keyboards/percent/canoe/keymaps/dhertz/keymap.c
+++ b/keyboards/percent/canoe/keymaps/dhertz/keymap.c
@@ -49,8 +49,8 @@ void keyboard_post_init_user(void) {
     rgblight_sethsv_teal();
 }
 
-uint32_t layer_state_set_keymap(uint32_t state) {
-    switch (biton32(state)) {
+layer_state_t layer_state_set_keymap(layer_state_t state) {
+    switch (get_highest_layer(state)) {
         case 1:
             rgblight_sethsv_noeeprom_magenta();
             break;
diff --git a/keyboards/phoenix/phoenix.c b/keyboards/phoenix/phoenix.c
index a8e9a42a04..706a65b4de 100644
--- a/keyboards/phoenix/phoenix.c
+++ b/keyboards/phoenix/phoenix.c
@@ -74,7 +74,7 @@ void manipulate_led(uint32_t led, bool on) {
 }
 
 
-layer_state_t layer_state_set_kb(uint32_t state) {
+layer_state_t layer_state_set_kb(layer_state_t state) {
     state = layer_state_set_user(state);
 
     uint8_t layer = get_highest_layer(state);
diff --git a/keyboards/planck/keymaps/aviator/keymap.c b/keyboards/planck/keymaps/aviator/keymap.c
index 8fe66b3781..7ff410c767 100644
--- a/keyboards/planck/keymaps/aviator/keymap.c
+++ b/keyboards/planck/keymaps/aviator/keymap.c
@@ -142,7 +142,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
     case LOWER:
       if (record->event.pressed) {
         layer_on(_LOWER);
-        uint8_t default_layer = biton32(default_layer_state);
+        uint8_t default_layer = get_highest_layer(default_layer_state);
         if (default_layer == _QWERTY) {
           #ifdef BACKLIGHT_BREATHING
             breathing_enable();
@@ -151,7 +151,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
         update_tri_layer(_LOWER, _RAISE, _ADJUST);
       } else {
         layer_off(_LOWER);
-        uint8_t default_layer = biton32(default_layer_state);
+        uint8_t default_layer = get_highest_layer(default_layer_state);
         if (default_layer == _QWERTY) {
           #ifdef BACKLIGHT_BREATHING
             breathing_self_disable();
@@ -164,7 +164,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
     case RAISE:
       if (record->event.pressed) {
         layer_on(_RAISE);
-        uint8_t default_layer = biton32(default_layer_state);
+        uint8_t default_layer = get_highest_layer(default_layer_state);
         if (default_layer == _QWERTY) {
           #ifdef BACKLIGHT_BREATHING
             breathing_enable();
@@ -173,7 +173,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
         update_tri_layer(_LOWER, _RAISE, _ADJUST);
       } else {
         layer_off(_RAISE);
-        uint8_t default_layer = biton32(default_layer_state);
+        uint8_t default_layer = get_highest_layer(default_layer_state);
         if (default_layer == _QWERTY) {
           #ifdef BACKLIGHT_BREATHING
             breathing_self_disable();
diff --git a/keyboards/planck/keymaps/charlesrocket/keymap.c b/keyboards/planck/keymaps/charlesrocket/keymap.c
index cec3f0186a..bfe61294af 100644
--- a/keyboards/planck/keymaps/charlesrocket/keymap.c
+++ b/keyboards/planck/keymaps/charlesrocket/keymap.c
@@ -101,7 +101,7 @@ void set_layer_color(int layer) {
 
 void rgb_matrix_indicators_user(void) {
   if (g_suspend_state || keyboard_config.disable_layer_led) { return; }
-  switch (biton32(layer_state)) {
+  switch (get_highest_layer(layer_state)) {
     case 0:
       set_layer_color(0);
       break;
diff --git a/keyboards/planck/keymaps/grahampheath/keymap.c b/keyboards/planck/keymaps/grahampheath/keymap.c
index babe67c442..eb5401eabd 100644
--- a/keyboards/planck/keymaps/grahampheath/keymap.c
+++ b/keyboards/planck/keymaps/grahampheath/keymap.c
@@ -231,7 +231,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
   bool has_layer_changed = true;
 
   void matrix_scan_user(void) {
-    uint8_t layer = biton32(layer_state);
+    uint8_t layer = get_highest_layer(layer_state);
     static uint8_t old_layer = 0;
 
     if (old_layer != layer) {
diff --git a/keyboards/planck/keymaps/oryx/keymap.c b/keyboards/planck/keymaps/oryx/keymap.c
index 0368c98420..fae5a94713 100644
--- a/keyboards/planck/keymaps/oryx/keymap.c
+++ b/keyboards/planck/keymaps/oryx/keymap.c
@@ -94,7 +94,7 @@ void rgb_matrix_indicators_user(void) {
     if (keyboard_config.disable_layer_led) {
         return;
     }
-    switch (biton32(layer_state)) {
+    switch (get_highest_layer(layer_state)) {
         case 1:
             set_layer_color(0);
             break;
diff --git a/keyboards/planck/keymaps/rootiest/keymap.c b/keyboards/planck/keymaps/rootiest/keymap.c
index 857d7a9e21..c289c50e5b 100644
--- a/keyboards/planck/keymaps/rootiest/keymap.c
+++ b/keyboards/planck/keymaps/rootiest/keymap.c
@@ -502,7 +502,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
         } else {
             if (index == 0) { /* First encoder */
                 uint16_t held_keycode_timer = timer_read();
-                switch (biton32(layer_state)) {
+                switch (get_highest_layer(layer_state)) {
                     case 0:                                 // Base Layer
                         if ((get_mods() & MOD_MASK_GUI)) {  // GUI-ed
                             if (clockwise) {
diff --git a/keyboards/planck/keymaps/tom/keymap.c b/keyboards/planck/keymaps/tom/keymap.c
index 66beaf33b7..d888fb7b05 100644
--- a/keyboards/planck/keymaps/tom/keymap.c
+++ b/keyboards/planck/keymaps/tom/keymap.c
@@ -228,7 +228,7 @@ bool music_mask_user(uint16_t keycode) {
 
 void rgb_matrix_indicators_user(void) {
   #ifdef RGB_MATRIX_ENABLE
-  switch (biton32(layer_state)) {
+  switch (get_highest_layer(layer_state)) {
     case _RAISE:
       for (int i = 0; i < DRIVER_LED_TOTAL; i++) {
         if (HAS_FLAGS(g_led_config.flags[i], LED_FLAG_MODIFIER)) {
diff --git a/keyboards/planck/keymaps/tylerwince/keymap.c b/keyboards/planck/keymaps/tylerwince/keymap.c
index 5cbc47b2fb..b4c0f9af52 100644
--- a/keyboards/planck/keymaps/tylerwince/keymap.c
+++ b/keyboards/planck/keymaps/tylerwince/keymap.c
@@ -168,7 +168,7 @@ void set_layer_color(int layer) {
 
 void rgb_matrix_indicators_user(void) {
   if (g_suspend_state || disable_layer_color) { return; }
-  switch (biton32(layer_state)) {
+  switch (get_highest_layer(layer_state)) {
     case 0:
       set_layer_color(0);
       break;
@@ -276,7 +276,7 @@ bool music_mask_user(uint16_t keycode) {
 layer_state_t layer_state_set_user(layer_state_t state) {
     palClearPad(GPIOB, 8);
     palClearPad(GPIOB, 9);
-    uint8_t layer = biton32(state);
+    uint8_t layer = get_highest_layer(state);
     switch (layer) {
         case _LOWER:
             palSetPad(GPIOB, 9);
diff --git a/keyboards/preonic/keymaps/dudeofawesome/keymap.c b/keyboards/preonic/keymaps/dudeofawesome/keymap.c
index 2d2a252b23..812bf35a20 100644
--- a/keyboards/preonic/keymaps/dudeofawesome/keymap.c
+++ b/keyboards/preonic/keymaps/dudeofawesome/keymap.c
@@ -275,7 +275,7 @@ bool numpadActive = false;
 float tone_numpad_on[][2] = SONG(NUMPAD_ON_SOUND);
 
 void matrix_scan_user (void) {
-  uint8_t layer = biton32(layer_state);
+  uint8_t layer = get_highest_layer(layer_state);
 
   switch (layer) {
     case _NUMPAD:
diff --git a/keyboards/preonic/keymaps/senseored/keymap.c b/keyboards/preonic/keymaps/senseored/keymap.c
index e152507835..0f896700e6 100644
--- a/keyboards/preonic/keymaps/senseored/keymap.c
+++ b/keyboards/preonic/keymaps/senseored/keymap.c
@@ -367,7 +367,7 @@ bool dip_switch_update_user(uint8_t index, bool active) {
 
 layer_state_t layer_state_set_user(layer_state_t state) {
 //  if(rgblight_get_mode() == 1) {
-    switch (biton32(state)) {
+    switch (get_highest_layer(state)) {
     case _QWERTY:
         if(bnumlock) {
             tap_code(KC_NLCK);
diff --git a/keyboards/primekb/prime_e/keymaps/via/keymap.c b/keyboards/primekb/prime_e/keymaps/via/keymap.c
index 195f845cc2..2d1d003d51 100644
--- a/keyboards/primekb/prime_e/keymaps/via/keymap.c
+++ b/keyboards/primekb/prime_e/keymaps/via/keymap.c
@@ -108,7 +108,7 @@ void led_set_user(uint8_t usb_led) {
 //function for layer indicator LED
 layer_state_t layer_state_set_user(layer_state_t state)
 {
-    if (biton32(state) == 1) {
+    if (get_highest_layer(state) == 1) {
     writePinHigh(B3);
 	} else {
 		writePinLow(B3);
diff --git a/keyboards/redox_w/keymaps/italian/keymap.c b/keyboards/redox_w/keymaps/italian/keymap.c
index e67742c6a1..b4c815e4f5 100644
--- a/keyboards/redox_w/keymaps/italian/keymap.c
+++ b/keyboards/redox_w/keymaps/italian/keymap.c
@@ -53,7 +53,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
   //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┐       ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
      KC_LSFT ,KC_Z    ,KC_X    ,KC_C    ,KC_V    ,KC_B    ,KC_ADPU ,KC_PGDN ,        KC_HOME ,KC_ADEN ,KC_N    ,KC_M    ,KC_COMM ,KC_DOT  ,IT_UGRV ,IT_SHSL ,
   //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤       ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤
-     GUI_LESS,KC_PPLS ,KC_PMNS ,KC_ALAS ,     KC_CTPL ,    KC_BSPC ,KC_DEL  ,        KC_ENT  ,KC_SPC  ,    ALT_IACC,     KC_LEFT ,KC_DOWN ,KC_UP   ,KC_RGHT 
+     GUI_LESS,KC_PPLS ,KC_PMNS ,KC_ALAS ,     KC_CTPL ,    KC_BSPC ,KC_DEL  ,        KC_ENT  ,KC_SPC  ,    ALT_IACC,     KC_LEFT ,KC_DOWN ,KC_UP   ,KC_RGHT
   //└────────┴────────┴────────┴────────┘    └────────┘   └────────┴────────┘       └────────┴────────┘   └────────┘    └────────┴────────┴────────┴────────┘
   ),
 
@@ -67,7 +67,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
   //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┐       ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
      _______ ,IT_PERC ,IT_CIRC ,IT_LPRN ,IT_RPRN ,IT_TILD ,_______ ,_______ ,        _______ ,_______ ,XXXXXXX ,KC_KP_1 ,KC_KP_2 ,KC_KP_3 ,XXXXXXX ,XXXXXXX ,
   //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤       ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤
-     _______ ,_______ ,_______ ,_______ ,     _______ ,    _______ ,_______ ,        _______ ,_______ ,    KC_KP_0 ,     KC_KP_0 ,KC_PDOT ,XXXXXXX ,XXXXXXX 
+     _______ ,_______ ,_______ ,_______ ,     _______ ,    _______ ,_______ ,        _______ ,_______ ,    KC_KP_0 ,     KC_KP_0 ,KC_PDOT ,XXXXXXX ,XXXXXXX
   //└────────┴────────┴────────┴────────┘    └────────┘   └────────┴────────┘       └────────┴────────┘   └────────┘    └────────┴────────┴────────┴────────┘
   ),
 
@@ -81,7 +81,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
   //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┐       ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
      XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,_______ ,_______ ,        _______ ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
   //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤       ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤
-     XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,     KC_BTN1 ,    KC_BTN2 ,_______ ,        _______ ,_______ ,    XXXXXXX ,     XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX 
+     XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,     KC_BTN1 ,    KC_BTN2 ,_______ ,        _______ ,_______ ,    XXXXXXX ,     XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX
   //└────────┴────────┴────────┴────────┘    └────────┘   └────────┴────────┘       └────────┴────────┘   └────────┘    └────────┴────────┴────────┴────────┘
   ),
 
@@ -95,14 +95,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
   //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┐       ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
      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 ,    XXXXXXX ,XXXXXXX ,        XXXXXXX ,XXXXXXX ,    XXXXXXX ,     XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX
   //└────────┴────────┴────────┴────────┘    └────────┘   └────────┴────────┘       └────────┴────────┘   └────────┘    └────────┴────────┴────────┴────────┘
   )
 
 };
 
 void matrix_scan_user(void) {
-    uint8_t layer = biton32(layer_state);
+    uint8_t layer = get_highest_layer(layer_state);
 
     switch (layer) {
         case _QWERTY:
@@ -121,5 +121,3 @@ void matrix_scan_user(void) {
             break;
     }
 };
-
-
diff --git a/keyboards/redscarf_i/redscarf_i.c b/keyboards/redscarf_i/redscarf_i.c
index a8a685b13b..039e20664d 100644
--- a/keyboards/redscarf_i/redscarf_i.c
+++ b/keyboards/redscarf_i/redscarf_i.c
@@ -36,7 +36,7 @@ bool led_update_kb(led_t led_state) {
 }
 
 layer_state_t layer_state_set_kb(layer_state_t state) {
-  switch (biton32(state)) {
+  switch (get_highest_layer(state)) {
     case 1:
       writePinHigh(F6);
       writePinLow(F5);
diff --git a/keyboards/rgbkb/pan/keymaps/default/keymap.c b/keyboards/rgbkb/pan/keymaps/default/keymap.c
index dbc127616a..dcafeec765 100644
--- a/keyboards/rgbkb/pan/keymaps/default/keymap.c
+++ b/keyboards/rgbkb/pan/keymaps/default/keymap.c
@@ -75,7 +75,7 @@ bool oled_task_user(void) {
     // Host Keyboard Layer Status
     oled_write_P(PSTR("RGBKB Pan\n"), false);
     oled_write_P(PSTR("Layer: "), false);
-    uint8_t layer = layer_state ? biton(layer_state) : biton32(default_layer_state);
+    uint8_t layer = get_highest_layer(layer_state|default_layer_state);
     switch (layer) {
         case _QWERTY:
             oled_write_P(PSTR("Default\n"), false);
diff --git a/keyboards/rgbkb/sol/keymaps/default/keymap.c b/keyboards/rgbkb/sol/keymaps/default/keymap.c
index c82259f5ee..1ce18bc1ab 100644
--- a/keyboards/rgbkb/sol/keymaps/default/keymap.c
+++ b/keyboards/rgbkb/sol/keymaps/default/keymap.c
@@ -233,7 +233,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
   } else
 #endif
   {
-    uint8_t layer = biton32(layer_state);
+    uint8_t layer = get_highest_layer(layer_state);
     uint16_t keycode = pgm_read_word(&encoders[layer][index][clockwise]);
     while (keycode == KC_TRANSPARENT && layer > 0)
     {
@@ -325,7 +325,7 @@ static void render_status(void) {
 
   // Define layers here
   oled_write_P(PSTR("Layer"), false);
-  uint8_t layer = layer_state ? biton(layer_state) : biton32(default_layer_state);
+  uint8_t layer = get_highest_layer(layer_state|default_layer_state);
   switch (layer) {
     case _QWERTY:
       oled_write_P(PSTR("BASE "), false);
diff --git a/keyboards/rgbkb/sol/keymaps/xyverz/keymap.c b/keyboards/rgbkb/sol/keymaps/xyverz/keymap.c
index bdcfbb1b93..bc0884c8e4 100644
--- a/keyboards/rgbkb/sol/keymaps/xyverz/keymap.c
+++ b/keyboards/rgbkb/sol/keymaps/xyverz/keymap.c
@@ -263,7 +263,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
   } else
 #endif
   {
-    uint8_t layer = biton32(layer_state);
+    uint8_t layer = get_highest_layer(layer_state);
     uint16_t keycode = encoders[layer][index][clockwise];
     while (keycode == KC_TRANSPARENT && layer > 0)
     {
@@ -306,7 +306,7 @@ static void render_status(void) {
 
   // Define layers here
   oled_write_P(PSTR("     Layer-----"), false);
-  uint8_t layer = layer_state ? biton(layer_state) : biton32(default_layer_state);
+  uint8_t layer = layer_state ? get_highest_layer(layer_state) : get_highest_layer(default_layer_state);
   switch (layer) {
     case _DVORAK:
       oled_write_P(PSTR("DVRAK"), false);
diff --git a/keyboards/rgbkb/zen/rev2/rev2.c b/keyboards/rgbkb/zen/rev2/rev2.c
index 5461890272..70e5531673 100644
--- a/keyboards/rgbkb/zen/rev2/rev2.c
+++ b/keyboards/rgbkb/zen/rev2/rev2.c
@@ -37,7 +37,7 @@ void render_status(void) {
   // Define layers here, Have not worked out how to have text displayed for each layer. Copy down the number you see and add a case for it below
   oled_set_cursor(0, 3); // Line 3
   oled_write_P(PSTR("Layer"), false); // Line 4
-  oled_write_P(layer_name_user(biton32(layer_state)), false);
+  oled_write_P(layer_name_user(get_highest_layer(layer_state)), false);
 
   // Host Keyboard LED Status
   uint8_t led_usb_state = host_keyboard_leds();
diff --git a/keyboards/rgbkb/zygomorph/keymaps/default_oled/keymap.c b/keyboards/rgbkb/zygomorph/keymaps/default_oled/keymap.c
index 48bd1a33f7..f4d5c82a71 100644
--- a/keyboards/rgbkb/zygomorph/keymaps/default_oled/keymap.c
+++ b/keyboards/rgbkb/zygomorph/keymaps/default_oled/keymap.c
@@ -198,7 +198,7 @@ static void render_status(void) {
 
   // Define layers here, Have not worked out how to have text displayed for each layer. Copy down the number you see and add a case for it below
   oled_write_P(PSTR("Layer: "), false);
-  switch (biton32(layer_state)) {
+  switch (get_highest_layer(layer_state)) {
     case _QWERTY:
       oled_write_ln_P(PSTR("QWERTY"), false);
       break;
diff --git a/keyboards/satt/comet46/keymaps/default-rgbled/keymap.c b/keyboards/satt/comet46/keymaps/default-rgbled/keymap.c
index 6c88b70bfe..1e96bd7fbc 100644
--- a/keyboards/satt/comet46/keymaps/default-rgbled/keymap.c
+++ b/keyboards/satt/comet46/keymaps/default-rgbled/keymap.c
@@ -173,7 +173,7 @@ void matrix_init_user(void) {
 }
 
 void matrix_scan_user(void) {
-  uint8_t layer = biton32(layer_state);
+  uint8_t layer = get_highest_layer(layer_state);
   uint8_t default_layer = biton32(eeconfig_read_default_layer());
   switch (layer) {
     case _LOWER:
diff --git a/keyboards/satt/comet46/keymaps/default/keymap.c b/keyboards/satt/comet46/keymaps/default/keymap.c
index cf2c911d4c..bccca0a091 100644
--- a/keyboards/satt/comet46/keymaps/default/keymap.c
+++ b/keyboards/satt/comet46/keymaps/default/keymap.c
@@ -176,8 +176,8 @@ void render_status(struct CharacterMatrix *matrix) {
   // Layer state
   char layer_str[22];
   matrix_write(matrix, "Layer: ");
-  uint8_t layer = biton32(layer_state);
-  uint8_t default_layer = biton32(eeconfig_read_default_layer());
+  uint8_t layer = get_highest_layer(layer_state);
+  uint8_t default_layer = get_highest_layer(eeconfig_read_default_layer());
   switch (layer) {
     case _QWERTY:
       switch (default_layer) {
diff --git a/keyboards/satt/comet46/keymaps/satt/keymap.c b/keyboards/satt/comet46/keymaps/satt/keymap.c
index cdd094f747..54d1d791d7 100644
--- a/keyboards/satt/comet46/keymaps/satt/keymap.c
+++ b/keyboards/satt/comet46/keymaps/satt/keymap.c
@@ -165,7 +165,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 };
 
 layer_state_t layer_state_set_user(layer_state_t state) {
-  switch (biton32(state)) {
+  switch (get_highest_layer(state)) {
     case _PSEUDO_US_LOWER:
     case _PSEUDO_US_RAISE:
       return update_tri_layer_state(state, _PSEUDO_US_RAISE, _PSEUDO_US_LOWER, _ADJUST);
@@ -204,7 +204,7 @@ void render_status(struct CharacterMatrix *matrix) {
   // Layer state
   char layer_str[22];
   matrix_write(matrix, "Layer: ");
-  uint8_t layer = biton32(layer_state);
+  uint8_t layer = get_highest_layer(layer_state);
   uint8_t default_layer = biton32(eeconfig_read_default_layer());
     switch (layer) {
       case _QWERTY:
diff --git a/keyboards/splitkb/kyria/keymaps/j-inc/keymap.c b/keyboards/splitkb/kyria/keymaps/j-inc/keymap.c
index af583a607f..f193c6e00c 100644
--- a/keyboards/splitkb/kyria/keymaps/j-inc/keymap.c
+++ b/keyboards/splitkb/kyria/keymaps/j-inc/keymap.c
@@ -341,7 +341,7 @@ bool oled_task_user(void) {
 
 #ifdef ENCODER_ENABLE
 bool encoder_update_user(uint8_t index, bool clockwise) {
-    switch(biton32(layer_state)){
+    switch(get_highest_layer(layer_state)){
         case 1:
             if (clockwise) {
                 tap_code16(C(KC_TAB));
diff --git a/keyboards/splitkb/kyria/keymaps/ninjonas/oled.c b/keyboards/splitkb/kyria/keymaps/ninjonas/oled.c
index 813328aa0c..d0f2a1b6cd 100644
--- a/keyboards/splitkb/kyria/keymaps/ninjonas/oled.c
+++ b/keyboards/splitkb/kyria/keymaps/ninjonas/oled.c
@@ -111,7 +111,7 @@ void oled_slash_separator(void){
 
 void render_layout_state(void) {
   oled_write_P(PSTR("Layout: "), false);
-  switch (biton32(default_layer_state)) {
+  switch (get_highest_layer(default_layer_state)) {
       case _COLEMAK:
         oled_write_P(PSTR("Colemak"), false);
         break;
diff --git a/keyboards/splitkb/kyria/keymaps/thomasbaart/keymap.c b/keyboards/splitkb/kyria/keymaps/thomasbaart/keymap.c
index 0a4f1887c3..3cd9df27fb 100644
--- a/keyboards/splitkb/kyria/keymaps/thomasbaart/keymap.c
+++ b/keyboards/splitkb/kyria/keymaps/thomasbaart/keymap.c
@@ -311,7 +311,7 @@ bool oled_task_user(void) {
 #ifdef ENCODER_ENABLE
 bool encoder_update_user(uint8_t index, bool clockwise) {
     if (index == 0) {
-        switch (biton32(layer_state)) {
+        switch (get_highest_layer(layer_state)) {
             case QWERTY:
                 // History scrubbing. For Adobe products, hold shift while moving
                 // backward to go forward instead.
@@ -336,7 +336,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
                 break;
         }
     } else if (index == 1) {
-        switch (biton32(layer_state)) {
+        switch (get_highest_layer(layer_state)) {
             case QWERTY:
                 // Scrolling with PageUp and PgDn.
                 if (clockwise) {
diff --git a/keyboards/splitography/keymaps/jeandeaual/keymap.c b/keyboards/splitography/keymaps/jeandeaual/keymap.c
index 6679d835f2..87c4159443 100644
--- a/keyboards/splitography/keymaps/jeandeaual/keymap.c
+++ b/keyboards/splitography/keymaps/jeandeaual/keymap.c
@@ -225,7 +225,7 @@ bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
             }
             return false;
         case KC_QUOT:
-            if ((base_layer != dvorak) || (biton32(layer_state) != _BLUE)) {
+            if ((base_layer != dvorak) || (get_highest_layer(layer_state) != _BLUE)) {
                 break;
             }
             if (record->event.pressed) {
diff --git a/keyboards/splitography/keymaps/multi/keymap.c b/keyboards/splitography/keymaps/multi/keymap.c
index af1cc1a801..7d847e40b6 100644
--- a/keyboards/splitography/keymaps/multi/keymap.c
+++ b/keyboards/splitography/keymaps/multi/keymap.c
@@ -331,7 +331,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
             }
             return false;
         case KC_QUOT:
-            if ((base_layer != dvorak) || (biton32(layer_state) != _BLUE)) {
+            if ((base_layer != dvorak) || (get_highest_layer(layer_state) != _BLUE)) {
                 break;
             }
             if (record->event.pressed) {
diff --git a/keyboards/tetris/keymaps/default/keymap.c b/keyboards/tetris/keymaps/default/keymap.c
index 1b53ea80b9..9e2a96ffc3 100755
--- a/keyboards/tetris/keymaps/default/keymap.c
+++ b/keyboards/tetris/keymaps/default/keymap.c
@@ -37,7 +37,7 @@ void matrix_init_user(void) {
 }
 
 void matrix_scan_user(void) {
-  uint8_t layer = biton32(layer_state);
+  uint8_t layer = get_highest_layer(layer_state);
 
   if (RGB_encoder_dir != 0) {
     if (timer_elapsed(RGB_encoder_timer) > 1400) {
@@ -152,7 +152,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t * record) {
 bool encoder_update_user(uint8_t index, bool clockwise) {
   RGB_encoder_timer = timer_read();
   RGB_encoder_timer2 = timer_read();
-  uint8_t layer = biton32(layer_state);
+  uint8_t layer = get_highest_layer(layer_state);
   if (clockwise) {
     RGB_encoder_dir = 1;
   } else {
diff --git a/keyboards/thevankeyboards/roadkit/keymaps/flipphone/keymap.c b/keyboards/thevankeyboards/roadkit/keymaps/flipphone/keymap.c
index b00cf80f5c..a6fa5ed722 100644
--- a/keyboards/thevankeyboards/roadkit/keymaps/flipphone/keymap.c
+++ b/keyboards/thevankeyboards/roadkit/keymaps/flipphone/keymap.c
@@ -147,7 +147,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
       return false;
     }
     uint8_t layer;
-    layer = biton32(layer_state);
+    layer = get_highest_layer(layer_state);
 
     switch (keycode) {
     case FPH_1 ... FPH_9:
diff --git a/keyboards/v60_type_r/keymaps/xtonhasvim/keymap.c b/keyboards/v60_type_r/keymaps/xtonhasvim/keymap.c
index 82a7e52808..8927a8ee0a 100644
--- a/keyboards/v60_type_r/keymaps/xtonhasvim/keymap.c
+++ b/keyboards/v60_type_r/keymaps/xtonhasvim/keymap.c
@@ -104,7 +104,7 @@ void rgbflag(uint8_t r, uint8_t g, uint8_t b) {
 }
 
 void set_state_leds(void) {
-  switch (biton32(layer_state)) {
+  switch (get_highest_layer(layer_state)) {
   case _MOVE:
     rgbflag(C_BLU);
     break;
@@ -192,4 +192,3 @@ void suspend_wakeup_init_user(void)
   backlight_set(backlight_config.level);
   rgblight_set();
 }
-
diff --git a/keyboards/xiudi/xd60/keymaps/birkir/keymap.c b/keyboards/xiudi/xd60/keymaps/birkir/keymap.c
index fe7cd60662..ab129332c9 100644
--- a/keyboards/xiudi/xd60/keymaps/birkir/keymap.c
+++ b/keyboards/xiudi/xd60/keymaps/birkir/keymap.c
@@ -47,7 +47,7 @@ layer_state_t layer_state_set_user(layer_state_t state) {
     edit = false;
   }
 
-  switch (biton32(state)) {
+  switch (get_highest_layer(state)) {
     case 1:
       rgblight_mode(1);
       rgblight_setrgb(0xD3, 0x7F, 0xED);
diff --git a/keyboards/xiudi/xd60/keymaps/kmontag42/keymap.c b/keyboards/xiudi/xd60/keymaps/kmontag42/keymap.c
index 8e081c6731..d17fc2f35d 100644
--- a/keyboards/xiudi/xd60/keymaps/kmontag42/keymap.c
+++ b/keyboards/xiudi/xd60/keymaps/kmontag42/keymap.c
@@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 // Loop
 void matrix_scan_user(void) {
   static uint8_t old_layer = 255;
-  uint8_t new_layer = biton32(layer_state);
+  uint8_t new_layer = get_highest_layer(layer_state);
 
   if (old_layer != new_layer) {
     switch (new_layer) {
diff --git a/keyboards/xiudi/xd75/keymaps/arpinfidel/keymap.c b/keyboards/xiudi/xd75/keymaps/arpinfidel/keymap.c
index 5f7337d68b..c278df1b21 100644
--- a/keyboards/xiudi/xd75/keymaps/arpinfidel/keymap.c
+++ b/keyboards/xiudi/xd75/keymaps/arpinfidel/keymap.c
@@ -100,7 +100,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
 
 // Runs whenever there is a layer state change.
 layer_state_t layer_state_set_user(layer_state_t state) {
-  uint8_t layer = biton32(state);
+  uint8_t layer = get_highest_layer(state);
 
   gp100_led_off();
   gp103_led_off();
diff --git a/keyboards/xiudi/xd75/keymaps/cbbrowne/keymap.c b/keyboards/xiudi/xd75/keymaps/cbbrowne/keymap.c
index 1b29686cff..a0295f2f45 100644
--- a/keyboards/xiudi/xd75/keymaps/cbbrowne/keymap.c
+++ b/keyboards/xiudi/xd75/keymaps/cbbrowne/keymap.c
@@ -286,7 +286,7 @@ void matrix_init_user(void) {
 }
 
 layer_state_t layer_state_set_user(layer_state_t state) {
-  switch(biton32(state)) {
+  switch(get_highest_layer(state)) {
   case _QWERTY:
     rgblight_sethsv_white();
     break;
diff --git a/keyboards/xiudi/xd75/keymaps/kloki/keymap.c b/keyboards/xiudi/xd75/keymaps/kloki/keymap.c
index a630019347..d25a16fbb6 100644
--- a/keyboards/xiudi/xd75/keymaps/kloki/keymap.c
+++ b/keyboards/xiudi/xd75/keymaps/kloki/keymap.c
@@ -70,7 +70,7 @@ bool WINDOWN = false;
 bool SHIFTDOWN = false;
 void matrix_scan_user(void) {
 
-    uint8_t layer = biton32(layer_state);
+    uint8_t layer = get_highest_layer(layer_state);
 
     switch (layer) {
         case 0:
diff --git a/keyboards/xiudi/xd75/keymaps/tdl-jturner/keymap.c b/keyboards/xiudi/xd75/keymaps/tdl-jturner/keymap.c
index b7b98cd4c5..f48eb94214 100644
--- a/keyboards/xiudi/xd75/keymaps/tdl-jturner/keymap.c
+++ b/keyboards/xiudi/xd75/keymaps/tdl-jturner/keymap.c
@@ -180,7 +180,7 @@ void matrix_init_user(void) {
 
 //Set a color based on the layer
 layer_state_t layer_state_set_user(layer_state_t state) {
-  switch(biton32(state)) {
+  switch(get_highest_layer(state)) {
     case _LYFK:
       rgblight_setrgb_user_LYFK();
       break;
diff --git a/layouts/community/ergodox/ab/keymap.c b/layouts/community/ergodox/ab/keymap.c
index 001123e286..e85d5d528c 100644
--- a/layouts/community/ergodox/ab/keymap.c
+++ b/layouts/community/ergodox/ab/keymap.c
@@ -130,7 +130,7 @@ void matrix_init_user(void) {
 // Runs constantly in the background, in a loop.
 void matrix_scan_user(void) {
 
-    uint8_t layer = biton32(layer_state);
+    uint8_t layer = get_highest_layer(layer_state);
 
     ergodox_board_led_off();
     ergodox_right_led_1_off();
diff --git a/layouts/community/ergodox/absenth/keymap.c b/layouts/community/ergodox/absenth/keymap.c
index d84b68f0ef..884167aa31 100644
--- a/layouts/community/ergodox/absenth/keymap.c
+++ b/layouts/community/ergodox/absenth/keymap.c
@@ -157,7 +157,7 @@ void matrix_init_user(void) {
 // Runs constantly in the background, in a loop.
 void matrix_scan_user(void) {
 
-    uint8_t layer = biton32(layer_state);
+    uint8_t layer = get_highest_layer(layer_state);
 
     ergodox_board_led_off();
     ergodox_right_led_1_off();
diff --git a/layouts/community/ergodox/adam/keymap.c b/layouts/community/ergodox/adam/keymap.c
index 50270838aa..9dd611e03e 100644
--- a/layouts/community/ergodox/adam/keymap.c
+++ b/layouts/community/ergodox/adam/keymap.c
@@ -129,7 +129,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
 // Runs constantly in the background, in a loop.
 void matrix_scan_user(void) {
-  uint8_t layer = biton32(layer_state);
+  uint8_t layer = get_highest_layer(layer_state);
 
   switch (layer) {
     // TODO: Make this relevant to the ErgoDox EZ.
diff --git a/layouts/community/ergodox/adnw_k_o_y/keymap.c b/layouts/community/ergodox/adnw_k_o_y/keymap.c
index 589a9ea873..6aa309c2cc 100644
--- a/layouts/community/ergodox/adnw_k_o_y/keymap.c
+++ b/layouts/community/ergodox/adnw_k_o_y/keymap.c
@@ -139,7 +139,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 // Runs constantly in the background, in a loop.
 void matrix_scan_user(void) {
 
-    uint8_t layer = biton32(layer_state);
+    uint8_t layer = get_highest_layer(layer_state);
 
     ergodox_board_led_off();
     ergodox_right_led_1_off();
diff --git a/layouts/community/ergodox/alexjj/keymap.c b/layouts/community/ergodox/alexjj/keymap.c
index 64e7c94433..c9adf7af63 100644
--- a/layouts/community/ergodox/alexjj/keymap.c
+++ b/layouts/community/ergodox/alexjj/keymap.c
@@ -206,7 +206,7 @@ void matrix_init_user(void) {
 // Runs constantly in the background, in a loop.
 void matrix_scan_user(void) {
 
-    uint8_t layer = biton32(layer_state);
+    uint8_t layer = get_highest_layer(layer_state);
 
     ergodox_board_led_off();
     ergodox_right_led_1_off();
diff --git a/layouts/community/ergodox/andrew_osx/keymap.c b/layouts/community/ergodox/andrew_osx/keymap.c
index 990fea4f45..4f3f6ef0cb 100644
--- a/layouts/community/ergodox/andrew_osx/keymap.c
+++ b/layouts/community/ergodox/andrew_osx/keymap.c
@@ -141,7 +141,7 @@ LAYOUT_ergodox(
 // Runs constantly in the background, in a loop.
 void matrix_scan_user(void) {
 
-    uint8_t layer = biton32(layer_state);
+    uint8_t layer = get_highest_layer(layer_state);
 
     ergodox_board_led_off();
     ergodox_right_led_1_off();
diff --git a/layouts/community/ergodox/berfarah/keymap.c b/layouts/community/ergodox/berfarah/keymap.c
index 164d026ef3..7dc09e7543 100644
--- a/layouts/community/ergodox/berfarah/keymap.c
+++ b/layouts/community/ergodox/berfarah/keymap.c
@@ -219,7 +219,7 @@ static inline void mod_layer_with_rgb(keyrecord_t *record, uint8_t layer) {
     bf_set_led(layer);
   } else {
     layer_off(layer);
-    uint8_t currentLayer = biton32(layer_state);
+    uint8_t currentLayer = get_highest_layer(layer_state);
     bf_set_led(currentLayer);
   };
 };
@@ -266,7 +266,7 @@ void matrix_init_user(void) {
 
 // Runs constantly in the background, in a loop.
 void matrix_scan_user(void) {
-  uint8_t layer = biton32(layer_state);
+  uint8_t layer = get_highest_layer(layer_state);
 
   ergodox_right_led_1_off();
   ergodox_right_led_2_off();
diff --git a/layouts/community/ergodox/bryan/keymap.c b/layouts/community/ergodox/bryan/keymap.c
index acae77d5fc..ab301e8922 100644
--- a/layouts/community/ergodox/bryan/keymap.c
+++ b/layouts/community/ergodox/bryan/keymap.c
@@ -200,7 +200,7 @@ void matrix_init_user(void) {
 // Runs constantly in the background, in a loop.
 void matrix_scan_user(void) {
 
-    uint8_t layer = biton32(layer_state);
+    uint8_t layer = get_highest_layer(layer_state);
 
     ergodox_board_led_off();
     ergodox_right_led_1_off();
diff --git a/layouts/community/ergodox/choromanski/keymap.c b/layouts/community/ergodox/choromanski/keymap.c
index 8be3c7ea7e..933f13b25f 100644
--- a/layouts/community/ergodox/choromanski/keymap.c
+++ b/layouts/community/ergodox/choromanski/keymap.c
@@ -30,15 +30,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 	OSL(3),		TG(2),			TO(5),			TO(1),			KC_CAPS,
 																			KC_LCTL,	KC_LALT,
 																						KC_MUTE,
-																KC_BSPC,	KC_DEL,		KC_LGUI,			
+																KC_BSPC,	KC_DEL,		KC_LGUI,
 
-	KC_7,		KC_8,		KC_9,		KC_0,		KC_MINS,		KC_EQL,			KC_BSPC,	
+	KC_7,		KC_8,		KC_9,		KC_0,		KC_MINS,		KC_EQL,			KC_BSPC,
 	KC_RPRN,	KC_J,		KC_L,		KC_U,		KC_Y,			KC_SCLN,		KC_BSLS,
-				KC_H,		KC_N,		KC_E,		KC_I,			KC_O,			KC_QUOT,			
+				KC_H,		KC_N,		KC_E,		KC_I,			KC_O,			KC_QUOT,
 	KC_RBRC,	KC_K,		KC_M,		KC_COMM,	ALT_T(KC_DOT),	CTL_T(KC_SLSH),	KC_RSFT,
-							KC_LEFT,	KC_DOWN,	KC_UP,			KC_RGHT,		TG(4),			
-	KC_RALT,	KC_RCTL,			
-	KC_WH_U,			
+							KC_LEFT,	KC_DOWN,	KC_UP,			KC_RGHT,		TG(4),
+	KC_RALT,	KC_RCTL,
+	KC_WH_U,
 	KC_WH_D,	KC_ENT,		KC_SPC
   ),
 
@@ -106,22 +106,22 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  */
   [2] = LAYOUT_ergodox(
 	KC_TRNS,		KC_F1,			KC_F2,			KC_F3,			KC_F4,			KC_F5,			KC_F6,
-	KC_TRNS,		KC_TRNS,		KC_TRNS,		KC_TRNS,		KC_TRNS,		KC_TRNS,		KC_TRNS,	
-	KC_TRNS,		KC_TRNS,		KC_TRNS,		KC_TRNS,		KC_TRNS,		KC_TRNS,		
-	KC_TRNS,		KC_TRNS,		KC_TRNS,		KC_TRNS,		KC_TRNS,		KC_TRNS,		KC_TRNS,	
+	KC_TRNS,		KC_TRNS,		KC_TRNS,		KC_TRNS,		KC_TRNS,		KC_TRNS,		KC_TRNS,
+	KC_TRNS,		KC_TRNS,		KC_TRNS,		KC_TRNS,		KC_TRNS,		KC_TRNS,
+	KC_TRNS,		KC_TRNS,		KC_TRNS,		KC_TRNS,		KC_TRNS,		KC_TRNS,		KC_TRNS,
 	KC_TRNS,		KC_TRNS,		KC_TRNS,		KC_TRNS,		KC_TRNS,
 																					KC_TRNS,		KC_TRNS,
 																									KC_TRNS,
 																	KC_TRNS,		KC_TRNS,		KC_TRNS,
 
-	KC_F7,			KC_F8,			KC_F9,			KC_F10,			KC_F11,			KC_F12,			KC_TRNS,	
+	KC_F7,			KC_F8,			KC_F9,			KC_F10,			KC_F11,			KC_F12,			KC_TRNS,
 	KC_TRNS,		KC_TRNS,		KC_TRNS,		KC_TRNS,		KC_TRNS,		KC_TRNS,		KC_TRNS,
-					KC_TRNS,		KC_TRNS,		KC_TRNS,		KC_TRNS,		KC_TRNS,		KC_TRNS,		
+					KC_TRNS,		KC_TRNS,		KC_TRNS,		KC_TRNS,		KC_TRNS,		KC_TRNS,
 	KC_TRNS,		KC_TRNS,		KC_TRNS,		KC_TRNS,		KC_TRNS,		KC_TRNS,		KC_TRNS,
-									KC_TRNS,		KC_TRNS,		KC_TRNS,		KC_TRNS,		KC_TRNS,	
-	KC_TRNS,		KC_TRNS,		
-	KC_TRNS,		
-	KC_TRNS,		KC_TRNS,		KC_TRNS	
+									KC_TRNS,		KC_TRNS,		KC_TRNS,		KC_TRNS,		KC_TRNS,
+	KC_TRNS,		KC_TRNS,
+	KC_TRNS,
+	KC_TRNS,		KC_TRNS,		KC_TRNS
   ),
 
   /* Keymap 3: Symbols
@@ -147,9 +147,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  */
   [3] = LAYOUT_ergodox(
 	KC_TRNS,	KC_F1,		KC_F2,		KC_F3,		KC_F4,		KC_F5,		KC_F6,
-	KC_TRNS,	KC_PIPE,	KC_PLUS,	KC_LABK,	KC_RABK,	KC_HASH,	KC_TRNS,	
-	KC_TRNS,	KC_EXLM,	KC_MINS,	KC_EQL,		KC_PERC,	KC_AT,			
-	KC_TRNS,	KC_ASTR,	KC_AMPR,	KC_SLSH,	KC_DLR,		KC_CIRC,	KC_TRNS,	
+	KC_TRNS,	KC_PIPE,	KC_PLUS,	KC_LABK,	KC_RABK,	KC_HASH,	KC_TRNS,
+	KC_TRNS,	KC_EXLM,	KC_MINS,	KC_EQL,		KC_PERC,	KC_AT,
+	KC_TRNS,	KC_ASTR,	KC_AMPR,	KC_SLSH,	KC_DLR,		KC_CIRC,	KC_TRNS,
 	KC_TRNS,	KC_TRNS,	KC_TRNS,	KC_TRNS,	KC_TRNS,
 																KC_TRNS,	KC_TRNS,
 																			KC_TRNS,
@@ -229,8 +229,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
   [5] = LAYOUT_ergodox(
 	KC_GRV,		KC_1,			KC_2,	KC_3,		KC_4,		KC_5,		KC_6,
 	KC_TAB,		KC_Q,			KC_W,	KC_E,		KC_R,		KC_T,		KC_TRNS,
-	KC_LCTL,	KC_A,			KC_S,	KC_D,		KC_F,		KC_G,			
-	KC_LSFT,	KC_Z,			KC_X,	KC_C,		KC_V,		KC_B,		KC_MPLY,		
+	KC_LCTL,	KC_A,			KC_S,	KC_D,		KC_F,		KC_G,
+	KC_LSFT,	KC_Z,			KC_X,	KC_C,		KC_V,		KC_B,		KC_MPLY,
 	KC_LCTL,	LALT(KC_TAB),	TO(0),	KC_LALT,	KC_SPC,
 																KC_MPRV,	KC_MNXT,
 																  			KC_VOLU,
@@ -249,7 +249,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
 void matrix_scan_user(void) {
 
-	uint8_t layer = biton32(layer_state);
+	uint8_t layer = get_highest_layer(layer_state);
 
 	ergodox_board_led_off();
 	ergodox_right_led_1_off();
diff --git a/layouts/community/ergodox/colemak/keymap.c b/layouts/community/ergodox/colemak/keymap.c
index 54b0c5834a..db2addd6d9 100644
--- a/layouts/community/ergodox/colemak/keymap.c
+++ b/layouts/community/ergodox/colemak/keymap.c
@@ -138,7 +138,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 // Runs constantly in the background, in a loop.
 void matrix_scan_user(void) {
 
-    uint8_t layer = biton32(layer_state);
+    uint8_t layer = get_highest_layer(layer_state);
 
     ergodox_board_led_off();
     ergodox_right_led_1_off();
diff --git a/layouts/community/ergodox/colemak_code_friendly/keymap.c b/layouts/community/ergodox/colemak_code_friendly/keymap.c
index 936ddbc2a5..6350bd9ee2 100644
--- a/layouts/community/ergodox/colemak_code_friendly/keymap.c
+++ b/layouts/community/ergodox/colemak_code_friendly/keymap.c
@@ -59,7 +59,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
   KC_ESC,         KC_A,          KC_R,          KC_S,     KC_T,            KC_D,
   KC_LSFT,        LCTL_T(KC_Z),  LGUI_T(KC_X),  KC_C,     KC_V,            RALT_T(KC_B),    KC_LCBR,
   KC_LCTL,        KC_LGUI,       KC_LALT,       KC_LBRC,  KC_RBRC,
-  
+
                                                               KC_HOME, KC_END,
                                                                       KC_PSCR,
                                             MO(LAYER_LNUM), KC_ENT,   KC_LGUI,
@@ -101,7 +101,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
   KC_TRNS, KC_F8,      KC_F7,   KC_F6,    KC_F5,    M_IN_PRN,
   KC_TRNS, KC_F4,      KC_F3,   KC_F2,    KC_F1,    M_IN_BRC,       KC_TRNS,
   KC_MUTE, KC_VOLD,    KC_VOLU, KC_TRNS,  KC_TRNS,
-  
+
                                                        KC_TRNS,   KC_TRNS,
                                                            DYN_REC_START1,
                                         KC_TRNS, KC_TRNS, DYN_MACRO_PLAY1,
@@ -126,8 +126,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  * |--------+------+------+------+------+------|      |  |  }   |------+------+------+------+------+--------|
  * |        |  F4  |  F3  |  F2  |  F1  |  []  |      |  |      |K/RAlt|   M  |   ,  |./Supe|/ RCtl| RShift |
  * '--------+------+------+------+------+-------------'  '-------------+------+------+------+------+--------'
- *   | MUTE | VOLD | VOLU |      |      |                              | Left | Down | Up   |Right | Del  |  
- *   '----------------------------------'                              '----------------------------------'  
+ *   | MUTE | VOLD | VOLU |      |      |                              | Left | Down | Up   |Right | Del  |
+ *   '----------------------------------'                              '----------------------------------'
  *                                      .-------------.  .-------------.
  *                                      |      |      |  | Ins  |ScrLck|
  *                               .------+------+------|  |------+------+------.
@@ -143,7 +143,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
   KC_TRNS, KC_F8,      KC_F7,   KC_F6,    KC_F5,    M_IN_PRN,
   KC_TRNS, KC_F4,      KC_F3,   KC_F2,    KC_F1,    M_IN_BRC,       KC_TRNS,
   KC_MUTE, KC_VOLD,    KC_VOLU, KC_TRNS,  KC_TRNS,
-  
+
                                                        KC_TRNS,   KC_TRNS,
                                                            DYN_REC_START1,
                                         KC_TRNS, KC_TRNS, DYN_MACRO_PLAY1,
@@ -185,7 +185,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
   S(KC_ESC),   S(KC_A),     S(KC_R),     S(KC_S),     S(KC_T),     S(KC_D),
   KC_LSFT,     S(KC_Z),     S(KC_X),     S(KC_C),     S(KC_V),     S(KC_B),    KC_LCBR,
   S(KC_LCTL),  S(KC_LGUI),  S(KC_LALT),  S(KC_LBRC),  S(KC_RBRC),
-  
+
                                                               S(KC_HOME), S(KC_END),
                                                                          S(KC_PSCR),
                                                    KC_CAPS, S(KC_ENT),   S(KC_LGUI),
@@ -227,7 +227,7 @@ static bool process_record_dynamic_macro_wrapper(uint16_t keycode, keyrecord_t *
 }
 
 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
-  
+
   /* the purpose of the ..._wrapper is to detect START/ST0P keys to
      light the blue led during recording */
   if (!process_record_dynamic_macro_wrapper(keycode, record)) {
@@ -308,19 +308,19 @@ void matrix_init_user(void) {
 
 /* Runs constantly in the background, in a loop. */
 void matrix_scan_user(void) {
-  uint8_t layer = biton32(layer_state);
+  uint8_t layer = get_highest_layer(layer_state);
 
   //led 1, RED, Caps-Lock ON
   //if (host_keyboard_leds() & (1<<USB_LED_CAPS_LOCK)) ergodox_right_led_1_on();
 
   //led 2, GREEN
-  if (layer == LAYER_NUM) 
+  if (layer == LAYER_NUM)
       ergodox_right_led_2_on();
   else
       ergodox_right_led_2_off();
 
   //led 3, BLUE
-  if (recording_dynamic_macro) 
+  if (recording_dynamic_macro)
       ergodox_right_led_3_on();
   else
       ergodox_right_led_3_off();
diff --git a/layouts/community/ergodox/colemak_programmer/keymap.c b/layouts/community/ergodox/colemak_programmer/keymap.c
index 46cd28dc8c..b4ace197de 100644
--- a/layouts/community/ergodox/colemak_programmer/keymap.c
+++ b/layouts/community/ergodox/colemak_programmer/keymap.c
@@ -23,7 +23,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  *                                 |symbol|N-Lock| End   |       | PgDn |       |      |
  *                                 `---------------------'       `---------------------'
  */
-[0] = LAYOUT_ergodox(  // layer 0 : default 
+[0] = LAYOUT_ergodox(  // layer 0 : default
         // left hand
         KC_GRV,     KC_1,       KC_2,       KC_3,       KC_4,        KC_5,        KC_6,
         KC_TAB,     KC_Q,       KC_W,       KC_F,       KC_P,        KC_G,        TG(3),
@@ -68,7 +68,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  *                                 |      |      |      |       |      |        |      |
  *                                 `--------------------'       `----------------------'
  */
-[1] = LAYOUT_ergodox(  // layer 1: QWERTY layer (games) 
+[1] = LAYOUT_ergodox(  // layer 1: QWERTY layer (games)
        KC_TRNS,        KC_TRNS,    KC_TRNS,    KC_TRNS,    KC_TRNS,    KC_TRNS,    KC_TRNS,
        KC_TRNS,        KC_Q,       KC_W,       KC_E,       KC_R,       KC_T,       KC_TRNS,
        KC_TRNS,        KC_A,       KC_S,       KC_D,       KC_F,       KC_G,
@@ -78,7 +78,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
                        KC_TRNS,    KC_TRNS,
                                    KC_TRNS,
        KC_TRNS,        KC_TRNS,    KC_TRNS,
-       
+
     // right hand
        KC_TRNS,        KC_TRNS,    KC_TRNS,    KC_TRNS,    KC_TRNS,    KC_TRNS,    KC_TRNS,
        KC_TRNS,        KC_Y,       KC_U,       KC_I,       KC_O,       KC_P,       KC_TRNS,
@@ -243,7 +243,7 @@ void matrix_scan_user(void) {
     //bit 1: default layer 1 - QWERTY
     if (default_layer_state & (1UL << 1)) ergodox_right_led_1_on();
 
-    uint8_t layer = biton32(layer_state);
+    uint8_t layer = get_highest_layer(layer_state);
 
     //layer 2 : Symbols (& Fs)
     //if (layer == 2) ergodox_right_led_2_on();
diff --git a/layouts/community/ergodox/common_nighthawk/keymap.c b/layouts/community/ergodox/common_nighthawk/keymap.c
index cb13822e4e..a7ed10d715 100644
--- a/layouts/community/ergodox/common_nighthawk/keymap.c
+++ b/layouts/community/ergodox/common_nighthawk/keymap.c
@@ -188,7 +188,7 @@ void matrix_init_user(void) {
 // Runs constantly in the background, in a loop.
 void matrix_scan_user(void) {
 
-    uint8_t layer = biton32(layer_state);
+    uint8_t layer = get_highest_layer(layer_state);
 
     ergodox_board_led_off();
     ergodox_right_led_1_off();
diff --git a/layouts/community/ergodox/csharp_dev/keymap.c b/layouts/community/ergodox/csharp_dev/keymap.c
index 221389ef24..f22938429d 100644
--- a/layouts/community/ergodox/csharp_dev/keymap.c
+++ b/layouts/community/ergodox/csharp_dev/keymap.c
@@ -57,7 +57,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
         KC_RPRN,        KC_Q,         KC_W,   KC_E,   KC_R,   KC_T,   KC_BSPACE,
         KC_LCBR,        KC_A,         KC_S,   KC_D,   KC_F,   KC_G,
         KC_RCBR,        ALT_T(KC_Z),  KC_X,   KC_C,   KC_V,   KC_B,   KC_SLASH,
-        CTL_T(KC_TAB), LSFT(KC_COMMA),LSFT(KC_DOT),KC_PIPE,KC_AMPR, 
+        CTL_T(KC_TAB), LSFT(KC_COMMA),LSFT(KC_DOT),KC_PIPE,KC_AMPR,
                                               LT(1,KC_DOT),  KC_COMM,
                                                               LCTL(KC_C),
                                                GUI_T(KC_ENTER),SFT_T(KC_SPACE),LCTL(KC_V),
@@ -125,81 +125,81 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
 		case MACRO_PUBLIC:
 			if (record->event.pressed) {
 				return MACRO( T(P), T(U), T(B), T(L), T(I), T(C), T(SPACE),END);
-			} 
+			}
 			break;
 		case MACRO_PRIVATE:
 			if (record->event.pressed) {
 				return MACRO( T(P), T(R), T(I), T(V), T(A), T(T), T(E), T(SPACE),END);
-			} 
+			}
 			break;
 		case MACRO_STATIC:
 			if (record->event.pressed) {
 				return MACRO( T(S), T(T), T(A), T(T), T(I), T(C), T(SPACE), END);
-			} 
+			}
 			break;
 		case MACRO_CONST:
 			if (record->event.pressed) {
 				return MACRO( T(C), T(O), T(N), T(S), T(T), T(SPACE), END);
-			} 
+			}
 			break;
 		case MACRO_VOID:
 			if (record->event.pressed) {
 				return MACRO( T(V), T(O), T(I), T(D), T(SPACE), END);
-			} 
+			}
 			break;
 		case MACRO_VAR:
 			if (record->event.pressed) {
 				return MACRO( T(V), T(A), T(R), T(SPACE), END);
-			} 
+			}
 			break;
 		case MACRO_STRING:
 			if (record->event.pressed) {
 				return MACRO( T(S), T(T), T(R), T(I), T(N), T(G), T(SPACE), END);
-			} 
-			break;		
+			}
+			break;
 		case MACRO_BOOL:
 			if (record->event.pressed) {
 				return MACRO( T(B), T(O), T(O), T(L), T(SPACE), END);
-			} 
-			break;		
+			}
+			break;
 		case MACRO_INT:
 			if (record->event.pressed) {
 				return MACRO( T(I), T(N), T(T), T(SPACE), END);
-			} 
+			}
 			break;
 		case MACRO_FLOAT:
 			if (record->event.pressed) {
 				return MACRO( T(F), T(L), T(O), T(A),T(T),T(SPACE), END);
-			} 
+			}
 			break;
 		case MACRO_RETURN:
 			if (record->event.pressed) {
 				return MACRO( T(R), T(E), T(T), T(U),T(R),T(N), END);
-			} 
+			}
 			break;
 		case MACRO_NULL:
 			if (record->event.pressed) {
 				return MACRO( T(N), T(U), T(L), T(L), END);
-			} 
+			}
 		case MACRO_BREAK:
 			if (record->event.pressed) {
 				return MACRO( T(B), T(R), T(E), T(A), T(K), T(SCOLON), END);
-			} 
+			}
 			break;
 		case MACRO_TODO:
 			if (record->event.pressed) {
 				return MACRO( T(SLASH), T(SLASH), D(LSHIFT) ,T(T), T(O), T(D), T(O),U(LSHIFT), T(SPACE),END);
-			} 
+			}
 			break;
 		case MACRO_NEW:
 			if (record->event.pressed) {
 				return MACRO( T(N), T(E), T(W), T(SPACE), END);
-			} 
+			}
 			break;
 		case MACRO_PARENTHESE:
 			if (record->event.pressed) {
 				return MACRO(  D(LSHIFT),T(9), T(0),U(LSHIFT), T(SCOLON), END);
-			} 
+			}
 			break;
       }
     return MACRO_NONE;
@@ -213,7 +213,7 @@ void matrix_init_user(void) {
 // Runs constantly in the background, in a loop.
 void matrix_scan_user(void) {
 
-    uint8_t layer = biton32(layer_state);
+    uint8_t layer = get_highest_layer(layer_state);
 
     ergodox_board_led_off();
     ergodox_right_led_1_off();
diff --git a/layouts/community/ergodox/dave/keymap.c b/layouts/community/ergodox/dave/keymap.c
index efa270c406..c54e50ba98 100644
--- a/layouts/community/ergodox/dave/keymap.c
+++ b/layouts/community/ergodox/dave/keymap.c
@@ -147,7 +147,7 @@ void matrix_scan_user(void) {
      */
     static uint8_t leds[4];
     uint8_t led;
-    uint8_t layer = biton32(layer_state);
+    uint8_t layer = get_highest_layer(layer_state);
 
     ergodox_board_led_off();
 
diff --git a/layouts/community/ergodox/deadcyclo/keymap.c b/layouts/community/ergodox/deadcyclo/keymap.c
index 345e25e03e..76f5279257 100644
--- a/layouts/community/ergodox/deadcyclo/keymap.c
+++ b/layouts/community/ergodox/deadcyclo/keymap.c
@@ -90,10 +90,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 		KC_LALT,  KC_RALT,KC_LEAD,LCTL(LSFT(KC_U)),          LT(SYMB,KC_TILD),
              KC_PGUP,        KC_INS,
              KC_PGDN,
-             KC_RBRC,KC_BSPC, KC_ENT   
+             KC_RBRC,KC_BSPC, KC_ENT
     ),
-/* Keymap 1: Symbol Layer LCTL(LSFT(KC_U))  
- *                                                  
+/* Keymap 1: Symbol Layer LCTL(LSFT(KC_U))
+ *
  * ,--------------------------------------------------.           ,--------------------------------------------------.
  * |        |  F1  |  F2  |  F3  |  F4  |  F5  |  F6  |           |  F6  |  F7  |  F8  |  F9  |  F10 |  F11 |   F12  |
  * |--------+------+------+------+------+-------------|           |------+------+------+------+------+------+--------|
@@ -192,7 +192,7 @@ KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, I3_RUN, KC_TRNS, KC_TRNS,
  *                                        ,-------------.       ,-------------.
  *                                        |      |      |       |   ▒  |  ▓   |
  *                                 ,------|------|------|       |------+------+------.
- *                                 |      |      |      |       |      |      |      | 
+ *                                 |      |      |      |       |      |      |      |
  *                                 |      |      |------|       |------|      |      |
  *                                 |      |      |      |       |      |      |      |
  *                                 `--------------------'       `--------------------'
@@ -218,7 +218,7 @@ KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, I3_RUN, KC_TRNS, KC_TRNS,
 		KC_TRNS, KC_TRNS, KC_TRNS
 ),
 
-/* Keymap 4: Unicode 2 
+/* Keymap 4: Unicode 2
  *
  * ,--------------------------------------------------.           ,--------------------------------------------------.
  * |        |  ¹   |  ²   |  ³   |  ⁴   |  ⁵   |  ⁶   |           |  ⁶   |  ⁷   |  ⁸   |  ⁹   |  ⁰   |  ℃   |   ™    |
@@ -234,12 +234,12 @@ KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, I3_RUN, KC_TRNS, KC_TRNS,
  *                                        ,-------------.       ,-------------.
  *                                        |      |      |       |      |      |
  *                                 ,------|------|------|       |------+------+------.
- *                                 |      |      |      |       |      |      |      | 
+ *                                 |      |      |      |       |      |      |      |
  *                                 |      |      |------|       |------|      |      |
  *                                 |      |      |      |       |      |      |      |
  *                                 `--------------------'       `--------------------'
  */
-// Unicode 2   
+// Unicode 2
 [UNI2] = LAYOUT_ergodox(
 		KC_TRNS, UC(0x00b9), UC(0x00b2), UC(0x00b3), UC(0x2074), UC(0x2075), UC(0x2076),
 		KC_TRNS, UC(0x2081), UC(0x2082), UC(0x2083), UC(0x2084), UC(0x2085), UC(0x2086),
@@ -346,7 +346,7 @@ void matrix_init_user(void) {
 
 // Runs constantly in the background, in a loop.
 void matrix_scan_user(void) {
-    uint8_t layer = biton32(layer_state);
+    uint8_t layer = get_highest_layer(layer_state);
 
     ergodox_board_led_off();
     ergodox_right_led_1_off();
diff --git a/layouts/community/ergodox/dragon788/keymap.c b/layouts/community/ergodox/dragon788/keymap.c
index 956a592b6d..b32346a9df 100644
--- a/layouts/community/ergodox/dragon788/keymap.c
+++ b/layouts/community/ergodox/dragon788/keymap.c
@@ -183,7 +183,7 @@ LAYOUT_ergodox(
 // Runs constantly in the background, in a loop.
 void matrix_scan_user(void) {
 
-    uint8_t layer = biton32(layer_state);
+    uint8_t layer = get_highest_layer(layer_state);
 
     ergodox_board_led_off();
     ergodox_right_led_1_off();
diff --git a/layouts/community/ergodox/dvorak/keymap.c b/layouts/community/ergodox/dvorak/keymap.c
index 68b575fd68..664d8055a4 100644
--- a/layouts/community/ergodox/dvorak/keymap.c
+++ b/layouts/community/ergodox/dvorak/keymap.c
@@ -138,7 +138,7 @@ LAYOUT_ergodox(
 // Runs constantly in the background, in a loop.
 void matrix_scan_user(void) {
 
-    uint8_t layer = biton32(layer_state);
+    uint8_t layer = get_highest_layer(layer_state);
 
     ergodox_board_led_off();
     ergodox_right_led_1_off();
diff --git a/layouts/community/ergodox/dvorak_emacs/keymap.c b/layouts/community/ergodox/dvorak_emacs/keymap.c
index 6055fd770d..14c592f27f 100644
--- a/layouts/community/ergodox/dvorak_emacs/keymap.c
+++ b/layouts/community/ergodox/dvorak_emacs/keymap.c
@@ -120,7 +120,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 // Runs constantly in the background, in a loop.
 void matrix_scan_user(void) {
 
-    uint8_t layer = biton32(layer_state);
+    uint8_t layer = get_highest_layer(layer_state);
 
     ergodox_board_led_off();
     ergodox_right_led_1_off();
diff --git a/layouts/community/ergodox/dvorak_emacs_software/keymap.c b/layouts/community/ergodox/dvorak_emacs_software/keymap.c
index 4f90f193c6..c2bc1ef8f2 100644
--- a/layouts/community/ergodox/dvorak_emacs_software/keymap.c
+++ b/layouts/community/ergodox/dvorak_emacs_software/keymap.c
@@ -121,7 +121,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 // Runs constantly in the background, in a loop.
 void matrix_scan_user(void) {
 
-    uint8_t layer = biton32(layer_state);
+    uint8_t layer = get_highest_layer(layer_state);
 
     ergodox_board_led_off();
     ergodox_right_led_1_off();
diff --git a/layouts/community/ergodox/dvorak_intl_squisher/keymap.c b/layouts/community/ergodox/dvorak_intl_squisher/keymap.c
index 3ebbd2df09..2d3ec3806b 100644
--- a/layouts/community/ergodox/dvorak_intl_squisher/keymap.c
+++ b/layouts/community/ergodox/dvorak_intl_squisher/keymap.c
@@ -139,7 +139,7 @@ LAYOUT_ergodox(  // layer 0 : default
 // Runs constantly in the background, in a loop.
 void matrix_scan_user(void) {
 
-    uint8_t layer = biton32(layer_state);
+    uint8_t layer = get_highest_layer(layer_state);
 
     ergodox_board_led_off();
     ergodox_right_led_1_off();
diff --git a/layouts/community/ergodox/dvorak_plover/keymap.c b/layouts/community/ergodox/dvorak_plover/keymap.c
index 989aafb90a..51f7e61203 100644
--- a/layouts/community/ergodox/dvorak_plover/keymap.c
+++ b/layouts/community/ergodox/dvorak_plover/keymap.c
@@ -181,7 +181,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 // Runs constantly in the background, in a loop.
 void matrix_scan_user(void) {
 
-    uint8_t layer = biton32(layer_state);
+    uint8_t layer = get_highest_layer(layer_state);
 
     ergodox_board_led_off();
     ergodox_right_led_1_off();
diff --git a/layouts/community/ergodox/dvorak_programmer/keymap.c b/layouts/community/ergodox/dvorak_programmer/keymap.c
index 33115d21f3..a8acee119a 100644
--- a/layouts/community/ergodox/dvorak_programmer/keymap.c
+++ b/layouts/community/ergodox/dvorak_programmer/keymap.c
@@ -45,7 +45,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
         KC_TAB,                    KC_QUOT,        KC_COMM,     KC_DOT,       KC_P,        KC_Y,        MO(KEY_SEL),
         MO(BRACKETS),              KC_A,           KC_O,        KC_E,         KC_U,        KC_I,
         MO(SHELL_NAV),             KC_SCLN,        KC_Q,        KC_J,         KC_K,        KC_X,        MO(KEY_NAV),
-                   OSL(SHORTCUTS),OSM(MOD_LCTL), OSM(MOD_LALT),OSL(SYMBOL),MO(NUMBER),  
+                   OSL(SHORTCUTS),OSM(MOD_LCTL), OSM(MOD_LALT),OSL(SYMBOL),MO(NUMBER),
                                               // thumb cluster
                                                OSM(MOD_LSFT), RCTL(KC_S),
                                                           RCTL(KC_DEL),
@@ -62,10 +62,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
              KC_UP,
              KC_DOWN,KC_ENT, KC_SPC
     ),
-     
 
-	 
-	 
+
+
+
 // shell navigation layer
 [SHELL_NAV] = LAYOUT_ergodox(
        // left hand
@@ -92,7 +92,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
        KC_TRNS, KC_TRNS, KC_TRNS
 ),
 
-    
+
 // key navigation layer
 [KEY_NAV] = LAYOUT_ergodox(
        // left hand
@@ -177,7 +177,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
        KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
        KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
        KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
-       KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,       
+       KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
        KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
                                        KC_TRNS,KC_TRNS,
                                                KC_TRNS,
@@ -187,7 +187,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
        KC_TRNS, KC_PLUS, KC_AMPR, KC_ASTR, KC_GRAVE,KC_TILD, KC_TRNS,
                 KC_MINS, KC_DLR,  KC_PERC, KC_CIRC, KC_PIPE, KC_TRNS,
        KC_TRNS, KC_EQUAL,KC_EXLM, KC_AT,   KC_HASH, KC_TRNS, KC_TRNS,
-                         KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 
+                         KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
        M(SEMICOLON_NEWLINE), M(END_NEWLINE),
        KC_TRNS,
        KC_TRNS, KC_TRNS, KC_TRNS
@@ -198,7 +198,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
        KC_TRNS,KC_TRNS,KC_TRNS,             KC_TRNS,            KC_TRNS,               KC_TRNS,KC_TRNS,
        KC_TRNS,KC_TRNS,M(OPEN_CLOSE_CURLY), M(OPEN_CLOSE_PAREN),M(OPEN_CLOSE_BRACKET), KC_TRNS,KC_TRNS,
        KC_TRNS,KC_LPRN, KC_RPRN,            KC_LBRC,            KC_RBRC,               KC_TRNS,
-       KC_TRNS,KC_TRNS,KC_TRNS,             KC_LCBR,            KC_RCBR,               KC_TRNS,KC_TRNS,       
+       KC_TRNS,KC_TRNS,KC_TRNS,             KC_LCBR,            KC_RCBR,               KC_TRNS,KC_TRNS,
        KC_TRNS,KC_TRNS,KC_TRNS,             KC_TRNS,            KC_TRNS,
                                         KC_TRNS,KC_TRNS,
                                                KC_TRNS,
@@ -207,8 +207,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
        KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
        KC_TRNS, KC_TRNS, M(OPEN_CLOSE_BRACKET),M(OPEN_CLOSE_PAREN),M(OPEN_CLOSE_CURLY),KC_TRNS,KC_TRNS,
                 KC_TRNS, KC_LBRC, KC_RBRC, KC_LPRN, KC_RPRN, KC_TRNS,
-       KC_TRNS, KC_TRNS, KC_LCBR, KC_RCBR, KC_TRNS, KC_TRNS, KC_TRNS, 
-                         KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 
+       KC_TRNS, KC_TRNS, KC_LCBR, KC_RCBR, KC_TRNS, KC_TRNS, KC_TRNS,
+                         KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
        KC_TRNS, KC_TRNS,
        KC_TRNS,
        KC_TRNS, KC_TRNS, KC_TRNS
@@ -219,7 +219,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
        KC_NO,  MEH(KC_F1), MEH(KC_F2), MEH(KC_F3),  MEH(KC_F4), MEH(KC_F5), MEH(KC_F6),
        KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
        KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
-       KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,       
+       KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
        KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
                                          MEH(KC_0),MEH(KC_1),
                                                    MEH(KC_2),
@@ -272,12 +272,12 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
         case MC_CUT_LINE:
             if (record->event.pressed) {
                 return MACRO( T(HOME), D(LSFT), T(END), U(LSFT), D(LCTL), T(X), U(LCTL), END);
-            }        
+            }
             break;
         case MC_PASTE_LINE:
             if (record->event.pressed) {
                 return MACRO( T(END), T(ENTER), D(LCTL), T(V), U(LCTL), END);
-            }                
+            }
             break;
         case MC_NEW_SEARCH_TAB:
              if (record->event.pressed) {
@@ -287,17 +287,17 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
         case SCREEN_TAB_LEFT:
              if (record->event.pressed) {
                 return MACRO( D(LCTL), T(A), U(LCTL), T(P), END);
-            }        
+            }
             break;
         case SCREEN_TAB_RIGHT:
              if (record->event.pressed) {
                 return MACRO( D(LCTL), T(A), U(LCTL), T(N), END);
-            }                    
+            }
             break;
         case SCREEN_NEW_TAB:
              if (record->event.pressed) {
                 return MACRO( D(LCTL), T(A), U(LCTL), T(C), END);
-            }                                
+            }
         break;
         case SCREEN_COPY_MODE:
             if (record->event.pressed) {
@@ -306,14 +306,14 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
         break;
         case SCREEN_PASTE:
             if (record->event.pressed) {
-                return MACRO( D(LCTL), T(A), U(LCTL), T(RBRC), END); 
+                return MACRO( D(LCTL), T(A), U(LCTL), T(RBRC), END);
             }
-        break;        
+        break;
         case SWITCH_NDS:
              if (record->event.pressed) {
                 return MACRO( D(LSFT), T(F11), U(LSFT), W(255), D(LALT), T(TAB), U(LALT), END);
-            }                                
-        break;        
+            }
+        break;
         case OPEN_CLOSE_PAREN:
             if (record->event.pressed) {
                 return MACRO( D(LSFT), T(9), T(0), U(LSFT), T(LEFT), END);
@@ -323,39 +323,39 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
             if (record->event.pressed) {
                 return MACRO( T(LBRC), T(RBRC), T(LEFT), END);
             }
-        break;        
+        break;
         case OPEN_CLOSE_CURLY:
             if (record->event.pressed) {
                 return MACRO( D(LSFT), T(LBRC), T(RBRC), U(LSFT), T(LEFT), END);
             }
-        break;                
+        break;
         case OPEN_CLOSE_SINGLE_QUOTE:
             if (record->event.pressed) {
                 return MACRO( T(QUOT), T(QUOT), T(LEFT), END);
             }
-        break;        
+        break;
         case OPEN_CLOSE_DOUBLE_QUOTE:
             if (record->event.pressed) {
                 return MACRO( D(LSFT), T(QUOT), T(QUOT), U(LSFT), T(LEFT), END);
             }
-        break;                        
+        break;
         case SHELL_RECALL_LAST_ARG_REMOVE_FIRST_COMMAND:
             if (record->event.pressed) {
                 return MACRO( T(UP), T(HOME), D(LALT), T(D), U(LALT), END);
             }
-        break;                                
+        break;
 		case SEMICOLON_NEWLINE:
             if (record->event.pressed) {
                 return MACRO( T(END), T(SCLN), T(ENTER), END);
-            }		
+            }
 		break;
 		case END_NEWLINE:
             if (record->event.pressed) {
                 return MACRO( T(END), T(ENTER), END);
-            }		
-		break;	
-		
-        
+            }
+		break;
+
+
       }
     return MACRO_NONE;
 };
@@ -378,7 +378,7 @@ void led_set_user(uint8_t usb_led) {
 // Runs constantly in the background, in a loop.
 void matrix_scan_user(void) {
 
-    uint8_t layer = biton32(layer_state);
+    uint8_t layer = get_highest_layer(layer_state);
 
     ergodox_board_led_off();
     ergodox_right_led_2_off();
@@ -387,13 +387,13 @@ void matrix_scan_user(void) {
         case NUMBER:
         case SYMBOL:
 		case BRACKETS:
-		//case SHELL_LAYER:		
+		//case SHELL_LAYER:
             ergodox_right_led_2_on();
             break;
         case KEY_NAV:
         case KEY_SEL:
             ergodox_right_led_3_on();
-            break;        
+            break;
         case SHORTCUTS:
             ergodox_right_led_2_on();
             ergodox_right_led_3_on();
@@ -401,6 +401,6 @@ void matrix_scan_user(void) {
         default:
             // none
             break;
-    } 
+    }
     return;
 };
diff --git a/layouts/community/ergodox/dvorak_programmer_swe/keymap.c b/layouts/community/ergodox/dvorak_programmer_swe/keymap.c
index a8a428a04b..2578547f17 100644
--- a/layouts/community/ergodox/dvorak_programmer_swe/keymap.c
+++ b/layouts/community/ergodox/dvorak_programmer_swe/keymap.c
@@ -306,7 +306,7 @@ void matrix_init_user(void) {
 // Runs constantly in the background, in a loop.
 void matrix_scan_user(void) {
 
-    uint8_t layer = biton32(layer_state);
+    uint8_t layer = get_highest_layer(layer_state);
 
     ergodox_board_led_off();
     ergodox_right_led_1_off();
diff --git a/layouts/community/ergodox/dvorak_spanish/keymap.c b/layouts/community/ergodox/dvorak_spanish/keymap.c
index 98aa638a0f..805abb0b77 100644
--- a/layouts/community/ergodox/dvorak_spanish/keymap.c
+++ b/layouts/community/ergodox/dvorak_spanish/keymap.c
@@ -192,13 +192,13 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
             if (record->event.pressed) {
                 key_timer = timer_read();
                 register_code(KC_RSFT);
-            } else { 
+            } else {
                 unregister_code(KC_RSFT);
-                if (timer_elapsed(key_timer) < KEY_TAP_SLOW) { 
-                    register_code(KC_RALT); 
-                    register_code(KC_BSLS); 
-                    unregister_code(KC_BSLS); 
-                    unregister_code(KC_RALT); 
+                if (timer_elapsed(key_timer) < KEY_TAP_SLOW) {
+                    register_code(KC_RALT);
+                    register_code(KC_BSLS);
+                    unregister_code(KC_BSLS);
+                    unregister_code(KC_RALT);
                 }
             }
             break;
@@ -207,13 +207,13 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
             if (record->event.pressed) {
                 key_timer = timer_read();
                 register_code(KC_LALT);
-            } else { 
+            } else {
                 unregister_code(KC_LALT);
-                if (timer_elapsed(key_timer) < KEY_TAP_SLOW) { 
-                    register_code(KC_RALT); 
-                    register_code(KC_LBRACKET); 
-                    unregister_code(KC_LBRACKET); 
-                    unregister_code(KC_RALT); 
+                if (timer_elapsed(key_timer) < KEY_TAP_SLOW) {
+                    register_code(KC_RALT);
+                    register_code(KC_LBRACKET);
+                    unregister_code(KC_LBRACKET);
+                    unregister_code(KC_RALT);
                 }
             }
             break;
@@ -222,13 +222,13 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
             if (record->event.pressed) {
                 key_timer = timer_read();
                 register_code(KC_LALT);
-            } else { 
+            } else {
                 unregister_code(KC_LALT);
-                if (timer_elapsed(key_timer) < KEY_TAP_SLOW) { 
-                    register_code(KC_RALT); 
-                    register_code(KC_RBRACKET); 
-                    unregister_code(KC_RBRACKET); 
-                    unregister_code(KC_RALT); 
+                if (timer_elapsed(key_timer) < KEY_TAP_SLOW) {
+                    register_code(KC_RALT);
+                    register_code(KC_RBRACKET);
+                    unregister_code(KC_RBRACKET);
+                    unregister_code(KC_RALT);
                 }
             }
             break;
@@ -236,7 +236,7 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
         case CAPS: {
             if (record->event.pressed) {
                 register_code(KC_CAPSLOCK);
-            } else { 
+            } else {
                 unregister_code(KC_CAPSLOCK);
             }
             break;
@@ -253,7 +253,7 @@ void matrix_init_user(void) {
 // Runs constantly in the background, in a loop.
 void matrix_scan_user(void) {
 
-    uint8_t layer = biton32(layer_state);
+    uint8_t layer = get_highest_layer(layer_state);
 
     ergodox_board_led_off();
     ergodox_right_led_1_off();
@@ -270,11 +270,10 @@ void matrix_scan_user(void) {
             // none
             break;
     }
-    
+
     // Turn the caps lock led on
     if (host_keyboard_leds() & (1<<USB_LED_CAPS_LOCK)) {
         ergodox_right_led_1_on();
     }
 
 }
-
diff --git a/layouts/community/ergodox/dvorak_svorak_a5/keymap.c b/layouts/community/ergodox/dvorak_svorak_a5/keymap.c
index 3ecef9d9b6..6729dbeeb6 100644
--- a/layouts/community/ergodox/dvorak_svorak_a5/keymap.c
+++ b/layouts/community/ergodox/dvorak_svorak_a5/keymap.c
@@ -186,7 +186,7 @@ void matrix_init_user(void) {
 // Runs constantly in the background, in a loop.
 void matrix_scan_user(void) {
 
-    uint8_t layer = biton32(layer_state);
+    uint8_t layer = get_highest_layer(layer_state);
 
     ergodox_board_led_off();
     ergodox_right_led_1_off();
diff --git a/layouts/community/ergodox/emacs_osx_dk/keymap.c b/layouts/community/ergodox/emacs_osx_dk/keymap.c
index 1de894616b..2c3430c236 100644
--- a/layouts/community/ergodox/emacs_osx_dk/keymap.c
+++ b/layouts/community/ergodox/emacs_osx_dk/keymap.c
@@ -138,7 +138,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 // Runs constantly in the background, in a loop.
 void matrix_scan_user(void) {
 
-    uint8_t layer = biton32(layer_state);
+    uint8_t layer = get_highest_layer(layer_state);
 
     ergodox_board_led_off();
     ergodox_right_led_1_off();
diff --git a/layouts/community/ergodox/french_hacker/keymap.c b/layouts/community/ergodox/french_hacker/keymap.c
index 44b0c47860..73e3076475 100644
--- a/layouts/community/ergodox/french_hacker/keymap.c
+++ b/layouts/community/ergodox/french_hacker/keymap.c
@@ -147,7 +147,7 @@ void matrix_init_user(void) {
 // Runs constantly in the background, in a loop.
 void matrix_scan_user(void) {
 
-    uint8_t layer = biton32(layer_state);
+    uint8_t layer = get_highest_layer(layer_state);
 
     ergodox_board_led_off();
     ergodox_right_led_1_off();
diff --git a/layouts/community/ergodox/galson/keymap.c b/layouts/community/ergodox/galson/keymap.c
index 2b7994b11d..83c6638d57 100644
--- a/layouts/community/ergodox/galson/keymap.c
+++ b/layouts/community/ergodox/galson/keymap.c
@@ -53,7 +53,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     ),
 /* Keymap 1: Symbol Layer
  *
- * ,--------------------------------------------------. 
+ * ,--------------------------------------------------.
  * |Version |  F1  |  F2  |  F3  |  F4  |  F5  |      |           |      |  F6  |  F7  |  F8  |  F9  |  F10 |   F11  |
  * |--------+------+------+------+------+-------------|           |------+------+------+------+------+------+--------|
  * |        |   !  |   @  |   {  |   }  |   |  |      |           |      |   Up |   7  |   8  |   9  |   *  |   F12  |
@@ -157,7 +157,7 @@ void matrix_init_user(void) {
 // Runs constantly in the background, in a loop.
 void matrix_scan_user(void) {
 
-    uint8_t layer = biton32(layer_state);
+    uint8_t layer = get_highest_layer(layer_state);
 
     ergodox_board_led_off();
     ergodox_right_led_1_off();
diff --git a/layouts/community/ergodox/german-kinergo/keymap.c b/layouts/community/ergodox/german-kinergo/keymap.c
index 9f8b72596e..eae02d8925 100644
--- a/layouts/community/ergodox/german-kinergo/keymap.c
+++ b/layouts/community/ergodox/german-kinergo/keymap.c
@@ -165,7 +165,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 // Runs constantly in the background, in a loop.
 void matrix_scan_user(void) {
 
-    uint8_t layer = biton32(layer_state);
+    uint8_t layer = get_highest_layer(layer_state);
 
     ergodox_board_led_off();
     ergodox_right_led_1_off();
diff --git a/layouts/community/ergodox/german-lukas/keymap.c b/layouts/community/ergodox/german-lukas/keymap.c
index 76a77acdb2..a63a13c12d 100644
--- a/layouts/community/ergodox/german-lukas/keymap.c
+++ b/layouts/community/ergodox/german-lukas/keymap.c
@@ -188,7 +188,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 // Runs constantly in the background, in a loop.
 void matrix_scan_user(void) {
 
-    uint8_t layer = biton32(layer_state);
+    uint8_t layer = get_highest_layer(layer_state);
 
     ergodox_board_led_off();
     ergodox_right_led_1_off();
diff --git a/layouts/community/ergodox/german-manuneo/compile_keymap.py b/layouts/community/ergodox/german-manuneo/compile_keymap.py
index df5d429842..ae7ff50397 100644
--- a/layouts/community/ergodox/german-manuneo/compile_keymap.py
+++ b/layouts/community/ergodox/german-manuneo/compile_keymap.py
@@ -27,29 +27,34 @@ PY2 = sys.version_info.major == 2
 if PY2:
     chr = unichr
 
-
 KEYBOARD_LAYOUTS = {
     # These map positions in the parsed layout to
     # positions in the LAYOUT_ergodox MATRIX
     'ergodox_ez': [
-        [ 0,  1,  2,  3,  4,  5,  6],  [38, 39, 40, 41, 42, 43, 44],
-        [ 7,  8,  9, 10, 11, 12, 13],  [45, 46, 47, 48, 49, 50, 51],
-        [14, 15, 16, 17, 18, 19    ],  [    52, 53, 54, 55, 56, 57],
-        [20, 21, 22, 23, 24, 25, 26],  [58, 59, 60, 61, 62, 63, 64],
-        [27, 28, 29, 30, 31        ],  [        65, 66, 67, 68, 69],
-        [                    32, 33],  [70, 71                    ],
-        [                        34],  [72                        ],
-        [                35, 36, 37],  [73, 74, 75                ],
+        [0, 1, 2, 3, 4, 5, 6],
+        [38, 39, 40, 41, 42, 43, 44],
+        [7, 8, 9, 10, 11, 12, 13],
+        [45, 46, 47, 48, 49, 50, 51],
+        [14, 15, 16, 17, 18, 19],
+        [52, 53, 54, 55, 56, 57],
+        [20, 21, 22, 23, 24, 25, 26],
+        [58, 59, 60, 61, 62, 63, 64],
+        [27, 28, 29, 30, 31],
+        [65, 66, 67, 68, 69],
+        [32, 33],
+        [70, 71],
+        [34],
+        [72],
+        [35, 36, 37],
+        [73, 74, 75],
     ]
 }
 
-ROW_INDENTS = {
-    'ergodox_ez': [0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 5, 0, 6, 0, 4, 0]
-}
+ROW_INDENTS = {'ergodox_ez': [0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 5, 0, 6, 0, 4, 0]}
 
 BLANK_LAYOUTS = [
-# Compact Layout
-"""
+    # Compact Layout
+    """
 .------------------------------------.------------------------------------.
 |     |    |    |    |    |    |     |     |    |    |    |    |    |     |
 !-----+----+----+----+----+----------!-----+----+----+----+----+----+-----!
@@ -70,8 +75,8 @@ BLANK_LAYOUTS = [
                   '-----------------' '-----------------'
 """,
 
-# Wide Layout
-"""
+    # Wide Layout
+    """
 .---------------------------------------------. .---------------------------------------------.
 |       |     |     |     |     |     |       | !       |     |     |     |     |     |       |
 !-------+-----+-----+-----+-----+-------------! !-------+-----+-----+-----+-----+-----+-------!
@@ -93,26 +98,22 @@ BLANK_LAYOUTS = [
 """,
 ]
 
-
 DEFAULT_CONFIG = {
-    "keymaps_includes": [
-        "keymap_common.h",
-    ],
+    "keymaps_includes": ["keymap_common.h",],
     'filler': "-+.'!:x",
     'separator': "|",
     'default_key_prefix': ["KC_"],
 }
 
-
 SECTIONS = [
     'layout_config',
     'layers',
 ]
 
-
 #       Markdown Parsing
 
-ONELINE_COMMENT_RE = re.compile(r"""
+ONELINE_COMMENT_RE = re.compile(
+    r"""
     ^                       # comment must be at the start of the line
     \s*                     # arbitrary whitespace
     //                      # start of the comment
@@ -121,22 +122,26 @@ ONELINE_COMMENT_RE = re.compile(r"""
 """, re.MULTILINE | re.VERBOSE
 )
 
-INLINE_COMMENT_RE = re.compile(r"""
+INLINE_COMMENT_RE = re.compile(
+    r"""
     ([\,\"\[\]\{\}\d])      # anythig that might end a expression
     \s+                     # comment must be preceded by whitespace
     //                      # start of the comment
     \s                      # and succeded by whitespace
     (?:[^\"\]\}\{\[]*)      # the comment (except things which might be json)
     $                       # until the end of line
-""", re.MULTILINE | re.VERBOSE)
+""", re.MULTILINE | re.VERBOSE
+)
 
-TRAILING_COMMA_RE = re.compile(r"""
+TRAILING_COMMA_RE = re.compile(
+    r"""
     ,                       # the comma
     (?:\s*)                 # arbitrary whitespace
     $                       # only works if the trailing comma is followed by newline
     (\s*)                   # arbitrary whitespace
     ([\]\}])                # end of an array or object
-""", re.MULTILINE | re.VERBOSE)
+""", re.MULTILINE | re.VERBOSE
+)
 
 
 def loads(raw_data):
@@ -178,9 +183,7 @@ def parse_config(path):
     def end_section():
         if section['start_line'] >= 0:
             if section['name'] == 'layout_config':
-                config.update(loads("\n".join(
-                    section['code_lines']
-                )))
+                config.update(loads("\n".join(section['code_lines'])))
             elif section['sub_name'].startswith('layer'):
                 layer_name = section['sub_name']
                 config['layer_lines'][layer_name] = section['code_lines']
@@ -215,6 +218,7 @@ def parse_config(path):
     assert 'layout' in config
     return config
 
+
 #       header file parsing
 
 IF0_RE = re.compile(r"""
@@ -224,7 +228,6 @@ IF0_RE = re.compile(r"""
     #endif
 """, re.MULTILINE | re.DOTALL | re.VERBOSE)
 
-
 COMMENT_RE = re.compile(r"""
     /\*
     .*?
@@ -244,6 +247,7 @@ def regex_partial(re_str_fmt, flags):
     def partial(*args, **kwargs):
         re_str = re_str_fmt.format(*args, **kwargs)
         return re.compile(re_str, flags)
+
     return partial
 
 
@@ -256,7 +260,6 @@ KEYDEF_REP = regex_partial(r"""
     )                   # capture group end
 """, re.MULTILINE | re.DOTALL | re.VERBOSE)
 
-
 ENUM_RE = re.compile(r"""
     (
         enum
@@ -268,7 +271,6 @@ ENUM_RE = re.compile(r"""
     )                   # capture group end
 """, re.MULTILINE | re.DOTALL | re.VERBOSE)
 
-
 ENUM_KEY_REP = regex_partial(r"""
     (
         {}              # the prefixes
@@ -309,14 +311,13 @@ def parse_valid_keys(config, out_path):
         include_path = os.path.join(dirpath, include)
         if os.path.exists(include_path):
             header_data = read_header_file(include_path)
-            valid_keycodes.update(
-                parse_keydefs(config, header_data)
-            )
+            valid_keycodes.update(parse_keydefs(config, header_data))
     return valid_keycodes
 
 
 #       Keymap Parsing
 
+
 def iter_raw_codes(layer_lines, filler, separator):
     filler_re = re.compile("[" + filler + " ]")
     for line in layer_lines:
@@ -346,28 +347,21 @@ LAYER_CHANGE_RE = re.compile(r"""
     (DF|TG|MO)\(\d+\)
 """, re.VERBOSE)
 
-
 MACRO_RE = re.compile(r"""
     M\(\w+\)
 """, re.VERBOSE)
 
-
 UNICODE_RE = re.compile(r"""
     U[0-9A-F]{4}
 """, re.VERBOSE)
 
-
 NON_CODE = re.compile(r"""
     ^[^A-Z0-9_]$
 """, re.VERBOSE)
 
 
 def parse_uni_code(raw_code):
-    macro_id = "UC_" + (
-        unicodedata.name(raw_code)
-        .replace(" ", "_")
-        .replace("-", "_")
-    )
+    macro_id = "UC_" + (unicodedata.name(raw_code).replace(" ", "_").replace("-", "_"))
     code = "M({})".format(macro_id)
     uc_hex = "{:04X}".format(ord(raw_code))
     return code, macro_id, uc_hex
@@ -407,19 +401,13 @@ def parse_code(raw_code, key_prefixes, valid_keycodes):
 
 def parse_keymap(config, key_indexes, layer_lines, valid_keycodes):
     keymap = {}
-    raw_codes = list(iter_raw_codes(
-        layer_lines, config['filler'], config['separator']
-    ))
+    raw_codes = list(iter_raw_codes(layer_lines, config['filler'], config['separator']))
     indexed_codes = iter_indexed_codes(raw_codes, key_indexes)
     key_prefixes = config['key_prefixes']
     for raw_code, key_index, row_index in indexed_codes:
-        code, macro_id, uc_hex = parse_code(
-            raw_code, key_prefixes, valid_keycodes
-        )
+        code, macro_id, uc_hex = parse_code(raw_code, key_prefixes, valid_keycodes)
         # TODO: line numbers for invalid codes
-        err_msg = "Could not parse key '{}' on row {}".format(
-            raw_code, row_index
-        )
+        err_msg = "Could not parse key '{}' on row {}".format(raw_code, row_index)
         assert code is not None, err_msg
         # print(repr(raw_code), repr(code), macro_id, uc_hex)
         if macro_id:
@@ -432,17 +420,14 @@ def parse_keymap(config, key_indexes, layer_lines, valid_keycodes):
 
 def parse_keymaps(config, valid_keycodes):
     keymaps = collections.OrderedDict()
-    key_indexes = config.get(
-        'key_indexes', KEYBOARD_LAYOUTS[config['layout']]
-    )
+    key_indexes = config.get('key_indexes', KEYBOARD_LAYOUTS[config['layout']])
     # TODO: maybe validate key_indexes
 
     for layer_name, layer_lines, in config['layer_lines'].items():
-        keymaps[layer_name] = parse_keymap(
-            config, key_indexes, layer_lines, valid_keycodes
-        )
+        keymaps[layer_name] = parse_keymap(config, key_indexes, layer_lines, valid_keycodes)
     return keymaps
 
+
 #       keymap.c output
 
 USERCODE = """
@@ -453,7 +438,7 @@ void matrix_init_user(void) {
 
 // Runs constantly in the background, in a loop.
 void matrix_scan_user(void) {
-    uint8_t layer = biton32(layer_state);
+    uint8_t layer = get_highest_layer(layer_state);
 
     ergodox_board_led_off();
     ergodox_right_led_1_off();
@@ -572,7 +557,6 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {{
 }};
 """
 
-
 UNICODE_MACRO_TEMPLATE = """
 case {macro_id}:
     unicode_action_function(0x{hi:02x}, 0x{lo:02x});
@@ -584,9 +568,7 @@ def unicode_macro_cases(config):
     for macro_id, uc_hex in config['unicode_macros'].items():
         hi = int(uc_hex, 16) >> 8
         lo = int(uc_hex, 16) & 0xFF
-        yield UNICODE_MACRO_TEMPLATE.format(
-            macro_id=macro_id, hi=hi, lo=lo
-        )
+        yield UNICODE_MACRO_TEMPLATE.format(macro_id=macro_id, hi=hi, lo=lo)
 
 
 def iter_keymap_lines(keymap, row_indents=None):
diff --git a/layouts/community/ergodox/german-manuneo/keymap.c b/layouts/community/ergodox/german-manuneo/keymap.c
index 9b24df83db..b6217800c3 100644
--- a/layouts/community/ergodox/german-manuneo/keymap.c
+++ b/layouts/community/ergodox/german-manuneo/keymap.c
@@ -741,7 +741,7 @@ void matrix_init_user(void) {
 
 // Runs constantly in the background, in a loop.
 void matrix_scan_user(void) {
-    uint8_t layer = biton32(layer_state);
+    uint8_t layer = get_highest_layer(layer_state);
 
     ergodox_board_led_off();
     ergodox_right_led_1_off();
diff --git a/layouts/community/ergodox/german/keymap.c b/layouts/community/ergodox/german/keymap.c
index 99dda5185c..150aaf3a73 100644
--- a/layouts/community/ergodox/german/keymap.c
+++ b/layouts/community/ergodox/german/keymap.c
@@ -140,7 +140,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 // Runs constantly in the background, in a loop.
 void matrix_scan_user(void) {
 
-    uint8_t layer = biton32(layer_state);
+    uint8_t layer = get_highest_layer(layer_state);
 
     ergodox_board_led_off();
     ergodox_right_led_1_off();
diff --git a/layouts/community/ergodox/haegin/keymap.c b/layouts/community/ergodox/haegin/keymap.c
index c3c2afecb8..cf5db6333b 100644
--- a/layouts/community/ergodox/haegin/keymap.c
+++ b/layouts/community/ergodox/haegin/keymap.c
@@ -226,7 +226,7 @@ qk_tap_dance_action_t tap_dance_actions[] = {
 // Runs constantly in the background, in a loop.
 void matrix_scan_user(void) {
 
-    uint8_t layer = biton32(layer_state);
+    uint8_t layer = get_highest_layer(layer_state);
 
     ergodox_board_led_off();
     ergodox_right_led_1_off();
diff --git a/layouts/community/ergodox/ishigoya-jp/keymap.c b/layouts/community/ergodox/ishigoya-jp/keymap.c
index e9d89d1bbc..8fe2b7e415 100644
--- a/layouts/community/ergodox/ishigoya-jp/keymap.c
+++ b/layouts/community/ergodox/ishigoya-jp/keymap.c
@@ -109,7 +109,7 @@ static uint16_t start;
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 /* Keymap 0: Basic layer
  *
- * 
+ *
  * ,----------------------------------------------------.           ,--------------------------------------------------.
  * | En / 和  |      |   ^  |   %  |      |      |Selall|           | Undo |      |   $  |   @  |   LT |  UP  |   RT   |
  * |----------+------+------+------+------+-------------|           |------+------+------+------+------+------+--------|
@@ -129,9 +129,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  *                                 |      |      | Num  |       |  Esc |        |      |
  *                                 `--------------------'       `----------------------'
  *
- * 
+ *
  * tmux prefix set to C-b
- * 
+ *
  */
 // If it accepts an argument (i.e, is a function), it doesn't need KC_.
 // Otherwise, it needs KC_*
@@ -175,9 +175,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  *                                 | shift|  fn  |------|       |------|      |kazari|
  *                                 |      |      | Num  |       |      |      |      |
  *                                 `--------------------'       `--------------------'
- * 
- * 
- * 
+ *
+ *
+ *
  */
 [JP] = LAYOUT_ergodox(
        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
@@ -218,14 +218,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  *                                 |      |      |------|       |------|      |      |
  *                                 |      |      |      |       |      |      |      |
  *                                 `--------------------'       `--------------------'
- * 
- * 
- * 
+ *
+ *
+ *
  */
 [JPXON] = LAYOUT_ergodox(
 	   KC_NO, KC_NO,    KC_NO,        KC_NO,    KC_NO, KC_NO, KC_NO,
 	   KC_NO, KC_NO,    M(JPXE),        KC_NO,    M(JPXKE),   KC_NO, KC_NO,
-       KC_NO, KC_NO,    KC_NO,          M(JPXKA),      KC_NO, KC_NO, 
+       KC_NO, KC_NO,    KC_NO,          M(JPXKA),      KC_NO, KC_NO,
        KC_NO, KC_NO,    KC_NO,        KC_NO,    KC_NO, KC_NO, KC_NO,
        KC_TRNS, KC_NO,    KC_NO,        KC_NO,    KC_NO,
                                            KC_NO, KC_NO,
@@ -261,14 +261,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  *                                 |      |      |------|       |------|      |      |
  *                                 |      |      |      |       |      |      |      |
  *                                 `--------------------'       `--------------------'
- * 
- * 
- * 
+ *
+ *
+ *
  */
 [JPKAZARI] = LAYOUT_ergodox(
 	   KC_NO, KC_NO,    KC_NO,        KC_NO,    KC_NO, KC_NO, KC_NO,
 	   KC_NO, KC_NO,    M(JPGO),        M(JPZA),    M(JPBE), M(JPGE), KC_NO,
-       KC_NO, M(JPDO),    M(JPJI),        M(JPGA),    M(JPGI), M(JPZU), 
+       KC_NO, M(JPDO),    M(JPJI),        M(JPGA),    M(JPGI), M(JPZU),
        KC_NO, KC_NO,    M(JPZO),        M(JPBI),    M(JPDI), KC_NO, KC_NO,
        KC_TRNS, KC_NO,    KC_NO,        KC_NO,    KC_NO,
                                            KC_NO, KC_NO,
@@ -304,14 +304,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  *                                 |      |      |------|       |------|      |      |
  *                                 |      |      |      |       |      |      |      |
  *                                 `--------------------'       `--------------------'
- * 
- * 
- * 
+ *
+ *
+ *
  */
 [JPTOPROW] = LAYOUT_ergodox(
 	   KC_NO, KC_NO,    KC_NO,        KC_NO,    KC_NO,   KC_NO, KC_NO,
 	   KC_NO, KC_NO,    KC_E,       KC_MINS,  M(JPRE), KC_NO, KC_NO,
-       KC_NO, M(JPRA),  M(JPRI),       M(JPNA),  M(JPNO), M(JPMI), 
+       KC_NO, M(JPRA),  M(JPRI),       M(JPNA),  M(JPNO), M(JPMI),
        KC_NO, KC_NO, KC_NO,    KC_NO,  KC_NO, KC_NO, KC_NO,
        KC_TRNS, KC_NO,    KC_NO,        KC_NO,    KC_NO,
                                            KC_NO, KC_NO,
@@ -348,14 +348,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  *                                 |      |      |------|       |------|      |      |
  *                                 |      |      |      |       |      |      |      |
  *                                 `--------------------'       `--------------------'
- * 
- * 
- * 
+ *
+ *
+ *
  */
 [JPTRKZ] = LAYOUT_ergodox(
 	   KC_NO, KC_NO,    KC_NO,        KC_NO,    KC_NO, KC_NO, KC_NO,
 	   KC_NO, KC_NO,    KC_NO,        KC_NO,    M(JPPE),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,        M(JPPI),    KC_NO, KC_NO, KC_NO,
        KC_TRNS, KC_NO,    KC_NO,        KC_NO,    KC_NO,
                                            KC_NO, KC_NO,
@@ -397,7 +397,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
        // left hand
 	   KC_NO, KC_F1,      KC_F2,          KC_F3,      KC_F4,   KC_F5,   KC_NO,
 	   KC_NO, KC_NO,    KC_NO,        JP_DQUO,   KC_RBRACKET,   KC_BSPC, KC_SCLN,
-       KC_NO, KC_NO,    KC_SLSH,        JP_PLUS,    LSFT(KC_RBRACKET),   JP_RCBR, 
+       KC_NO, KC_NO,    KC_SLSH,        JP_PLUS,    LSFT(KC_RBRACKET),   JP_RCBR,
        KC_NO, KC_NO,    JP_ASTR,        KC_MINS,    LSFT(KC_8), LSFT(KC_9), JP_COLN,
        KC_TRNS, KC_NO,    KC_NO,        KC_NO,    KC_HASH,
                                            KC_NO, KC_NO,
@@ -417,7 +417,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
 const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
 {
-	
+
   // MACRO only works in this function
 	switch(id) {
 		case 0:
@@ -445,9 +445,9 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
 				}
 			}
 			break;
-			
+
 		// kana macros start here
-			
+
 		case JPVU:
 			if (record->event.pressed) {
 				return MACRO( I(1), T(V), T(U), END);
@@ -641,7 +641,7 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
 		case JPDI:
 			if (record->event.pressed) {
 				return MACRO( I(1), T(D), T(I), END);
-			} 
+			}
 			break;
 		case JPZE:
 			if (record->event.pressed) {
@@ -838,9 +838,9 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
 				return MACRO( I(1), T(B), T(U), END);
 			}
 			break;
-			
+
 			// kana macros end here
-			
+
 			break;
 		case SHIFT:
 		if (record->event.pressed) {
@@ -848,8 +848,8 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
 			if (layer_state == (1<<JPKAZARI)) {
 				layer_state = (1<<JPTOPROW)| (1<<JPTRKZ);
 			} else {
-				layer_state = (1<<JPTOPROW);							
-			} 
+				layer_state = (1<<JPTOPROW);
+			}
       } else {
 			layer_state = (0<<JPTOPROW);
 			clear_keyboard_but_mods();
@@ -864,8 +864,8 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
 			if (layer_state == (1<<JPTOPROW)) {
 				layer_state = (1<<JPKAZARI)| (1<<JPTRKZ);
 			} else {
-				layer_state = (1<<JPKAZARI);							
-			} 
+				layer_state = (1<<JPKAZARI);
+			}
 			break;
       } else {
 		  	layer_state = (0<<JPKAZARI);
@@ -874,7 +874,7 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
           return MACRO( T(ENTER), END);
         }
       }
-      break;  
+      break;
 		case JPFN:
 			if (record->event.pressed) {
 				start = timer_read();
@@ -917,7 +917,7 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
 			break;
 */
 		}
-    return MACRO_NONE;   
+    return MACRO_NONE;
 };
 
 // Runs just one time when the keyboard initializes.
@@ -927,15 +927,15 @@ void matrix_init_user(void) {
 // Runs constantly in the background, in a loop.
 void matrix_scan_user(void) {
 
-	uint8_t layer = biton32(layer_state);
-   uint8_t deflayer = biton32(default_layer_state);
+	uint8_t layer = get_highest_layer(layer_state);
+   uint8_t deflayer = get_highest_layer(default_layer_state);
 
 	ergodox_board_led_off();
 	ergodox_right_led_1_off();
 	ergodox_right_led_2_off();
 	ergodox_right_led_3_off();
-    
-  
+
+
 	switch (layer) {
 		case 0:
 			//none
diff --git a/layouts/community/ergodox/issmirnov/keymap.c b/layouts/community/ergodox/issmirnov/keymap.c
index b129148b08..2743a04e93 100644
--- a/layouts/community/ergodox/issmirnov/keymap.c
+++ b/layouts/community/ergodox/issmirnov/keymap.c
@@ -125,7 +125,7 @@ _______, _______, KC_LGUI
 
 // called by QMK during key processing before the actual key event is handled. Useful for macros.
 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
-  uint8_t layer = biton32(layer_state);
+  uint8_t layer = get_highest_layer(layer_state);
   switch (keycode) {
     case TAP_TOG_LAYER:
       process_tap_tog(_SYMB,record);
@@ -157,7 +157,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
 // Runs constantly in the background, in a loop every 100ms or so.
 // Best used for LED status output triggered when user isn't actively typing.
 void matrix_scan_user(void) {
-  uint8_t layer = biton32(layer_state);
+  uint8_t layer = get_highest_layer(layer_state);
   if (layer == 0) {
     // Set up LED indicators for stuck modifier keys.
     // https://github.com/qmk/qmk_firmware/blob/master/tmk_core/common/report.h#L118
@@ -202,7 +202,7 @@ void matrix_scan_user(void) {
 
 // only runs when when the layer is changed, good for updating LED's and clearing sticky state
 layer_state_t layer_state_set_user(layer_state_t state) {
-  uint8_t layer = biton32(state);
+  uint8_t layer = get_highest_layer(state);
 
   ergodox_board_led_off();
   ergodox_right_led_1_off();
diff --git a/layouts/community/ergodox/italian/keymap.c b/layouts/community/ergodox/italian/keymap.c
index 64dd51db67..3a81cc213b 100644
--- a/layouts/community/ergodox/italian/keymap.c
+++ b/layouts/community/ergodox/italian/keymap.c
@@ -43,7 +43,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
         KC_GRV,                      KC_1,         KC_2,   KC_3,   KC_4,   KC_5,   KC_ESC,
         KC_TAB,                      KC_Q,         KC_W,   KC_E,   KC_R,   KC_T,   TT(SYMB),
         KC_CAPS,                     KC_A,         KC_S,   KC_D,   KC_F,   KC_G,
-        KC_LSFT,                     KC_Z,         KC_X,   KC_C,   KC_V,   KC_B,   KC_LALT, 
+        KC_LSFT,                     KC_Z,         KC_X,   KC_C,   KC_V,   KC_B,   KC_LALT,
         MT(MOD_LGUI,KC_NONUS_BSLASH),KC_PPLS,      KC_PMNS,KC_PAST,MT(MOD_LCTL,KC_PSLS),
                                                            KC_INS,  KC_LGUI,
                                                                     KC_HOME,
@@ -197,7 +197,7 @@ void matrix_init_user(void) {
 // Runs constantly in the background, in a loop.
 void matrix_scan_user(void) {
 
-    uint8_t layer = biton32(layer_state);
+    uint8_t layer = get_highest_layer(layer_state);
 
     ergodox_board_led_off();
     ergodox_right_led_1_off();
diff --git a/layouts/community/ergodox/j3rn/keymap.c b/layouts/community/ergodox/j3rn/keymap.c
index 5081ddf527..8ff8db2381 100644
--- a/layouts/community/ergodox/j3rn/keymap.c
+++ b/layouts/community/ergodox/j3rn/keymap.c
@@ -141,7 +141,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 // Runs constantly in the background, in a loop.
 void matrix_scan_user(void) {
 
-    uint8_t layer = biton32(layer_state);
+    uint8_t layer = get_highest_layer(layer_state);
 
     ergodox_board_led_off();
     ergodox_right_led_1_off();
diff --git a/layouts/community/ergodox/jackhumbert/keymap.c b/layouts/community/ergodox/jackhumbert/keymap.c
index 9d357881e2..b6d1b33e33 100644
--- a/layouts/community/ergodox/jackhumbert/keymap.c
+++ b/layouts/community/ergodox/jackhumbert/keymap.c
@@ -23,7 +23,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
              KC_NO,     RGB_TOG,   RGB_MOD,   RGB_HUI,   RGB_HUD,   KC_P,             KC_BSPC,
                         RGB_SAI,   RGB_SAD,   RGB_VAI,   RGB_VAD,   KC_SCLN,          KC_QUOT,
              KC_NO,     KC_N,   KC_M,   KC_COMM,KC_DOT, KC_SLSH,          KC_ENT,
-                                  MO(1), KC_LEFT,KC_DOWN,KC_UP,  KC_RGHT,  
+                                  MO(1), KC_LEFT,KC_DOWN,KC_UP,  KC_RGHT,
              RGB_TOG,        RGB_HUI,
              RGB_MOD,
              M(2), KC_SPC,KC_SPC
@@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
        // left hand
        KC_TRNS,KC_F1,  KC_F2,  KC_F3,  KC_F4,  KC_F5,  KC_TRNS,
        KC_GRV,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,  KC_TRNS,
-       KC_TRNS, KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5, 
+       KC_TRNS, KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,
        KC_TRNS, KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,KC_TRNS,
        KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
                                        KC_TRNS,KC_TRNS,
@@ -43,7 +43,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
        KC_TRNS, KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_BSPC,
                 KC_F6,   KC_MINS, KC_EQL,  KC_LBRC, KC_RBRC, KC_BSLS,
        KC_TRNS, KC_F12,  KC_NO,   KC_NO, KC_NO, RESET,   KC_TRNS,
-                         KC_TRNS, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY, 
+                         KC_TRNS, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY,
        KC_TRNS, KC_TRNS,
        KC_TRNS,
        KC_TRNS, KC_TRNS, KC_TRNS
@@ -51,9 +51,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 [MDIA] = LAYOUT_ergodox(
        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
        KC_TILD, KC_EXLM, KC_AT,   KC_HASH, KC_DLR,  KC_PERC, KC_TRNS,
-       KC_TRNS, KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,  
+       KC_TRNS, KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,
        KC_TRNS, KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_TRNS,
-       KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 
+       KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
                                            KC_TRNS, KC_TRNS,
                                                     KC_TRNS,
                                   KC_TRNS, KC_TRNS, KC_TRNS,
@@ -62,7 +62,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
        KC_TRNS,  KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
                  KC_F6,   KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
        KC_TRNS,  KC_F12,  KC_NO,   KC_NO, KC_NO, RESET,   KC_TRNS,
-                          KC_TRNS, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY, 
+                          KC_TRNS, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY,
        KC_TRNS, KC_TRNS,
        KC_TRNS,
        KC_TRNS, KC_TRNS, KC_TRNS
@@ -97,7 +97,7 @@ void matrix_init_user(void) {
 // Runs constantly in the background, in a loop.
 void matrix_scan_user(void) {
 
-    uint8_t layer = biton32(layer_state);
+    uint8_t layer = get_highest_layer(layer_state);
 
     ergodox_board_led_off();
     ergodox_right_led_1_off();
diff --git a/layouts/community/ergodox/jacobono/keymap.c b/layouts/community/ergodox/jacobono/keymap.c
index e97209fc84..7c5b914872 100644
--- a/layouts/community/ergodox/jacobono/keymap.c
+++ b/layouts/community/ergodox/jacobono/keymap.c
@@ -227,7 +227,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 // Runs constantly in the background, in a loop.
 void matrix_scan_user(void) {
 
-	uint8_t layer = biton32(layer_state);
+	uint8_t layer = get_highest_layer(layer_state);
 
 	ergodox_board_led_off();
 	ergodox_right_led_1_off();
diff --git a/layouts/community/ergodox/jafo/keymap.c b/layouts/community/ergodox/jafo/keymap.c
index b8b8e63517..28c95d6540 100644
--- a/layouts/community/ergodox/jafo/keymap.c
+++ b/layouts/community/ergodox/jafo/keymap.c
@@ -139,7 +139,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 // Runs constantly in the background, in a loop.
 void matrix_scan_user(void) {
 
-    uint8_t layer = biton32(layer_state);
+    uint8_t layer = get_highest_layer(layer_state);
 
     ergodox_board_led_off();
     ergodox_right_led_1_off();
diff --git a/layouts/community/ergodox/jgarr/keymap.c b/layouts/community/ergodox/jgarr/keymap.c
index ac4e562263..38eaa5fca0 100644
--- a/layouts/community/ergodox/jgarr/keymap.c
+++ b/layouts/community/ergodox/jgarr/keymap.c
@@ -138,7 +138,7 @@ LAYOUT_ergodox(
 // Runs constantly in the background, in a loop.
 void matrix_scan_user(void) {
 
-    uint8_t layer = biton32(layer_state);
+    uint8_t layer = get_highest_layer(layer_state);
 
     ergodox_board_led_off();
     ergodox_right_led_1_off();
diff --git a/layouts/community/ergodox/josh/keymap.c b/layouts/community/ergodox/josh/keymap.c
index 07ee97ec82..3f9d8779e1 100644
--- a/layouts/community/ergodox/josh/keymap.c
+++ b/layouts/community/ergodox/josh/keymap.c
@@ -188,7 +188,7 @@ void matrix_init_user(void) {
 // Runs constantly in the background, in a loop.
 void matrix_scan_user(void) {
 
-    uint8_t layer = biton32(layer_state);
+    uint8_t layer = get_highest_layer(layer_state);
 
     ergodox_board_led_off();
     ergodox_right_led_1_off();
diff --git a/layouts/community/ergodox/kastyle/keymap.c b/layouts/community/ergodox/kastyle/keymap.c
index c9789955b3..268080c7dc 100644
--- a/layouts/community/ergodox/kastyle/keymap.c
+++ b/layouts/community/ergodox/kastyle/keymap.c
@@ -1,5 +1,5 @@
 /* Setup to approximate a Kinesis Advantage with an eye to use in a
- * Mac/OSX environment 
+ * Mac/OSX environment
  * This version adds a hand swap feature to flip the keyboard */
 #include QMK_KEYBOARD_H
 #include "debug.h"
@@ -143,7 +143,7 @@ LAYOUT_ergodox(
 // Runs constantly in the background, in a loop.
 void matrix_scan_user(void) {
 
-    uint8_t layer = biton32(layer_state);
+    uint8_t layer = get_highest_layer(layer_state);
 
     ergodox_board_led_off();
     ergodox_right_led_1_off();
diff --git a/layouts/community/ergodox/kejadlen/keymap.c b/layouts/community/ergodox/kejadlen/keymap.c
index 6ce209f806..92a667dec0 100644
--- a/layouts/community/ergodox/kejadlen/keymap.c
+++ b/layouts/community/ergodox/kejadlen/keymap.c
@@ -74,7 +74,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 };
 
 void matrix_scan_user(void) {
-    uint8_t layer = biton32(layer_state);
+    uint8_t layer = get_highest_layer(layer_state);
 
     ergodox_board_led_off();
     ergodox_right_led_1_off();
diff --git a/layouts/community/ergodox/kines-ish/keymap.c b/layouts/community/ergodox/kines-ish/keymap.c
index 2d1513667f..718bf6cee1 100644
--- a/layouts/community/ergodox/kines-ish/keymap.c
+++ b/layouts/community/ergodox/kines-ish/keymap.c
@@ -138,7 +138,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 // Runs constantly in the background, in a loop.
 void matrix_scan_user(void) {
 
-    uint8_t layer = biton32(layer_state);
+    uint8_t layer = get_highest_layer(layer_state);
 
     ergodox_board_led_off();
     ergodox_right_led_1_off();
diff --git a/layouts/community/ergodox/kristian/keymap.c b/layouts/community/ergodox/kristian/keymap.c
index 3fdccb790a..3f84823b99 100644
--- a/layouts/community/ergodox/kristian/keymap.c
+++ b/layouts/community/ergodox/kristian/keymap.c
@@ -35,7 +35,7 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
 
 void matrix_scan_user(void) {
 
-    uint8_t layer = biton32(layer_state);
+    uint8_t layer = get_highest_layer(layer_state);
 
     ergodox_board_led_off();
     ergodox_right_led_1_off();
diff --git a/layouts/community/ergodox/maz/keymap.c b/layouts/community/ergodox/maz/keymap.c
index 3244f2152d..4d313dee43 100644
--- a/layouts/community/ergodox/maz/keymap.c
+++ b/layouts/community/ergodox/maz/keymap.c
@@ -183,7 +183,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 // Runs constantly in the background, in a loop.
 void matrix_scan_user(void) {
 
-    uint8_t layer = biton32(layer_state);
+    uint8_t layer = get_highest_layer(layer_state);
 
     ergodox_board_led_off();
     ergodox_right_led_1_off();
diff --git a/layouts/community/ergodox/mclennon_osx/keymap.c b/layouts/community/ergodox/mclennon_osx/keymap.c
index 72e9d505a1..ae67d8fb40 100644
--- a/layouts/community/ergodox/mclennon_osx/keymap.c
+++ b/layouts/community/ergodox/mclennon_osx/keymap.c
@@ -98,7 +98,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 // Runs constantly in the background, in a loop.
 void matrix_scan_user(void) {
 
-    uint8_t layer = biton32(layer_state);
+    uint8_t layer = get_highest_layer(layer_state);
 
     ergodox_board_led_off();
     ergodox_right_led_1_off();
diff --git a/layouts/community/ergodox/meagerfindings/keymap.c b/layouts/community/ergodox/meagerfindings/keymap.c
index f4340b8e1b..c780c1a9fb 100644
--- a/layouts/community/ergodox/meagerfindings/keymap.c
+++ b/layouts/community/ergodox/meagerfindings/keymap.c
@@ -538,7 +538,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
 };
 
 void matrix_scan_user(void) {
-  uint8_t layer = biton32(layer_state);
+  uint8_t layer = get_highest_layer(layer_state);
 
   ergodox_board_led_off();
   ergodox_right_led_1_off();
diff --git a/layouts/community/ergodox/msc/keymap.c b/layouts/community/ergodox/msc/keymap.c
index 5d9de3239b..62d18798dd 100644
--- a/layouts/community/ergodox/msc/keymap.c
+++ b/layouts/community/ergodox/msc/keymap.c
@@ -138,7 +138,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 // Runs constantly in the background, in a loop.
 void matrix_scan_user(void) {
 
-    uint8_t layer = biton32(layer_state);
+    uint8_t layer = get_highest_layer(layer_state);
 
     ergodox_board_led_off();
     ergodox_right_led_1_off();
diff --git a/layouts/community/ergodox/naps62/keymap.c b/layouts/community/ergodox/naps62/keymap.c
index 230b3376b2..fe6289097b 100644
--- a/layouts/community/ergodox/naps62/keymap.c
+++ b/layouts/community/ergodox/naps62/keymap.c
@@ -141,7 +141,7 @@ LAYOUT_ergodox(
 // Runs constantly in the background, in a loop.
 void matrix_scan_user(void) {
 
-    uint8_t layer = biton32(layer_state);
+    uint8_t layer = get_highest_layer(layer_state);
 
     ergodox_board_led_off();
     ergodox_right_led_1_off();
diff --git a/layouts/community/ergodox/neo2_on_qwertz_hardware/keymap.c b/layouts/community/ergodox/neo2_on_qwertz_hardware/keymap.c
index 7c91b3fbb0..7c57820c43 100644
--- a/layouts/community/ergodox/neo2_on_qwertz_hardware/keymap.c
+++ b/layouts/community/ergodox/neo2_on_qwertz_hardware/keymap.c
@@ -5,7 +5,7 @@
 #define UM 0
 
 #define L0   0      // layer_0
-#define L1   1      // layer_1  
+#define L1   1      // layer_1
 #define L2   2      // layer_2
 #define L3   3      // layer_3
 #define L4   4      // layer_4
@@ -344,7 +344,7 @@ void unicode_action_function(uint16_t hi, uint16_t lo) {
 
 // Runs constantly in the background, in a loop.
 void matrix_scan_user(void) {
-    uint8_t layer = biton32(layer_state);
+    uint8_t layer = get_highest_layer(layer_state);
 
     ergodox_board_led_off();
     ergodox_right_led_1_off();
diff --git a/layouts/community/ergodox/osx_de/keymap.c b/layouts/community/ergodox/osx_de/keymap.c
index 5c3d7e49ea..cbbfc42280 100644
--- a/layouts/community/ergodox/osx_de/keymap.c
+++ b/layouts/community/ergodox/osx_de/keymap.c
@@ -31,117 +31,117 @@
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 [BASE]=LAYOUT_ergodox(
 //left half
-    KC_ESC, DE_1, DE_2, DE_3, DE_4, DE_5, M(M_CTL_SFT_HASH), 
-    KC_TAB, DE_Q, DE_W, DE_E, DE_R, DE_T, KC_LGUI, 
-    KC_LALT, DE_A, DE_S, DE_D, DE_F, DE_G, 
-    KC_LSFT, CTL_T(DE_Y), DE_X, DE_C, DE_V, DE_B, KC_LALT, 
-                  LT(SYMB,DE_LABK), M(M_DE_CIRC_CTRLCMD), M(M_DE_PLUS_CTRLALT), KC_UP, KC_DOWN, 
-                                              M(M_MEH_SH_ACUT), TG(MDIA), 
-                                                     KC_HOME, 
-                                       KC_BSPC, KC_DEL, LT(SMLY,KC_END), 
+    KC_ESC, DE_1, DE_2, DE_3, DE_4, DE_5, M(M_CTL_SFT_HASH),
+    KC_TAB, DE_Q, DE_W, DE_E, DE_R, DE_T, KC_LGUI,
+    KC_LALT, DE_A, DE_S, DE_D, DE_F, DE_G,
+    KC_LSFT, CTL_T(DE_Y), DE_X, DE_C, DE_V, DE_B, KC_LALT,
+                  LT(SYMB,DE_LABK), M(M_DE_CIRC_CTRLCMD), M(M_DE_PLUS_CTRLALT), KC_UP, KC_DOWN,
+                                              M(M_MEH_SH_ACUT), TG(MDIA),
+                                                     KC_HOME,
+                                       KC_BSPC, KC_DEL, LT(SMLY,KC_END),
     //right half
-    M(M_CTL_SFT_HASH), DE_6, DE_7, DE_8, DE_9, DE_0, DE_SS, 
-    KC_RGUI, DE_Z, DE_U, DE_I, DE_O, DE_P, DE_UDIA, 
-           DE_H, DE_J, DE_K, DE_L, DE_ODIA, ALT_T(DE_ADIA), 
-    KC_RALT, DE_N, DE_M, DE_COMM, DE_DOT, CTL_T(DE_MINS), KC_RSFT, 
-                         KC_LEFT, KC_RIGHT, LGUI(KC_LSFT), LALT(KC_LSFT), LT(SYMB,DE_PLUS), 
-    TG(NUMB), ALL_T(DE_ACUT), 
-    KC_PGUP, 
+    M(M_CTL_SFT_HASH), DE_6, DE_7, DE_8, DE_9, DE_0, DE_SS,
+    KC_RGUI, DE_Z, DE_U, DE_I, DE_O, DE_P, DE_UDIA,
+           DE_H, DE_J, DE_K, DE_L, DE_ODIA, ALT_T(DE_ADIA),
+    KC_RALT, DE_N, DE_M, DE_COMM, DE_DOT, CTL_T(DE_MINS), KC_RSFT,
+                         KC_LEFT, KC_RIGHT, LGUI(KC_LSFT), LALT(KC_LSFT), LT(SYMB,DE_PLUS),
+    TG(NUMB), ALL_T(DE_ACUT),
+    KC_PGUP,
     KC_PGDN, KC_ENT, KC_SPC),
 [SYMB]=LAYOUT_ergodox(
 //left half
-    KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS, 
-    KC_TRNS, DE_LABK, DE_RABK, DE_EXLM, DE_QUES, KC_TRNS, KC_TRNS, 
-    KC_TRNS, DE_HASH, DE_DLR, DE_BSLS, DE_SLSH, KC_DOT, 
-    KC_TRNS, KC_TRNS, DE_LABK, DE_PERC, DE_PIPE, DE_TILD, KC_TRNS, 
-                  KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 
-                                              KC_TRNS, KC_TRNS, 
-                                                     KC_TRNS, 
-                                       KC_TRNS, KC_DEL, KC_TRNS, 
+    KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS,
+    KC_TRNS, DE_LABK, DE_RABK, DE_EXLM, DE_QUES, KC_TRNS, KC_TRNS,
+    KC_TRNS, DE_HASH, DE_DLR, DE_BSLS, DE_SLSH, KC_DOT,
+    KC_TRNS, KC_TRNS, DE_LABK, DE_PERC, DE_PIPE, DE_TILD, KC_TRNS,
+                  KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+                                              KC_TRNS, KC_TRNS,
+                                                     KC_TRNS,
+                                       KC_TRNS, KC_DEL, KC_TRNS,
     //right half
-    M(M_TOGGLE_5), KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, 
-    KC_TRNS, LALT(LSFT(KC_7)), LALT(KC_5), LALT(KC_6), DE_LABK, DE_RABK, DE_EXLM, 
-           DE_SLSH, DE_LPRN, DE_RPRN, LALT(KC_8), LALT(KC_9), DE_HASH, 
-    KC_TRNS, DE_PIPE, DE_TILD, DE_CIRC, KC_UP, DE_MINS, LSFT(KC_4), 
-                         DE_QUOT, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, 
-    KC_F13, KC_F12, 
-    KC_F14, 
+    M(M_TOGGLE_5), KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
+    KC_TRNS, LALT(LSFT(KC_7)), LALT(KC_5), LALT(KC_6), DE_LABK, DE_RABK, DE_EXLM,
+           DE_SLSH, DE_LPRN, DE_RPRN, LALT(KC_8), LALT(KC_9), DE_HASH,
+    KC_TRNS, DE_PIPE, DE_TILD, DE_CIRC, KC_UP, DE_MINS, LSFT(KC_4),
+                         DE_QUOT, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS,
+    KC_F13, KC_F12,
+    KC_F14,
     KC_F15, KC_TRNS, KC_TRNS),
 [MDIA]=LAYOUT_ergodox(
 //left half
-    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 
-    KC_TRNS, KC_TRNS, KC_BTN1, KC_MS_U, KC_BTN2, KC_WH_U, KC_TRNS, 
-    KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, 
-    KC_TRNS, KC_TRNS, KC_WH_L, KC_WH_D, KC_WH_R, KC_BTN3, KC_TRNS, 
-                  KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 
-                                              KC_TRNS, KC_TRNS, 
-                                                     KC_TRNS, 
-                                       KC_TRNS, KC_TRNS, KC_TRNS, 
+    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+    KC_TRNS, KC_TRNS, KC_BTN1, KC_MS_U, KC_BTN2, KC_WH_U, KC_TRNS,
+    KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D,
+    KC_TRNS, KC_TRNS, KC_WH_L, KC_WH_D, KC_WH_R, KC_BTN3, KC_TRNS,
+                  KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+                                              KC_TRNS, KC_TRNS,
+                                                     KC_TRNS,
+                                       KC_TRNS, KC_TRNS, KC_TRNS,
     //right half
-    KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, 
-    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 
-           KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 
-    KC_TRNS, KC_VOLD, KC_TRNS, KC_MPRV, KC_MNXT, KC_UP, KC_TRNS, 
-                         KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, 
-    KC_TRNS, KC_TRNS, 
-    KC_TRNS, 
+    KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY,
+    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+           KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+    KC_TRNS, KC_VOLD, KC_TRNS, KC_MPRV, KC_MNXT, KC_UP, KC_TRNS,
+                         KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT,
+    KC_TRNS, KC_TRNS,
+    KC_TRNS,
     KC_TRNS, KC_TRNS, KC_WBAK),
 [SMLY]=LAYOUT_ergodox(
 //left half
-    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 
-    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 
-    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 
-    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 
-                  KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 
-                                              KC_TRNS, KC_TRNS, 
-                                                     KC_TRNS, 
-                                       KC_TRNS, KC_TRNS, KC_TRNS, 
+    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+                  KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+                                              KC_TRNS, KC_TRNS,
+                                                     KC_TRNS,
+                                       KC_TRNS, KC_TRNS, KC_TRNS,
     //right half
-    M(SM_SMILE), M(SM_SMIRK), M(SM_LAUGH), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 
-    KC_TRNS, M(SM_FROWN), M(SM_SAD), M(SM_CRY), KC_TRNS, KC_TRNS, KC_TRNS, 
-           M(SM_HEART), M(SM_KISS), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 
-    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 
-                         KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 
-    KC_TRNS, KC_TRNS, 
-    KC_TRNS, 
+    M(SM_SMILE), M(SM_SMIRK), M(SM_LAUGH), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+    KC_TRNS, M(SM_FROWN), M(SM_SAD), M(SM_CRY), KC_TRNS, KC_TRNS, KC_TRNS,
+           M(SM_HEART), M(SM_KISS), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+                         KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+    KC_TRNS, KC_TRNS,
+    KC_TRNS,
     KC_TRNS, KC_TRNS, KC_TRNS),
 [NUMB]=LAYOUT_ergodox(
 //left half
-    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 
-    KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, 
-    KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, 
-    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 
-                  KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 
-                                              KC_TRNS, KC_TRNS, 
-                                                     KC_TRNS, 
-                                       KC_TRNS, KC_TRNS, KC_TRNS, 
+    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+    KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS,
+    KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS,
+    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+                  KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+                                              KC_TRNS, KC_TRNS,
+                                                     KC_TRNS,
+                                       KC_TRNS, KC_TRNS, KC_TRNS,
     //right half
-    KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, 
-    KC_TRNS, KC_UP, KC_7, KC_8, KC_9, LSFT(KC_RBRC), KC_F12, 
-           KC_DOWN, KC_4, KC_5, KC_6, KC_RBRC, DE_MINS, 
-    KC_TRNS, LSFT(KC_6), KC_1, KC_2, KC_3, LSFT(KC_7), KC_TRNS, 
-                         KC_0, KC_DOT, KC_COMM, DE_EQL, KC_TRNS, 
-    KC_TRNS, KC_TRNS, 
-    KC_TRNS, 
+    KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
+    KC_TRNS, KC_UP, KC_7, KC_8, KC_9, LSFT(KC_RBRC), KC_F12,
+           KC_DOWN, KC_4, KC_5, KC_6, KC_RBRC, DE_MINS,
+    KC_TRNS, LSFT(KC_6), KC_1, KC_2, KC_3, LSFT(KC_7), KC_TRNS,
+                         KC_0, KC_DOT, KC_COMM, DE_EQL, KC_TRNS,
+    KC_TRNS, KC_TRNS,
+    KC_TRNS,
     KC_TRNS, KC_TRNS, KC_TRNS),
 [EGOS]=LAYOUT_ergodox(
 //left half
-    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 
-    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 
-    KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 
-    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 
-                  KC_LCTL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 
-                                              KC_F1, KC_F2, 
-                                                     KC_F3, 
-                                       KC_SPC, KC_LCTL, KC_F4, 
+    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+    KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+                  KC_LCTL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+                                              KC_F1, KC_F2,
+                                                     KC_F3,
+                                       KC_SPC, KC_LCTL, KC_F4,
     //right half
-    M(M_TOGGLE_5), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 
-    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 
-           KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 
-    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 
-                         KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 
-    KC_TRNS, KC_TRNS, 
-    KC_TRNS, 
+    M(M_TOGGLE_5), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+           KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+                         KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+    KC_TRNS, KC_TRNS,
+    KC_TRNS,
     KC_TRNS, KC_TRNS, KC_TRNS),
 };
 
@@ -318,7 +318,7 @@ void matrix_init_user(void) {
 // Runs constantly in the background, in a loop.
 void matrix_scan_user(void) {
 
-uint8_t layer = biton32(layer_state);
+uint8_t layer = get_highest_layer(layer_state);
 
 ergodox_board_led_off();
 ergodox_right_led_1_off();
@@ -328,22 +328,22 @@ switch (layer) {
 
     case SYMB:
         ergodox_right_led_1_on();
-        
-        
+
+
         break;
     case MDIA:
-        
+
         ergodox_right_led_2_on();
-        
+
         break;
     case SMLY:
-        
-        
+
+
         ergodox_right_led_3_on();
         break;
     case NUMB:
         ergodox_right_led_1_on();
-        
+
         ergodox_right_led_3_on();
         break;
     case EGOS:
@@ -357,4 +357,3 @@ break;
 }
 
 };
-
diff --git a/layouts/community/ergodox/osx_de_adnw_koy/keymap.c b/layouts/community/ergodox/osx_de_adnw_koy/keymap.c
index b8ffc2e51f..cd09d066a6 100644
--- a/layouts/community/ergodox/osx_de_adnw_koy/keymap.c
+++ b/layouts/community/ergodox/osx_de_adnw_koy/keymap.c
@@ -27,105 +27,105 @@
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 [BASE]=LAYOUT_ergodox(
 //left half
-    KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LCTL, 
-    KC_TAB, KC_K, KC_DOT, KC_O, KC_COMM, KC_Z, KC_LGUI, 
-    TG(QWERTZ), KC_H, KC_A, KC_E, KC_I, KC_U, 
-    KC_LSFT, CTL_T(KC_X), KC_Q, DE_ADIA, DE_UDIA, DE_ODIA, KC_LALT, 
-                  LT(SYMB,KC_GRV), DE_LABK, LALT(KC_LSFT), KC_LEFT, KC_RGHT, 
-                                              TG(MDIA), MEH_T(LSFT(DE_ACUT)), 
-                                                     KC_HOME, 
-                                       KC_BSPC, KC_DEL, KC_END, 
+    KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LCTL,
+    KC_TAB, KC_K, KC_DOT, KC_O, KC_COMM, KC_Z, KC_LGUI,
+    TG(QWERTZ), KC_H, KC_A, KC_E, KC_I, KC_U,
+    KC_LSFT, CTL_T(KC_X), KC_Q, DE_ADIA, DE_UDIA, DE_ODIA, KC_LALT,
+                  LT(SYMB,KC_GRV), DE_LABK, LALT(KC_LSFT), KC_LEFT, KC_RGHT,
+                                              TG(MDIA), MEH_T(LSFT(DE_ACUT)),
+                                                     KC_HOME,
+                                       KC_BSPC, KC_DEL, KC_END,
     //right half
-    KC_RCTL, KC_6, KC_7, KC_8, KC_9, KC_0, DE_MINS, 
-    KC_RGUI, KC_V, KC_G, KC_C, KC_L, KC_MINS, KC_Y, 
-           KC_D, KC_T, KC_R, KC_N, KC_S, LT(MDIA,KC_F), 
-    KC_RALT, KC_B, KC_P, KC_W, KC_M, CTL_T(KC_J), KC_RSFT, 
-                         KC_UP, KC_DOWN, LGUI(KC_LSFT), KC_RBRC, LT(SYMB,KC_BSLS), 
-    ALL_T(DE_ACUT), TG(NUMB), 
-    KC_PGUP, 
+    KC_RCTL, KC_6, KC_7, KC_8, KC_9, KC_0, DE_MINS,
+    KC_RGUI, KC_V, KC_G, KC_C, KC_L, KC_MINS, KC_Y,
+           KC_D, KC_T, KC_R, KC_N, KC_S, LT(MDIA,KC_F),
+    KC_RALT, KC_B, KC_P, KC_W, KC_M, CTL_T(KC_J), KC_RSFT,
+                         KC_UP, KC_DOWN, LGUI(KC_LSFT), KC_RBRC, LT(SYMB,KC_BSLS),
+    ALL_T(DE_ACUT), TG(NUMB),
+    KC_PGUP,
     KC_PGDN, KC_ENT, KC_SPC),
 [SYMB]=LAYOUT_ergodox(
 //left half
-    KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS, 
-    KC_TRNS, KC_GRV, LSFT(KC_GRV), DE_EXLM, DE_QUES, KC_TRNS, KC_TRNS, 
-    KC_TRNS, DE_HASH, DE_DLR, LALT(LSFT(KC_7)), DE_SLSH, KC_DOT, 
-    KC_TRNS, KC_TRNS, DE_LABK, DE_PERC, LALT(KC_7), LALT(KC_N), KC_TRNS, 
-                  KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 
-                                              KC_TRNS, KC_TRNS, 
-                                                     KC_TRNS, 
-                                       KC_TRNS, KC_DEL, KC_TRNS, 
+    KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS,
+    KC_TRNS, KC_GRV, LSFT(KC_GRV), DE_EXLM, DE_QUES, KC_TRNS, KC_TRNS,
+    KC_TRNS, DE_HASH, DE_DLR, LALT(LSFT(KC_7)), DE_SLSH, KC_DOT,
+    KC_TRNS, KC_TRNS, DE_LABK, DE_PERC, LALT(KC_7), LALT(KC_N), KC_TRNS,
+                  KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+                                              KC_TRNS, KC_TRNS,
+                                                     KC_TRNS,
+                                       KC_TRNS, KC_DEL, KC_TRNS,
     //right half
-    KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, 
-    KC_TRNS, LALT(LSFT(KC_7)), LALT(KC_5), LALT(KC_6), LALT(KC_7), DE_HASH, KC_F12, 
-           DE_SLSH, DE_LPRN, DE_RPRN, LALT(KC_8), LALT(KC_9), KC_TRNS, 
-    KC_TRNS, DE_AMPR, KC_GRV, LSFT(KC_GRV), DE_DQUO, DE_QUOT, DE_QUES, 
-                         KC_TRNS, KC_DOT, KC_EXLM, KC_TRNS, KC_TRNS, 
-    KC_TRNS, KC_TRNS, 
-    KC_TRNS, 
+    KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
+    KC_TRNS, LALT(LSFT(KC_7)), LALT(KC_5), LALT(KC_6), LALT(KC_7), DE_HASH, KC_F12,
+           DE_SLSH, DE_LPRN, DE_RPRN, LALT(KC_8), LALT(KC_9), KC_TRNS,
+    KC_TRNS, DE_AMPR, KC_GRV, LSFT(KC_GRV), DE_DQUO, DE_QUOT, DE_QUES,
+                         KC_TRNS, KC_DOT, KC_EXLM, KC_TRNS, KC_TRNS,
+    KC_TRNS, KC_TRNS,
+    KC_TRNS,
     KC_TRNS, KC_TRNS, KC_TRNS),
 [MDIA]=LAYOUT_ergodox(
 //left half
-    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 
-    KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS, KC_TRNS, KC_TRNS, 
-    KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, 
-    KC_TRNS, KC_WH_L, KC_WH_U, KC_WH_D, KC_WH_R, KC_BTN3, KC_TRNS, 
-                  KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_BTN2, 
-                                              KC_TRNS, KC_TRNS, 
-                                                     KC_TRNS, 
-                                       KC_TRNS, KC_TRNS, KC_TRNS, 
+    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+    KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS, KC_TRNS, KC_TRNS,
+    KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS,
+    KC_TRNS, KC_WH_L, KC_WH_U, KC_WH_D, KC_WH_R, KC_BTN3, KC_TRNS,
+                  KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_BTN2,
+                                              KC_TRNS, KC_TRNS,
+                                                     KC_TRNS,
+                                       KC_TRNS, KC_TRNS, KC_TRNS,
     //right half
-    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, 
-    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 
-           KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 
-    KC_TRNS, KC_TRNS, KC_MUTE, KC_MPRV, KC_MNXT, KC_UP, KC_TRNS, 
-                         KC_VOLU, KC_VOLD, KC_LEFT, KC_DOWN, KC_RIGHT, 
-    KC_TRNS, KC_TRNS, 
-    KC_TRNS, 
+    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY,
+    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+           KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+    KC_TRNS, KC_TRNS, KC_MUTE, KC_MPRV, KC_MNXT, KC_UP, KC_TRNS,
+                         KC_VOLU, KC_VOLD, KC_LEFT, KC_DOWN, KC_RIGHT,
+    KC_TRNS, KC_TRNS,
+    KC_TRNS,
     KC_TRNS, KC_TRNS, KC_WBAK),
 [QWERTZ]=LAYOUT_ergodox(
 //left half
-    KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, LGUI(KC_V), 
-    KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LGUI, 
-    KC_TRNS, KC_A, KC_S, KC_D, KC_F, KC_G, 
-    KC_LSFT, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_LALT, 
-                  LT(SYMB,KC_GRV), DE_LABK, LALT(KC_LSFT), KC_LEFT, KC_RGHT, 
-                                              KC_TRNS, MEH_T(LSFT(DE_ACUT)), 
-                                                     KC_HOME, 
-                                       KC_BSPC, KC_DEL, KC_END, 
+    KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, LGUI(KC_V),
+    KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LGUI,
+    KC_TRNS, KC_A, KC_S, KC_D, KC_F, KC_G,
+    KC_LSFT, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_LALT,
+                  LT(SYMB,KC_GRV), DE_LABK, LALT(KC_LSFT), KC_LEFT, KC_RGHT,
+                                              KC_TRNS, MEH_T(LSFT(DE_ACUT)),
+                                                     KC_HOME,
+                                       KC_BSPC, KC_DEL, KC_END,
     //right half
-    LGUI(KC_C), KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, 
-    KC_RGUI, KC_Y, KC_U, KC_I, KC_O, KC_P, DE_UDIA, 
-           KC_H, KC_J, KC_K, KC_L, KC_SCLN, LT(MDIA,DE_ADIA), 
-    KC_RALT, KC_N, KC_M, KC_COMM, KC_DOT, CTL_T(KC_SLSH), KC_RSFT, 
-                         KC_UP, KC_DOWN, LGUI(KC_LSFT), KC_RBRC, LT(SYMB,KC_BSLS), 
-    ALL_T(DE_ACUT), KC_TRNS, 
-    KC_PGUP, 
+    LGUI(KC_C), KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
+    KC_RGUI, KC_Y, KC_U, KC_I, KC_O, KC_P, DE_UDIA,
+           KC_H, KC_J, KC_K, KC_L, KC_SCLN, LT(MDIA,DE_ADIA),
+    KC_RALT, KC_N, KC_M, KC_COMM, KC_DOT, CTL_T(KC_SLSH), KC_RSFT,
+                         KC_UP, KC_DOWN, LGUI(KC_LSFT), KC_RBRC, LT(SYMB,KC_BSLS),
+    ALL_T(DE_ACUT), KC_TRNS,
+    KC_PGUP,
     KC_PGDN, KC_ENT, KC_SPC),
 [NUMB]=LAYOUT_ergodox(
 //left half
-    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 
-    KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, 
-    KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, 
-    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 
-                  KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 
-                                              KC_TRNS, KC_TRNS, 
-                                                     KC_TRNS, 
-                                       KC_TRNS, KC_TRNS, KC_TRNS, 
+    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+    KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS,
+    KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS,
+    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+                  KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+                                              KC_TRNS, KC_TRNS,
+                                                     KC_TRNS,
+                                       KC_TRNS, KC_TRNS, KC_TRNS,
     //right half
-    KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, 
-    KC_TRNS, KC_UP, KC_7, KC_8, KC_9, LSFT(KC_RBRC), KC_F12, 
-           KC_DOWN, KC_4, KC_5, KC_6, KC_RBRC, KC_TRNS, 
-    KC_TRNS, LSFT(KC_6), KC_1, KC_2, KC_3, LSFT(KC_7), KC_TRNS, 
-                         KC_0, KC_DOT, KC_0, KC_EQL, KC_TRNS, 
-    KC_TRNS, KC_TRNS, 
-    KC_TRNS, 
+    KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
+    KC_TRNS, KC_UP, KC_7, KC_8, KC_9, LSFT(KC_RBRC), KC_F12,
+           KC_DOWN, KC_4, KC_5, KC_6, KC_RBRC, KC_TRNS,
+    KC_TRNS, LSFT(KC_6), KC_1, KC_2, KC_3, LSFT(KC_7), KC_TRNS,
+                         KC_0, KC_DOT, KC_0, KC_EQL, KC_TRNS,
+    KC_TRNS, KC_TRNS,
+    KC_TRNS,
     KC_TRNS, KC_TRNS, KC_TRNS),
 };
 
 // Runs constantly in the background, in a loop.
 void matrix_scan_user(void) {
 
-uint8_t layer = biton32(layer_state);
+uint8_t layer = get_highest_layer(layer_state);
 
 ergodox_board_led_off();
 ergodox_right_led_1_off();
@@ -139,4 +139,3 @@ break;
 }
 
 };
-
diff --git a/layouts/community/ergodox/osx_de_experimental/keymap.c b/layouts/community/ergodox/osx_de_experimental/keymap.c
index 8228b5e371..faf238726f 100644
--- a/layouts/community/ergodox/osx_de_experimental/keymap.c
+++ b/layouts/community/ergodox/osx_de_experimental/keymap.c
@@ -66,315 +66,315 @@
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 /**
 * Layer: BASE
-* /-------------------//-------------------//-------------------//-------------------//-------------------//-------------------//-------------------/                        /-------------------//-------------------//-------------------//-------------------//-------------------//-------------------//-------------------/                       
-* | ESC                | 1                  | 2                  | 3                  | 4                  | 5                  | Hold or toggle     |                       | Hold or toggle     | 6                  | 7                  | 8                  | 9                  | 0                  | ß                  |                      
-* |                    |                    |                    |                    |                    |                    | Layer NUMB         |                       | Layer MDIA         |                    |                    |                    |                    |                    |                    |                      
-* /-------------------//-------------------//-------------------//-------------------//-------------------//-------------------//-------------------/                        /-------------------//-------------------//-------------------//-------------------//-------------------//-------------------//-------------------/                       
-* | TAB                | Q                  | W                  | E                  | R                  | T                  | Cmd                |                       | Cmd                | Z                  | U                  | I                  | O                  | P                  | Ü                  |                      
-* |                    |                    |                    |                    |                    |                    |                    |                       |                    |                    |                    |                    |                    |                    |                    |                      
-* /-------------------//-------------------//-------------------//-------------------//-------------------//-------------------/\-------------------\                        \-------------------\/-------------------//-------------------//-------------------//-------------------//-------------------//-------------------/                       
-* | Alt                | A                  | S                  | D                  | F                  | G                  |                                                                 | H                  | J                  | K                  | L                  | Ö                  | Ä                  |                      
-* |                    |                    |                    |                    |                    |                    |                                                                 |                    |                    |                    |                    |                    | ALT                |                      
-* /-------------------//-------------------//-------------------//-------------------//-------------------//-------------------//-------------------/                        /-------------------//-------------------//-------------------//-------------------//-------------------//-------------------//-------------------/                       
-* | Shift              | Y                  | X                  | C                  | V                  | B                  | Alt                |                       | Alt                | N                  | M                  | ,                  | .                  | -                  | Shift              |                      
-* |                    | Ctrl               |                    |                    |                    |                    |                    |                       |                    |                    |                    |                    |                    | Ctrl               |                    |                      
-* \-------------------\\-------------------\\-------------------\\-------------------\\-------------------\\-------------------\\-------------------\                        \-------------------\\-------------------\\-------------------\\-------------------\\-------------------\\-------------------\\-------------------\                       
-*                                                                                                                                                                                                                                                                                                                                                      
-*                                                                                                                                                                                                                                                                                                                                                      
-*                                           /-------------------//-------------------//-------------------//-------------------//-------------------/                                                                                       /-------------------//-------------------//-------------------//-------------------//-------------------/  
-*                                           | <                  | LongPress / Type   | LongPress / Type   | Shift+Ctrl         | Type               |                                                                                      | #                  | ACUT               | CMD+Shift          | ALT+Shift          | +                  | 
-*                                           | SYMB               | DE_CIRC_CTRLCMD    | DE_PLUS_CTRAlt     |                    | Toggle SMLY        |                                                                                      | Meh                | Hyper              |                    |                    | SYMB               | 
-*                                           \-------------------\\-------------------\\-------------------\\-------------------\/-------------------//-------------------/   /-------------------//-------------------/                     \-------------------\\-------------------\\-------------------\\-------------------\\-------------------\  
-*                                                                                                                               | HOME               | END                |  | LEFT               | RIGHT              |                                                                                                                               
-*                                                                                                                               |                    |                    |  |                    |                    |                                                                                                                               
-*                                                                                                                               \-------------------\/-------------------/   /-------------------/\-------------------\                                                                                                                                
-*                                                                                                                                                    | PGUP               |  | UP                 |                                                                                                                                                    
-*                                                                                                                                                    |                    |  |                    |                                                                                                                                                    
-*                                                                                                          /-------------------//-------------------//-------------------/   /-------------------//-------------------//-------------------/                                                                                                           
-*                                                                                                          | BSPC               | DEL                | PGDN               |  | DOWN               | ENT                | SPC                |                                                                                                          
-*                                                                                                          |                    |                    |                    |  |                    |                    |                    |                                                                                                          
-*                                                                                                          \-------------------\\-------------------\\-------------------\   \-------------------\\-------------------\\-------------------\                                                                                                           
-*                                                                                                                                                                                                                                                                                                                                                      
-* 
+* /-------------------//-------------------//-------------------//-------------------//-------------------//-------------------//-------------------/                        /-------------------//-------------------//-------------------//-------------------//-------------------//-------------------//-------------------/
+* | ESC                | 1                  | 2                  | 3                  | 4                  | 5                  | Hold or toggle     |                       | Hold or toggle     | 6                  | 7                  | 8                  | 9                  | 0                  | ß                  |
+* |                    |                    |                    |                    |                    |                    | Layer NUMB         |                       | Layer MDIA         |                    |                    |                    |                    |                    |                    |
+* /-------------------//-------------------//-------------------//-------------------//-------------------//-------------------//-------------------/                        /-------------------//-------------------//-------------------//-------------------//-------------------//-------------------//-------------------/
+* | TAB                | Q                  | W                  | E                  | R                  | T                  | Cmd                |                       | Cmd                | Z                  | U                  | I                  | O                  | P                  | Ü                  |
+* |                    |                    |                    |                    |                    |                    |                    |                       |                    |                    |                    |                    |                    |                    |                    |
+* /-------------------//-------------------//-------------------//-------------------//-------------------//-------------------/\-------------------\                        \-------------------\/-------------------//-------------------//-------------------//-------------------//-------------------//-------------------/
+* | Alt                | A                  | S                  | D                  | F                  | G                  |                                                                 | H                  | J                  | K                  | L                  | Ö                  | Ä                  |
+* |                    |                    |                    |                    |                    |                    |                                                                 |                    |                    |                    |                    |                    | ALT                |
+* /-------------------//-------------------//-------------------//-------------------//-------------------//-------------------//-------------------/                        /-------------------//-------------------//-------------------//-------------------//-------------------//-------------------//-------------------/
+* | Shift              | Y                  | X                  | C                  | V                  | B                  | Alt                |                       | Alt                | N                  | M                  | ,                  | .                  | -                  | Shift              |
+* |                    | Ctrl               |                    |                    |                    |                    |                    |                       |                    |                    |                    |                    |                    | Ctrl               |                    |
+* \-------------------\\-------------------\\-------------------\\-------------------\\-------------------\\-------------------\\-------------------\                        \-------------------\\-------------------\\-------------------\\-------------------\\-------------------\\-------------------\\-------------------\
+*
+*
+*                                           /-------------------//-------------------//-------------------//-------------------//-------------------/                                                                                       /-------------------//-------------------//-------------------//-------------------//-------------------/
+*                                           | <                  | LongPress / Type   | LongPress / Type   | Shift+Ctrl         | Type               |                                                                                      | #                  | ACUT               | CMD+Shift          | ALT+Shift          | +                  |
+*                                           | SYMB               | DE_CIRC_CTRLCMD    | DE_PLUS_CTRAlt     |                    | Toggle SMLY        |                                                                                      | Meh                | Hyper              |                    |                    | SYMB               |
+*                                           \-------------------\\-------------------\\-------------------\\-------------------\/-------------------//-------------------/   /-------------------//-------------------/                     \-------------------\\-------------------\\-------------------\\-------------------\\-------------------\
+*                                                                                                                               | HOME               | END                |  | LEFT               | RIGHT              |
+*                                                                                                                               |                    |                    |  |                    |                    |
+*                                                                                                                               \-------------------\/-------------------/   /-------------------/\-------------------\
+*                                                                                                                                                    | PGUP               |  | UP                 |
+*                                                                                                                                                    |                    |  |                    |
+*                                                                                                          /-------------------//-------------------//-------------------/   /-------------------//-------------------//-------------------/
+*                                                                                                          | BSPC               | DEL                | PGDN               |  | DOWN               | ENT                | SPC                |
+*                                                                                                          |                    |                    |                    |  |                    |                    |                    |
+*                                                                                                          \-------------------\\-------------------\\-------------------\   \-------------------\\-------------------\\-------------------\
+*
+*
 **/
 [BASE]=LAYOUT_ergodox(
 //left half
-    KC_ESC, DE_1, DE_2, DE_3, DE_4, DE_5, M(TGH_NUM), 
-    KC_TAB, DE_Q, DE_W, DE_E, DE_R, DE_T, KC_LGUI, 
-    KC_LALT, DE_A, DE_S, DE_D, DE_F, DE_G, 
-    KC_LSFT, CTL_T(DE_Y), DE_X, DE_C, DE_V, DE_B, KC_LALT, 
-                  LT(SYMB,DE_LABK), M(M_DE_CIRC_CTRLCMD), M(M_DE_PLUS_CTRLALT), LSFT(KC_LCTRL), M(SMLY_TOG_QUOT), 
-                                              KC_HOME, KC_END, 
-                                                     KC_PGUP, 
-                                       KC_BSPC, KC_DEL, KC_PGDN, 
+    KC_ESC, DE_1, DE_2, DE_3, DE_4, DE_5, M(TGH_NUM),
+    KC_TAB, DE_Q, DE_W, DE_E, DE_R, DE_T, KC_LGUI,
+    KC_LALT, DE_A, DE_S, DE_D, DE_F, DE_G,
+    KC_LSFT, CTL_T(DE_Y), DE_X, DE_C, DE_V, DE_B, KC_LALT,
+                  LT(SYMB,DE_LABK), M(M_DE_CIRC_CTRLCMD), M(M_DE_PLUS_CTRLALT), LSFT(KC_LCTRL), M(SMLY_TOG_QUOT),
+                                              KC_HOME, KC_END,
+                                                     KC_PGUP,
+                                       KC_BSPC, KC_DEL, KC_PGDN,
     //right half
-    M(TOG_HLD_MDIA), DE_6, DE_7, DE_8, DE_9, DE_0, DE_SS, 
-    KC_RGUI, DE_Z, DE_U, DE_I, DE_O, DE_P, DE_UDIA, 
-           DE_H, DE_J, DE_K, DE_L, DE_ODIA, ALT_T(DE_ADIA), 
-    KC_RALT, DE_N, DE_M, DE_COMM, DE_DOT, CTL_T(DE_MINS), KC_RSFT, 
-                         MEH_T(DE_HASH), ALL_T(DE_ACUT), LGUI(KC_LSFT), LALT(KC_LSFT), LT(SYMB,DE_PLUS), 
-    KC_LEFT, KC_RIGHT, 
-    KC_UP, 
+    M(TOG_HLD_MDIA), DE_6, DE_7, DE_8, DE_9, DE_0, DE_SS,
+    KC_RGUI, DE_Z, DE_U, DE_I, DE_O, DE_P, DE_UDIA,
+           DE_H, DE_J, DE_K, DE_L, DE_ODIA, ALT_T(DE_ADIA),
+    KC_RALT, DE_N, DE_M, DE_COMM, DE_DOT, CTL_T(DE_MINS), KC_RSFT,
+                         MEH_T(DE_HASH), ALL_T(DE_ACUT), LGUI(KC_LSFT), LALT(KC_LSFT), LT(SYMB,DE_PLUS),
+    KC_LEFT, KC_RIGHT,
+    KC_UP,
     KC_DOWN, KC_ENT, KC_SPC),
 /**
 * Layer: SYMB
-* /-----------//-----------//-----------//-----------//-----------//-----------//-----------/                /-----------//-----------//-----------//-----------//-----------//-----------//-----------/               
-* | APPLICATION| F1         | F2         | F3         | F4         | F5         | F5         |               | F6         | F6         | F7         | F8         | F9         | F10        | F11        |              
-* |            |            |            |            |            |            |            |               |            |            |            |            |            |            |            |              
-* /-----------//-----------//-----------//-----------//-----------//-----------//-----------/                /-----------//-----------//-----------//-----------//-----------//-----------//-----------/               
-* |            | <          | >          | !          | ?          |            |            |               |            | \          | [          | ]          | <          | >          | !          |              
-* |            |            |            |            |            |            |            |               |            |            |            |            |            |            |            |              
-* /-----------//-----------//-----------//-----------//-----------//-----------/\-----------\                \-----------\/-----------//-----------//-----------//-----------//-----------//-----------/               
-* |            | #          | $          | \          | /          | .          |                                         | /          | (          | )          | {          | }          | #          |              
-* |            |            |            |            |            |            |                                         |            |            |            |            |            |            |              
-* /-----------//-----------//-----------//-----------//-----------//-----------//-----------/                /-----------//-----------//-----------//-----------//-----------//-----------//-----------/               
-* |            |            | <          | %          | |          | ~          |            |               |            | |          | ~          |            |            |            |            |              
-* |            |            |            |            |            |            |            |               |            |            |            |            |            |            |            |              
-* \-----------\\-----------\\-----------\\-----------\\-----------\\-----------\\-----------\                \-----------\\-----------\\-----------\\-----------\\-----------\\-----------\\-----------\               
-*                                                                                                                                                                                                                      
-*                                                                                                                                                                                                                      
-*                           /-----------//-----------//-----------//-----------//-----------/                                                       /-----------//-----------//-----------//-----------//-----------/  
-*                           |            |            |            |            |            |                                                      | '          | DQOT       |            | Toggle 5   |            | 
-*                           |            |            |            |            |            |                                                      |            |            |            |            |            | 
-*                           \-----------\\-----------\\-----------\\-----------\/-----------//-----------/   /-----------//-----------/             \-----------\\-----------\\-----------\\-----------\\-----------\  
-*                                                                               |            |            |  | F13        | F12        |                                                                               
-*                                                                               |            |            |  |            |            |                                                                               
-*                                                                               \-----------\/-----------/   /-----------/\-----------\                                                                                
-*                                                                                            |            |  | F14        |                                                                                            
-*                                                                                            |            |  |            |                                                                                            
-*                                                                  /-----------//-----------//-----------/   /-----------//-----------//-----------/                                                                   
-*                                                                  |            | DEL        |            |  | F15        |            |            |                                                                  
-*                                                                  |            |            |            |  |            |            |            |                                                                  
-*                                                                  \-----------\\-----------\\-----------\   \-----------\\-----------\\-----------\                                                                   
-*                                                                                                                                                                                                                      
-* 
+* /-----------//-----------//-----------//-----------//-----------//-----------//-----------/                /-----------//-----------//-----------//-----------//-----------//-----------//-----------/
+* | APPLICATION| F1         | F2         | F3         | F4         | F5         | F5         |               | F6         | F6         | F7         | F8         | F9         | F10        | F11        |
+* |            |            |            |            |            |            |            |               |            |            |            |            |            |            |            |
+* /-----------//-----------//-----------//-----------//-----------//-----------//-----------/                /-----------//-----------//-----------//-----------//-----------//-----------//-----------/
+* |            | <          | >          | !          | ?          |            |            |               |            | \          | [          | ]          | <          | >          | !          |
+* |            |            |            |            |            |            |            |               |            |            |            |            |            |            |            |
+* /-----------//-----------//-----------//-----------//-----------//-----------/\-----------\                \-----------\/-----------//-----------//-----------//-----------//-----------//-----------/
+* |            | #          | $          | \          | /          | .          |                                         | /          | (          | )          | {          | }          | #          |
+* |            |            |            |            |            |            |                                         |            |            |            |            |            |            |
+* /-----------//-----------//-----------//-----------//-----------//-----------//-----------/                /-----------//-----------//-----------//-----------//-----------//-----------//-----------/
+* |            |            | <          | %          | |          | ~          |            |               |            | |          | ~          |            |            |            |            |
+* |            |            |            |            |            |            |            |               |            |            |            |            |            |            |            |
+* \-----------\\-----------\\-----------\\-----------\\-----------\\-----------\\-----------\                \-----------\\-----------\\-----------\\-----------\\-----------\\-----------\\-----------\
+*
+*
+*                           /-----------//-----------//-----------//-----------//-----------/                                                       /-----------//-----------//-----------//-----------//-----------/
+*                           |            |            |            |            |            |                                                      | '          | DQOT       |            | Toggle 5   |            |
+*                           |            |            |            |            |            |                                                      |            |            |            |            |            |
+*                           \-----------\\-----------\\-----------\\-----------\/-----------//-----------/   /-----------//-----------/             \-----------\\-----------\\-----------\\-----------\\-----------\
+*                                                                               |            |            |  | F13        | F12        |
+*                                                                               |            |            |  |            |            |
+*                                                                               \-----------\/-----------/   /-----------/\-----------\
+*                                                                                            |            |  | F14        |
+*                                                                                            |            |  |            |
+*                                                                  /-----------//-----------//-----------/   /-----------//-----------//-----------/
+*                                                                  |            | DEL        |            |  | F15        |            |            |
+*                                                                  |            |            |            |  |            |            |            |
+*                                                                  \-----------\\-----------\\-----------\   \-----------\\-----------\\-----------\
+*
+*
 **/
 [SYMB]=LAYOUT_ergodox(
 //left half
-    KC_APPLICATION, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F5, 
-    KC_TRNS, DE_LABK, DE_RABK, DE_EXLM, DE_QST, KC_TRNS, KC_TRNS, 
-    KC_TRNS, DE_HASH, DE_DLR, DE_BSLS, DE_SLSH, KC_DOT, 
-    KC_TRNS, KC_TRNS, DE_LABK, DE_PERC, DE_PIPE, DE_TILD, KC_TRNS, 
-                  KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 
-                                              KC_TRNS, KC_TRNS, 
-                                                     KC_TRNS, 
-                                       KC_TRNS, KC_DEL, KC_TRNS, 
+    KC_APPLICATION, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F5,
+    KC_TRNS, DE_LABK, DE_RABK, DE_EXLM, DE_QST, KC_TRNS, KC_TRNS,
+    KC_TRNS, DE_HASH, DE_DLR, DE_BSLS, DE_SLSH, KC_DOT,
+    KC_TRNS, KC_TRNS, DE_LABK, DE_PERC, DE_PIPE, DE_TILD, KC_TRNS,
+                  KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+                                              KC_TRNS, KC_TRNS,
+                                                     KC_TRNS,
+                                       KC_TRNS, KC_DEL, KC_TRNS,
     //right half
-    KC_F6, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, 
-    KC_TRNS, DE_BSLS, DE_LBRC, DE_RBRC, DE_LABK, DE_RABK, DE_EXLM, 
-           DE_SLSH, DE_LPRN, DE_RPRN, DE_LCBR, DE_RCBR, DE_HASH, 
-    KC_TRNS, DE_PIPE, DE_TILD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 
-                         DE_QUOT, DE_DQUO, KC_TRNS, M(M_TOGGLE_5), KC_TRNS, 
-    KC_F13, KC_F12, 
-    KC_F14, 
+    KC_F6, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
+    KC_TRNS, DE_BSLS, DE_LBRC, DE_RBRC, DE_LABK, DE_RABK, DE_EXLM,
+           DE_SLSH, DE_LPRN, DE_RPRN, DE_LCBR, DE_RCBR, DE_HASH,
+    KC_TRNS, DE_PIPE, DE_TILD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+                         DE_QUOT, DE_DQUO, KC_TRNS, M(M_TOGGLE_5), KC_TRNS,
+    KC_F13, KC_F12,
+    KC_F14,
     KC_F15, KC_TRNS, KC_TRNS),
 /**
 * Layer: MDIA
-* /-----//-----//-----//-----//-----//-----//-----/          /-----//-----//-----//-----//-----//-----//-----/         
-* |      |      |      |      |      |      |      |         |      |      |      |      |      |      |      |        
-* |      |      |      |      |      |      |      |         |      |      |      |      |      |      |      |        
-* /-----//-----//-----//-----//-----//-----//-----/          /-----//-----//-----//-----//-----//-----//-----/         
-* |      |      | BTN1 | U    | BTN2 | U    |      |         |      |      |      |      |      |      |      |        
-* |      |      |      |      |      |      |      |         |      |      |      |      |      |      |      |        
-* /-----//-----//-----//-----//-----//-----/\-----\          \-----\/-----//-----//-----//-----//-----//-----/         
-* |      |      | L    | D    | R    | D    |                       |      |      |      |      |      |      |        
-* |      |      |      |      |      |      |                       |      |      |      |      |      |      |        
-* /-----//-----//-----//-----//-----//-----//-----/          /-----//-----//-----//-----//-----//-----//-----/         
-* |      |      | L    | D    | R    | BTN3 |      |         |      |      |      |      |      | UP   |      |        
-* |      |      |      |      |      |      |      |         |      |      |      |      |      |      |      |        
-* \-----\\-----\\-----\\-----\\-----\\-----\\-----\          \-----\\-----\\-----\\-----\\-----\\-----\\-----\         
-*                                                                                                                      
-*                                                                                                                      
-*               /-----//-----//-----//-----//-----/                               /-----//-----//-----//-----//-----/  
-*               |      |      |      |      |      |                              |      |      | LEFT | DOWN | RIGHT| 
-*               |      |      |      |      |      |                              |      |      |      |      |      | 
-*               \-----\\-----\\-----\\-----\/-----//-----/   /-----//-----/       \-----\\-----\\-----\\-----\\-----\  
-*                                           |      |      |  | MPRV | MNXT |                                           
-*                                           |      |      |  |      |      |                                           
-*                                           \-----\/-----/   /-----/\-----\                                            
-*                                                  |      |  | VOLU |                                                  
-*                                                  |      |  |      |                                                  
-*                                    /-----//-----//-----/   /-----//-----//-----/                                     
-*                                    |      |      |      |  | VOLD | MUTE | MPLY |                                    
-*                                    |      |      |      |  |      |      |      |                                    
-*                                    \-----\\-----\\-----\   \-----\\-----\\-----\                                     
-*                                                                                                                      
-* 
+* /-----//-----//-----//-----//-----//-----//-----/          /-----//-----//-----//-----//-----//-----//-----/
+* |      |      |      |      |      |      |      |         |      |      |      |      |      |      |      |
+* |      |      |      |      |      |      |      |         |      |      |      |      |      |      |      |
+* /-----//-----//-----//-----//-----//-----//-----/          /-----//-----//-----//-----//-----//-----//-----/
+* |      |      | BTN1 | U    | BTN2 | U    |      |         |      |      |      |      |      |      |      |
+* |      |      |      |      |      |      |      |         |      |      |      |      |      |      |      |
+* /-----//-----//-----//-----//-----//-----/\-----\          \-----\/-----//-----//-----//-----//-----//-----/
+* |      |      | L    | D    | R    | D    |                       |      |      |      |      |      |      |
+* |      |      |      |      |      |      |                       |      |      |      |      |      |      |
+* /-----//-----//-----//-----//-----//-----//-----/          /-----//-----//-----//-----//-----//-----//-----/
+* |      |      | L    | D    | R    | BTN3 |      |         |      |      |      |      |      | UP   |      |
+* |      |      |      |      |      |      |      |         |      |      |      |      |      |      |      |
+* \-----\\-----\\-----\\-----\\-----\\-----\\-----\          \-----\\-----\\-----\\-----\\-----\\-----\\-----\
+*
+*
+*               /-----//-----//-----//-----//-----/                               /-----//-----//-----//-----//-----/
+*               |      |      |      |      |      |                              |      |      | LEFT | DOWN | RIGHT|
+*               |      |      |      |      |      |                              |      |      |      |      |      |
+*               \-----\\-----\\-----\\-----\/-----//-----/   /-----//-----/       \-----\\-----\\-----\\-----\\-----\
+*                                           |      |      |  | MPRV | MNXT |
+*                                           |      |      |  |      |      |
+*                                           \-----\/-----/   /-----/\-----\
+*                                                  |      |  | VOLU |
+*                                                  |      |  |      |
+*                                    /-----//-----//-----/   /-----//-----//-----/
+*                                    |      |      |      |  | VOLD | MUTE | MPLY |
+*                                    |      |      |      |  |      |      |      |
+*                                    \-----\\-----\\-----\   \-----\\-----\\-----\
+*
+*
 **/
 [MDIA]=LAYOUT_ergodox(
 //left half
-    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 
-    KC_TRNS, KC_TRNS, KC_BTN1, KC_MS_U, KC_BTN2, KC_WH_U, KC_TRNS, 
-    KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, 
-    KC_TRNS, KC_TRNS, KC_WH_L, KC_WH_D, KC_WH_R, KC_BTN3, KC_TRNS, 
-                  KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 
-                                              KC_TRNS, KC_TRNS, 
-                                                     KC_TRNS, 
-                                       KC_TRNS, KC_TRNS, KC_TRNS, 
+    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+    KC_TRNS, KC_TRNS, KC_BTN1, KC_MS_U, KC_BTN2, KC_WH_U, KC_TRNS,
+    KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D,
+    KC_TRNS, KC_TRNS, KC_WH_L, KC_WH_D, KC_WH_R, KC_BTN3, KC_TRNS,
+                  KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+                                              KC_TRNS, KC_TRNS,
+                                                     KC_TRNS,
+                                       KC_TRNS, KC_TRNS, KC_TRNS,
     //right half
-    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 
-    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 
-           KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 
-    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, 
-                         KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, 
-    KC_MPRV, KC_MNXT, 
-    KC_VOLU, 
+    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+           KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS,
+                         KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT,
+    KC_MPRV, KC_MNXT,
+    KC_VOLU,
     KC_VOLD, KC_MUTE, KC_MPLY),
 /**
 * Layer: SMLY
-* /--------//--------//--------//--------//--------//--------//--------/             /--------//--------//--------//--------//--------//--------//--------/            
-* |         |         |         |         |         |         |         |            | Typing  | Typing  | Typing  |         |         |         |         |           
-* |         |         |         |         |         |         |         |            | SM_SMILE| SM_SMIRK| SM_LAUGH|         |         |         |         |           
-* /--------//--------//--------//--------//--------//--------//--------/             /--------//--------//--------//--------//--------//--------//--------/            
-* |         |         |         |         |         |         |         |            |         | Typing  | Typing  | Typing  |         |         |         |           
-* |         |         |         |         |         |         |         |            |         | SM_FROWN| SM_SAD  | SM_CRY  |         |         |         |           
-* /--------//--------//--------//--------//--------//--------/\--------\             \--------\/--------//--------//--------//--------//--------//--------/            
-* |         |         |         |         |         |         |                                | Typing  | Typing  |         |         |         |         |           
-* |         |         |         |         |         |         |                                | SM_HEART| SM_KISS |         |         |         |         |           
-* /--------//--------//--------//--------//--------//--------//--------/             /--------//--------//--------//--------//--------//--------//--------/            
-* |         |         |         |         |         |         |         |            |         |         |         |         |         |         |         |           
-* |         |         |         |         |         |         |         |            |         |         |         |         |         |         |         |           
-* \--------\\--------\\--------\\--------\\--------\\--------\\--------\             \--------\\--------\\--------\\--------\\--------\\--------\\--------\            
-*                                                                                                                                                                      
-*                                                                                                                                                                      
-*                     /--------//--------//--------//--------//--------/                                           /--------//--------//--------//--------//--------/  
-*                     |         |         |         |         |         |                                          |         |         |         |         |         | 
-*                     |         |         |         |         |         |                                          |         |         |         |         |         | 
-*                     \--------\\--------\\--------\\--------\/--------//--------/   /--------//--------/          \--------\\--------\\--------\\--------\\--------\  
-*                                                             |         |         |  |         |         |                                                             
-*                                                             |         |         |  |         |         |                                                             
-*                                                             \--------\/--------/   /--------/\--------\                                                              
-*                                                                       |         |  |         |                                                                       
-*                                                                       |         |  |         |                                                                       
-*                                                   /--------//--------//--------/   /--------//--------//--------/                                                    
-*                                                   |         |         |         |  |         |         |         |                                                   
-*                                                   |         |         |         |  |         |         |         |                                                   
-*                                                   \--------\\--------\\--------\   \--------\\--------\\--------\                                                    
-*                                                                                                                                                                      
-* 
+* /--------//--------//--------//--------//--------//--------//--------/             /--------//--------//--------//--------//--------//--------//--------/
+* |         |         |         |         |         |         |         |            | Typing  | Typing  | Typing  |         |         |         |         |
+* |         |         |         |         |         |         |         |            | SM_SMILE| SM_SMIRK| SM_LAUGH|         |         |         |         |
+* /--------//--------//--------//--------//--------//--------//--------/             /--------//--------//--------//--------//--------//--------//--------/
+* |         |         |         |         |         |         |         |            |         | Typing  | Typing  | Typing  |         |         |         |
+* |         |         |         |         |         |         |         |            |         | SM_FROWN| SM_SAD  | SM_CRY  |         |         |         |
+* /--------//--------//--------//--------//--------//--------/\--------\             \--------\/--------//--------//--------//--------//--------//--------/
+* |         |         |         |         |         |         |                                | Typing  | Typing  |         |         |         |         |
+* |         |         |         |         |         |         |                                | SM_HEART| SM_KISS |         |         |         |         |
+* /--------//--------//--------//--------//--------//--------//--------/             /--------//--------//--------//--------//--------//--------//--------/
+* |         |         |         |         |         |         |         |            |         |         |         |         |         |         |         |
+* |         |         |         |         |         |         |         |            |         |         |         |         |         |         |         |
+* \--------\\--------\\--------\\--------\\--------\\--------\\--------\             \--------\\--------\\--------\\--------\\--------\\--------\\--------\
+*
+*
+*                     /--------//--------//--------//--------//--------/                                           /--------//--------//--------//--------//--------/
+*                     |         |         |         |         |         |                                          |         |         |         |         |         |
+*                     |         |         |         |         |         |                                          |         |         |         |         |         |
+*                     \--------\\--------\\--------\\--------\/--------//--------/   /--------//--------/          \--------\\--------\\--------\\--------\\--------\
+*                                                             |         |         |  |         |         |
+*                                                             |         |         |  |         |         |
+*                                                             \--------\/--------/   /--------/\--------\
+*                                                                       |         |  |         |
+*                                                                       |         |  |         |
+*                                                   /--------//--------//--------/   /--------//--------//--------/
+*                                                   |         |         |         |  |         |         |         |
+*                                                   |         |         |         |  |         |         |         |
+*                                                   \--------\\--------\\--------\   \--------\\--------\\--------\
+*
+*
 **/
 [SMLY]=LAYOUT_ergodox(
 //left half
-    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 
-    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 
-    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 
-    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 
-                  KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 
-                                              KC_TRNS, KC_TRNS, 
-                                                     KC_TRNS, 
-                                       KC_TRNS, KC_TRNS, KC_TRNS, 
+    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+                  KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+                                              KC_TRNS, KC_TRNS,
+                                                     KC_TRNS,
+                                       KC_TRNS, KC_TRNS, KC_TRNS,
     //right half
-    M(SM_SMILE), M(SM_SMIRK), M(SM_LAUGH), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 
-    KC_TRNS, M(SM_FROWN), M(SM_SAD), M(SM_CRY), KC_TRNS, KC_TRNS, KC_TRNS, 
-           M(SM_HEART), M(SM_KISS), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 
-    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 
-                         KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 
-    KC_TRNS, KC_TRNS, 
-    KC_TRNS, 
+    M(SM_SMILE), M(SM_SMIRK), M(SM_LAUGH), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+    KC_TRNS, M(SM_FROWN), M(SM_SAD), M(SM_CRY), KC_TRNS, KC_TRNS, KC_TRNS,
+           M(SM_HEART), M(SM_KISS), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+                         KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+    KC_TRNS, KC_TRNS,
+    KC_TRNS,
     KC_TRNS, KC_TRNS, KC_TRNS),
 /**
 * Layer: NUMB
-* /----//----//----//----//----//----//----/         /----//----//----//----//----//----//----/        
-* |     |     |     |     |     |     |     |        |     | F6  | F7  | F8  | F9  | F10 | F11 |       
-* |     |     |     |     |     |     |     |        |     |     |     |     |     |     |     |       
-* /----//----//----//----//----//----//----/         /----//----//----//----//----//----//----/        
-* |     |     |     | UP  |     |     |     |        |     | /   | 7   | 8   | 9   | *   | F12 |       
-* |     |     |     |     |     |     |     |        |     |     |     |     |     |     |     |       
-* /----//----//----//----//----//----/\----\         \----\/----//----//----//----//----//----/        
-* |     |     | LEFT| DOWN| RGHT|     |                    | /   | 4   | 5   | 6   | +   | -   |       
-* |     |     |     |     |     |     |                    |     |     |     |     |     |     |       
-* /----//----//----//----//----//----//----/         /----//----//----//----//----//----//----/        
-* |     |     |     |     |     |     |     |        |     | %   | 1   | 2   | 3   |     |     |       
-* |     |     |     |     |     |     |     |        |     |     |     |     |     |     |     |       
-* \----\\----\\----\\----\\----\\----\\----\         \----\\----\\----\\----\\----\\----\\----\        
-*                                                                                                      
-*                                                                                                      
-*             /----//----//----//----//----/                           /----//----//----//----//----/  
-*             |     |     |     |     |     |                          | 0   | .   | ,   | =   |     | 
-*             |     |     |     |     |     |                          |     |     |     |     |     | 
-*             \----\\----\\----\\----\/----//----/   /----//----/      \----\\----\\----\\----\\----\  
-*                                     |     |     |  |     |     |                                     
-*                                     |     |     |  |     |     |                                     
-*                                     \----\/----/   /----/\----\                                      
-*                                           |     |  |     |                                           
-*                                           |     |  |     |                                           
-*                               /----//----//----/   /----//----//----/                                
-*                               |     |     |     |  |     |     |     |                               
-*                               |     |     |     |  |     |     |     |                               
-*                               \----\\----\\----\   \----\\----\\----\                                
-*                                                                                                      
-* 
+* /----//----//----//----//----//----//----/         /----//----//----//----//----//----//----/
+* |     |     |     |     |     |     |     |        |     | F6  | F7  | F8  | F9  | F10 | F11 |
+* |     |     |     |     |     |     |     |        |     |     |     |     |     |     |     |
+* /----//----//----//----//----//----//----/         /----//----//----//----//----//----//----/
+* |     |     |     | UP  |     |     |     |        |     | /   | 7   | 8   | 9   | *   | F12 |
+* |     |     |     |     |     |     |     |        |     |     |     |     |     |     |     |
+* /----//----//----//----//----//----/\----\         \----\/----//----//----//----//----//----/
+* |     |     | LEFT| DOWN| RGHT|     |                    | /   | 4   | 5   | 6   | +   | -   |
+* |     |     |     |     |     |     |                    |     |     |     |     |     |     |
+* /----//----//----//----//----//----//----/         /----//----//----//----//----//----//----/
+* |     |     |     |     |     |     |     |        |     | %   | 1   | 2   | 3   |     |     |
+* |     |     |     |     |     |     |     |        |     |     |     |     |     |     |     |
+* \----\\----\\----\\----\\----\\----\\----\         \----\\----\\----\\----\\----\\----\\----\
+*
+*
+*             /----//----//----//----//----/                           /----//----//----//----//----/
+*             |     |     |     |     |     |                          | 0   | .   | ,   | =   |     |
+*             |     |     |     |     |     |                          |     |     |     |     |     |
+*             \----\\----\\----\\----\/----//----/   /----//----/      \----\\----\\----\\----\\----\
+*                                     |     |     |  |     |     |
+*                                     |     |     |  |     |     |
+*                                     \----\/----/   /----/\----\
+*                                           |     |  |     |
+*                                           |     |  |     |
+*                               /----//----//----/   /----//----//----/
+*                               |     |     |     |  |     |     |     |
+*                               |     |     |     |  |     |     |     |
+*                               \----\\----\\----\   \----\\----\\----\
+*
+*
 **/
 [NUMB]=LAYOUT_ergodox(
 //left half
-    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 
-    KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, 
-    KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, 
-    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 
-                  KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 
-                                              KC_TRNS, KC_TRNS, 
-                                                     KC_TRNS, 
-                                       KC_TRNS, KC_TRNS, KC_TRNS, 
+    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+    KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS,
+    KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS,
+    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+                  KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+                                              KC_TRNS, KC_TRNS,
+                                                     KC_TRNS,
+                                       KC_TRNS, KC_TRNS, KC_TRNS,
     //right half
-    KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, 
-    KC_TRNS, DE_SLSH, KC_7, KC_8, KC_9, DE_ASTR, KC_F12, 
-           DE_SLSH, KC_4, KC_5, KC_6, DE_PLUS, DE_MINS, 
-    KC_TRNS, DE_PERC, KC_1, KC_2, KC_3, KC_TRNS, KC_TRNS, 
-                         KC_0, KC_DOT, KC_COMM, DE_EQL, KC_TRNS, 
-    KC_TRNS, KC_TRNS, 
-    KC_TRNS, 
+    KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
+    KC_TRNS, DE_SLSH, KC_7, KC_8, KC_9, DE_ASTR, KC_F12,
+           DE_SLSH, KC_4, KC_5, KC_6, DE_PLUS, DE_MINS,
+    KC_TRNS, DE_PERC, KC_1, KC_2, KC_3, KC_TRNS, KC_TRNS,
+                         KC_0, KC_DOT, KC_COMM, DE_EQL, KC_TRNS,
+    KC_TRNS, KC_TRNS,
+    KC_TRNS,
     KC_TRNS, KC_TRNS, KC_TRNS),
 /**
 * Layer: EGOS
-* /--------//--------//--------//--------//--------//--------//--------/             /--------//--------//--------//--------//--------//--------//--------/            
-* |         |         |         |         |         |         |         |            |         |         |         |         |         |         |         |           
-* |         |         |         |         |         |         |         |            |         |         |         |         |         |         |         |           
-* /--------//--------//--------//--------//--------//--------//--------/             /--------//--------//--------//--------//--------//--------//--------/            
-* |         |         |         |         |         |         |         |            |         |         |         |         |         |         |         |           
-* |         |         |         |         |         |         |         |            |         |         |         |         |         |         |         |           
-* /--------//--------//--------//--------//--------//--------/\--------\             \--------\/--------//--------//--------//--------//--------//--------/            
-* | Shift   |         |         |         |         |         |                                |         |         |         |         |         |         |           
-* |         |         |         |         |         |         |                                |         |         |         |         |         |         |           
-* /--------//--------//--------//--------//--------//--------//--------/             /--------//--------//--------//--------//--------//--------//--------/            
-* |         |         |         |         |         |         |         |            |         |         |         |         |         |         |         |           
-* |         |         |         |         |         |         |         |            |         |         |         |         |         |         |         |           
-* \--------\\--------\\--------\\--------\\--------\\--------\\--------\             \--------\\--------\\--------\\--------\\--------\\--------\\--------\            
-*                                                                                                                                                                      
-*                                                                                                                                                                      
-*                     /--------//--------//--------//--------//--------/                                           /--------//--------//--------//--------//--------/  
-*                     | Ctrl    |         |         |         |         |                                          |         |         |         | Toggle 5|         | 
-*                     |         |         |         |         |         |                                          |         |         |         |         |         | 
-*                     \--------\\--------\\--------\\--------\/--------//--------/   /--------//--------/          \--------\\--------\\--------\\--------\\--------\  
-*                                                             | F1      | F2      |  |         |         |                                                             
-*                                                             |         |         |  |         |         |                                                             
-*                                                             \--------\/--------/   /--------/\--------\                                                              
-*                                                                       | F3      |  |         |                                                                       
-*                                                                       |         |  |         |                                                                       
-*                                                   /--------//--------//--------/   /--------//--------//--------/                                                    
-*                                                   | SPC     | Ctrl    | F4      |  |         |         |         |                                                   
-*                                                   |         |         |         |  |         |         |         |                                                   
-*                                                   \--------\\--------\\--------\   \--------\\--------\\--------\                                                    
-*                                                                                                                                                                      
-* 
+* /--------//--------//--------//--------//--------//--------//--------/             /--------//--------//--------//--------//--------//--------//--------/
+* |         |         |         |         |         |         |         |            |         |         |         |         |         |         |         |
+* |         |         |         |         |         |         |         |            |         |         |         |         |         |         |         |
+* /--------//--------//--------//--------//--------//--------//--------/             /--------//--------//--------//--------//--------//--------//--------/
+* |         |         |         |         |         |         |         |            |         |         |         |         |         |         |         |
+* |         |         |         |         |         |         |         |            |         |         |         |         |         |         |         |
+* /--------//--------//--------//--------//--------//--------/\--------\             \--------\/--------//--------//--------//--------//--------//--------/
+* | Shift   |         |         |         |         |         |                                |         |         |         |         |         |         |
+* |         |         |         |         |         |         |                                |         |         |         |         |         |         |
+* /--------//--------//--------//--------//--------//--------//--------/             /--------//--------//--------//--------//--------//--------//--------/
+* |         |         |         |         |         |         |         |            |         |         |         |         |         |         |         |
+* |         |         |         |         |         |         |         |            |         |         |         |         |         |         |         |
+* \--------\\--------\\--------\\--------\\--------\\--------\\--------\             \--------\\--------\\--------\\--------\\--------\\--------\\--------\
+*
+*
+*                     /--------//--------//--------//--------//--------/                                           /--------//--------//--------//--------//--------/
+*                     | Ctrl    |         |         |         |         |                                          |         |         |         | Toggle 5|         |
+*                     |         |         |         |         |         |                                          |         |         |         |         |         |
+*                     \--------\\--------\\--------\\--------\/--------//--------/   /--------//--------/          \--------\\--------\\--------\\--------\\--------\
+*                                                             | F1      | F2      |  |         |         |
+*                                                             |         |         |  |         |         |
+*                                                             \--------\/--------/   /--------/\--------\
+*                                                                       | F3      |  |         |
+*                                                                       |         |  |         |
+*                                                   /--------//--------//--------/   /--------//--------//--------/
+*                                                   | SPC     | Ctrl    | F4      |  |         |         |         |
+*                                                   |         |         |         |  |         |         |         |
+*                                                   \--------\\--------\\--------\   \--------\\--------\\--------\
+*
+*
 **/
 [EGOS]=LAYOUT_ergodox(
 //left half
-    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 
-    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 
-    KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 
-    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 
-                  KC_LCTL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 
-                                              KC_F1, KC_F2, 
-                                                     KC_F3, 
-                                       KC_SPC, KC_LCTL, KC_F4, 
+    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+    KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+                  KC_LCTL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+                                              KC_F1, KC_F2,
+                                                     KC_F3,
+                                       KC_SPC, KC_LCTL, KC_F4,
     //right half
-    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 
-    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 
-           KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 
-    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 
-                         KC_TRNS, KC_TRNS, KC_TRNS, M(M_TOGGLE_5), KC_TRNS, 
-    KC_TRNS, KC_TRNS, 
-    KC_TRNS, 
+    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+           KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+                         KC_TRNS, KC_TRNS, KC_TRNS, M(M_TOGGLE_5), KC_TRNS,
+    KC_TRNS, KC_TRNS,
+    KC_TRNS,
     KC_TRNS, KC_TRNS, KC_TRNS),
 };
 
@@ -556,7 +556,7 @@ void matrix_init_user(void) {
 // Runs constantly in the background, in a loop.
 void matrix_scan_user(void) {
 
-uint8_t layer = biton32(layer_state);
+uint8_t layer = get_highest_layer(layer_state);
 
 ergodox_board_led_off();
 ergodox_right_led_1_off();
@@ -566,17 +566,17 @@ switch (layer) {
 
     case SYMB:
         ergodox_right_led_1_on();
-        
-        
+
+
     break;
     case MDIA:
-        
+
         ergodox_right_led_2_on();
-        
+
     break;
     case NUMB:
-        
-        
+
+
         ergodox_right_led_3_on();
     break;
     case EGOS:
@@ -590,4 +590,3 @@ break;
 }
 
 };
-
diff --git a/layouts/community/ergodox/osx_fr/keymap.c b/layouts/community/ergodox/osx_fr/keymap.c
index 886e54208a..22451c1a30 100644
--- a/layouts/community/ergodox/osx_fr/keymap.c
+++ b/layouts/community/ergodox/osx_fr/keymap.c
@@ -141,7 +141,7 @@ LAYOUT_ergodox(
 // Runs constantly in the background, in a loop.
 void matrix_scan_user(void) {
 
-    uint8_t layer = biton32(layer_state);
+    uint8_t layer = get_highest_layer(layer_state);
 
     ergodox_board_led_off();
     ergodox_right_led_1_off();
diff --git a/layouts/community/ergodox/osx_kinesis_pnut/keymap.c b/layouts/community/ergodox/osx_kinesis_pnut/keymap.c
index ad6ea27364..fb50a3407e 100644
--- a/layouts/community/ergodox/osx_kinesis_pnut/keymap.c
+++ b/layouts/community/ergodox/osx_kinesis_pnut/keymap.c
@@ -145,7 +145,7 @@ LAYOUT_ergodox(
 // Runs constantly in the background, in a loop.
 void matrix_scan_user(void) {
 
-    uint8_t layer = biton32(layer_state);
+    uint8_t layer = get_highest_layer(layer_state);
 
     ergodox_board_led_off();
     ergodox_right_led_1_off();
diff --git a/layouts/community/ergodox/osx_neo2/keymap.c b/layouts/community/ergodox/osx_neo2/keymap.c
index 3dbfceabc4..125cc43a8f 100644
--- a/layouts/community/ergodox/osx_neo2/keymap.c
+++ b/layouts/community/ergodox/osx_neo2/keymap.c
@@ -704,7 +704,7 @@ void matrix_init_user(void){
 
 // Runs constantly in the background, in a loop.
 void matrix_scan_user(void) {
-  uint8_t layer = biton32(layer_state);
+  uint8_t layer = get_highest_layer(layer_state);
 
   ergodox_board_led_off();
   ergodox_right_led_1_off();
diff --git a/layouts/community/ergodox/phoenix/keymap.c b/layouts/community/ergodox/phoenix/keymap.c
index a66462e3a8..4371e5f2e7 100644
--- a/layouts/community/ergodox/phoenix/keymap.c
+++ b/layouts/community/ergodox/phoenix/keymap.c
@@ -138,7 +138,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 // Runs constantly in the background, in a loop.
 void matrix_scan_user(void) {
 
-    uint8_t layer = biton32(layer_state);
+    uint8_t layer = get_highest_layer(layer_state);
 
     ergodox_board_led_off();
     ergodox_right_led_1_off();
diff --git a/layouts/community/ergodox/plover/keymap.c b/layouts/community/ergodox/plover/keymap.c
index ffb869309a..7b34dde2ed 100644
--- a/layouts/community/ergodox/plover/keymap.c
+++ b/layouts/community/ergodox/plover/keymap.c
@@ -182,7 +182,7 @@ LAYOUT_ergodox(
 // Runs constantly in the background, in a loop.
 void matrix_scan_user(void) {
 
-    uint8_t layer = biton32(layer_state);
+    uint8_t layer = get_highest_layer(layer_state);
 
     ergodox_board_led_off();
     ergodox_right_led_1_off();
diff --git a/layouts/community/ergodox/qwerty_code_friendly/keymap.c b/layouts/community/ergodox/qwerty_code_friendly/keymap.c
index 6e285d5613..ed06446907 100644
--- a/layouts/community/ergodox/qwerty_code_friendly/keymap.c
+++ b/layouts/community/ergodox/qwerty_code_friendly/keymap.c
@@ -662,7 +662,7 @@ void matrix_init_user(void) {
 /* Runs constantly in the background, in a loop. */
 void matrix_scan_user(void) {
 
-  uint8_t layer = biton32(layer_state);
+  uint8_t layer = get_highest_layer(layer_state);
 
   ergodox_board_led_off();
   ergodox_right_led_1_off();
diff --git a/layouts/community/ergodox/reset_eeprom/keymap.c b/layouts/community/ergodox/reset_eeprom/keymap.c
index 83c252a9a1..726447cbd0 100644
--- a/layouts/community/ergodox/reset_eeprom/keymap.c
+++ b/layouts/community/ergodox/reset_eeprom/keymap.c
@@ -96,7 +96,7 @@ void matrix_init_user(void) {
 // Runs constantly in the background, in a loop.
 void matrix_scan_user(void) {
 
-    uint8_t layer = biton32(layer_state);
+    uint8_t layer = get_highest_layer(layer_state);
 
     ergodox_board_led_off();
     ergodox_right_led_1_off();
diff --git a/layouts/community/ergodox/romanzolotarev-norman-plover-osx-hjkl/keymap.c b/layouts/community/ergodox/romanzolotarev-norman-plover-osx-hjkl/keymap.c
index 819944121e..6eb319ca63 100644
--- a/layouts/community/ergodox/romanzolotarev-norman-plover-osx-hjkl/keymap.c
+++ b/layouts/community/ergodox/romanzolotarev-norman-plover-osx-hjkl/keymap.c
@@ -88,7 +88,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
 // Runs constantly in the background, in a loop.
 void matrix_scan_user(void) {
-  uint8_t layer = biton32(layer_state);
+  uint8_t layer = get_highest_layer(layer_state);
   ergodox_board_led_off();
   ergodox_right_led_1_off();
   ergodox_right_led_2_off();
diff --git a/layouts/community/ergodox/romanzolotarev-norman-plover-osx/keymap.c b/layouts/community/ergodox/romanzolotarev-norman-plover-osx/keymap.c
index a0964fac77..adf420daa0 100644
--- a/layouts/community/ergodox/romanzolotarev-norman-plover-osx/keymap.c
+++ b/layouts/community/ergodox/romanzolotarev-norman-plover-osx/keymap.c
@@ -88,7 +88,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
 // Runs constantly in the background, in a loop.
 void matrix_scan_user(void) {
-  uint8_t layer = biton32(layer_state);
+  uint8_t layer = get_highest_layer(layer_state);
   ergodox_board_led_off();
   ergodox_right_led_1_off();
   ergodox_right_led_2_off();
diff --git a/layouts/community/ergodox/romanzolotarev-norman-qwerty-osx/keymap.c b/layouts/community/ergodox/romanzolotarev-norman-qwerty-osx/keymap.c
index 6aca3a6d5f..cf3941ee1d 100644
--- a/layouts/community/ergodox/romanzolotarev-norman-qwerty-osx/keymap.c
+++ b/layouts/community/ergodox/romanzolotarev-norman-qwerty-osx/keymap.c
@@ -48,7 +48,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
 // Runs constantly in the background, in a loop.
 void matrix_scan_user(void) {
-  uint8_t layer = biton32(layer_state);
+  uint8_t layer = get_highest_layer(layer_state);
   ergodox_board_led_off();
   ergodox_right_led_1_off();
   ergodox_right_led_2_off();
diff --git a/layouts/community/ergodox/sethbc/keymap.c b/layouts/community/ergodox/sethbc/keymap.c
index 26d3106ec4..f3a1f64309 100644
--- a/layouts/community/ergodox/sethbc/keymap.c
+++ b/layouts/community/ergodox/sethbc/keymap.c
@@ -77,7 +77,7 @@ void matrix_init_user(void) {
 // Runs constantly in the background, in a loop.
 void matrix_scan_user(void) {
 
-    uint8_t layer = biton32(layer_state);
+    uint8_t layer = get_highest_layer(layer_state);
 
     ergodox_board_led_off();
     ergodox_right_led_1_off();
diff --git a/layouts/community/ergodox/siroken3/keymap.c b/layouts/community/ergodox/siroken3/keymap.c
index fed8b4a0c8..dd5125d20e 100644
--- a/layouts/community/ergodox/siroken3/keymap.c
+++ b/layouts/community/ergodox/siroken3/keymap.c
@@ -141,7 +141,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 // Runs constantly in the background, in a loop.
 void matrix_scan_user(void) {
 
-    uint8_t layer = biton32(layer_state);
+    uint8_t layer = get_highest_layer(layer_state);
 
     ergodox_board_led_off();
     ergodox_right_led_1_off();
diff --git a/layouts/community/ergodox/sneako/keymap.c b/layouts/community/ergodox/sneako/keymap.c
index 9d3cdd5a11..dffe797ab0 100644
--- a/layouts/community/ergodox/sneako/keymap.c
+++ b/layouts/community/ergodox/sneako/keymap.c
@@ -141,7 +141,7 @@ LAYOUT_ergodox(
 // Runs constantly in the background, in a loop.
 void matrix_scan_user(void) {
 
-    uint8_t layer = biton32(layer_state);
+    uint8_t layer = get_highest_layer(layer_state);
 
     ergodox_board_led_off();
     ergodox_right_led_1_off();
diff --git a/layouts/community/ergodox/software_neo2/keymap.c b/layouts/community/ergodox/software_neo2/keymap.c
index 5f600a5ab5..c191a034f2 100644
--- a/layouts/community/ergodox/software_neo2/keymap.c
+++ b/layouts/community/ergodox/software_neo2/keymap.c
@@ -98,7 +98,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 // Runs constantly in the background, in a loop.
 void matrix_scan_user(void) {
 
-    uint8_t layer = biton32(layer_state);
+    uint8_t layer = get_highest_layer(layer_state);
 
     ergodox_board_led_off();
     ergodox_right_led_1_off();
diff --git a/layouts/community/ergodox/swedish-lindhe/keymap.c b/layouts/community/ergodox/swedish-lindhe/keymap.c
index 368e216cdc..b0abff9ec6 100644
--- a/layouts/community/ergodox/swedish-lindhe/keymap.c
+++ b/layouts/community/ergodox/swedish-lindhe/keymap.c
@@ -162,7 +162,7 @@ void matrix_init_user(void) {
 // Runs constantly in the background, in a loop.
 void matrix_scan_user(void) {
 
-    uint8_t layer = biton32(layer_state);
+    uint8_t layer = get_highest_layer(layer_state);
 
     ergodox_board_led_off();
     ergodox_right_led_1_off();
diff --git a/layouts/community/ergodox/swedish/keymap.c b/layouts/community/ergodox/swedish/keymap.c
index 90218aa886..5e2d47de57 100644
--- a/layouts/community/ergodox/swedish/keymap.c
+++ b/layouts/community/ergodox/swedish/keymap.c
@@ -203,7 +203,7 @@ void matrix_init_user(void) {
 // Runs constantly in the background, in a loop.
 void matrix_scan_user(void) {
 
-    uint8_t layer = biton32(layer_state);
+    uint8_t layer = get_highest_layer(layer_state);
 
     ergodox_board_led_off();
     ergodox_right_led_1_off();
diff --git a/layouts/community/ergodox/swissgerman/keymap.c b/layouts/community/ergodox/swissgerman/keymap.c
index 8ba9582934..8766d16ae0 100644
--- a/layouts/community/ergodox/swissgerman/keymap.c
+++ b/layouts/community/ergodox/swissgerman/keymap.c
@@ -222,7 +222,7 @@ void matrix_init_user(void) {
 // Runs constantly in the background, in a loop.
 void matrix_scan_user(void) {
 
-    uint8_t layer = biton32(layer_state);
+    uint8_t layer = get_highest_layer(layer_state);
 
     switch (layer) {
       // TODO: Make this relevant to the ErgoDox EZ.
diff --git a/layouts/community/ergodox/techtomas/keymap.c b/layouts/community/ergodox/techtomas/keymap.c
index 742eca03a4..bdbb50be42 100644
--- a/layouts/community/ergodox/techtomas/keymap.c
+++ b/layouts/community/ergodox/techtomas/keymap.c
@@ -180,7 +180,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 // Runs constantly in the background, in a loop.
 void matrix_scan_user(void) {
 
-    uint8_t layer = biton32(layer_state);
+    uint8_t layer = get_highest_layer(layer_state);
 
     ergodox_board_led_off();
     ergodox_right_led_1_off();
diff --git a/layouts/community/ergodox/tkuichooseyou/keymap.c b/layouts/community/ergodox/tkuichooseyou/keymap.c
index ea6c8f259f..08f1cfc9ab 100644
--- a/layouts/community/ergodox/tkuichooseyou/keymap.c
+++ b/layouts/community/ergodox/tkuichooseyou/keymap.c
@@ -138,7 +138,7 @@ LAYOUT_ergodox(
 // Runs constantly in the background, in a loop.
 void matrix_scan_user(void) {
 
-    uint8_t layer = biton32(layer_state);
+    uint8_t layer = get_highest_layer(layer_state);
 
     ergodox_board_led_off();
     ergodox_right_led_1_off();
diff --git a/layouts/community/ergodox/tonyabra_osx/keymap.c b/layouts/community/ergodox/tonyabra_osx/keymap.c
index 741a6396e8..9b8048dda3 100644
--- a/layouts/community/ergodox/tonyabra_osx/keymap.c
+++ b/layouts/community/ergodox/tonyabra_osx/keymap.c
@@ -138,7 +138,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 // Runs constantly in the background, in a loop.
 void matrix_scan_user(void) {
 
-    uint8_t layer = biton32(layer_state);
+    uint8_t layer = get_highest_layer(layer_state);
 
     ergodox_board_led_off();
     ergodox_right_led_1_off();
diff --git a/layouts/community/ergodox/townk_osx/keymap.c b/layouts/community/ergodox/townk_osx/keymap.c
index 6799ad7460..c79d74d6eb 100644
--- a/layouts/community/ergodox/townk_osx/keymap.c
+++ b/layouts/community/ergodox/townk_osx/keymap.c
@@ -229,7 +229,7 @@ uint8_t current_layer = BASE;
 
 // Runs constantly in the background, in a loop.
 void matrix_scan_user(void) {
-  uint8_t layer = biton32(layer_state);
+  uint8_t layer = get_highest_layer(layer_state);
 
   ergodox_led_all_off();
   ergodox_led_all_set(LED_BRIGHTNESS_LO);
diff --git a/layouts/community/ergodox/twentylives_dvorak_with_hebrew/keymap.c b/layouts/community/ergodox/twentylives_dvorak_with_hebrew/keymap.c
index 4b5181a70d..12548ae0ea 100644
--- a/layouts/community/ergodox/twentylives_dvorak_with_hebrew/keymap.c
+++ b/layouts/community/ergodox/twentylives_dvorak_with_hebrew/keymap.c
@@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 	                                          KC_DELETE, KC_TRNS,
 	                                                     KC_LGUI,
 	                              KC_BSPACE,CTL_T(KC_NO),KC_LALT,
-	
+
 	KC_TILD,   KC_6,    KC_7,        KC_8,        KC_9,      KC_0,     KC_EQUAL,
 	KC_TRNS,   KC_F,    KC_G,        KC_C,        KC_R,      KC_L,     KC_SLASH,
 	KC_D,      KC_H,    KC_T,        KC_N,        KC_S,      KC_MINUS,
@@ -77,7 +77,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 	                                               KC_TRNS, KC_TRNS,
 	                                                        KC_TRNS,
 	                                      KC_TRNS, KC_TRNS, KC_TRNS,
-	
+
 	KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,  KC_TRNS,   KC_TRNS,   KC_TRNS,
 	KC_TRNS, KC_Y,    KC_U,    KC_E,     KC_O,      KC_P,      KC_TRNS,
 	         KC_H,    KC_J,    KC_K,     KC_L,      KC_SCOLON, KC_TRNS,
@@ -110,9 +110,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  *                                 `--------------------'       `--------------------'
  */
 [2] = LAYOUT_ergodox(
-	KC_TRNS, KC_F1,   KC_F2,      KC_F3,      KC_F4,       KC_F5,   KC_TRNS, 
+	KC_TRNS, KC_F1,   KC_F2,      KC_F3,      KC_F4,       KC_F5,   KC_TRNS,
 	KC_TRNS, KC_TRNS, KC_TRNS,    KC_MS_UP,   KC_TRNS,     KC_TRNS, KC_TRNS,
-	KC_TRNS, KC_TRNS, KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT, KC_TRNS, 
+	KC_TRNS, KC_TRNS, KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT, KC_TRNS,
 	KC_TRNS, KC_TRNS, KC_TRNS,    KC_TRNS,    KC_TRNS,     KC_TRNS, KC_TRNS,
 	KC_TRNS, KC_TRNS, KC_TRNS,    KC_TRNS,    KC_TRNS,
 	                                                       KC_TRNS, KC_TRNS,
@@ -120,12 +120,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 	                                              KC_TRNS, KC_TRNS, KC_TRNS,
 
 	KC_TRNS,    KC_F6,      KC_F7,      KC_F8,      KC_F9,   KC_F10,  KC_TRNS,
-	KC_F11,     KC_TRNS,    KC_TRNS,    KC_UP,      KC_TRNS, KC_TRNS, KC_TRNS, 
+	KC_F11,     KC_TRNS,    KC_TRNS,    KC_UP,      KC_TRNS, KC_TRNS, KC_TRNS,
 	KC_TRNS,    KC_LEFT,    KC_DOWN,    KC_RIGHT,   KC_TRNS, KC_TRNS,
 	KC_F12,     KC_TRNS,    KC_TRNS,    KC_TRNS,    KC_TRNS, KC_TRNS, KC_TRNS,
 	                        KC_MS_BTN1, KC_MS_BTN2, KC_TRNS, KC_TRNS, KC_TRNS,
 	KC_TRNS,    KC_TRNS,
-	KC_TRNS, 
+	KC_TRNS,
 	KC_TRNS,    KC_TRNS,    KC_TRNS
 ),
 
@@ -154,19 +154,19 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 	// Left Hand
 	KC_TRNS, KC_TRNS, KC_TRNS,    KC_TRNS,    KC_TRNS,     KC_TRNS, KC_TRNS,
 	KC_TRNS, KC_TRNS, KC_TRNS,    KC_TRNS,    KC_TRNS,     KC_TRNS, KC_TRNS,
-	KC_TRNS, KC_TRNS, KC_TRNS,    KC_TRNS,    KC_TRNS,     KC_TRNS, 
+	KC_TRNS, KC_TRNS, KC_TRNS,    KC_TRNS,    KC_TRNS,     KC_TRNS,
 	KC_TRNS, KC_TRNS, KC_TRNS,    KC_TRNS,    KC_TRNS,     KC_TRNS, KC_TRNS,
 	KC_TRNS, KC_TRNS, KC_TRNS,    KC_TRNS,    KC_TRNS,
 	KC_TRNS,KC_TRNS,
 	KC_TRNS,
 	KC_TRNS,KC_TRNS,KC_TRNS,
 	// Right Hand
-	KC_TRNS, KC_TRNS,  KC_LOCKING_NUM, KC_KP_SLASH, KC_KP_ASTERISK, KC_KP_MINUS, KC_TRNS, 
+	KC_TRNS, KC_TRNS,  KC_LOCKING_NUM, KC_KP_SLASH, KC_KP_ASTERISK, KC_KP_MINUS, KC_TRNS,
 	KC_TRNS, KC_TRNS,  KC_KP_7,        KC_KP_8,     KC_KP_9,        KC_KP_PLUS,  KC_TRNS,
-	         KC_TRNS,  KC_KP_4,        KC_KP_5,     KC_KP_6,        KC_KP_PLUS,  KC_TRNS,     
+	         KC_TRNS,  KC_KP_4,        KC_KP_5,     KC_KP_6,        KC_KP_PLUS,  KC_TRNS,
 	KC_TRNS, KC_TRNS,  KC_KP_1,        KC_KP_2,     KC_KP_3,        KC_ENTER,    KC_TRNS,
 	                   KC_KP_0,        KC_KP_0,     KC_KP_DOT,      KC_ENTER,    KC_TRNS,
-	KC_TRNS,  KC_TRNS, 
+	KC_TRNS,  KC_TRNS,
 	KC_TRNS,
 	KC_TRNS, KC_TRNS, KC_TRNS
 ),
@@ -175,7 +175,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
 void matrix_scan_user(void) {
 
-    uint8_t layer = biton32(layer_state);
+    uint8_t layer = get_highest_layer(layer_state);
 
     ergodox_board_led_off();
     ergodox_right_led_1_off();
diff --git a/layouts/community/ergodox/win10_writers-block/keymap.c b/layouts/community/ergodox/win10_writers-block/keymap.c
index 05adaed759..443e403b18 100644
--- a/layouts/community/ergodox/win10_writers-block/keymap.c
+++ b/layouts/community/ergodox/win10_writers-block/keymap.c
@@ -4,8 +4,8 @@
 #include "version.h"
 #include "wait.h"
 
-#define BASE 0 // default layer  -  helpful for writing in Office-style word processors. 
-#define SYMB 1 // symbol layer   -  NumPad, etc. - same as Ergodox EZ default but no EEPROM or Version key 
+#define BASE 0 // default layer  -  helpful for writing in Office-style word processors.
+#define SYMB 1 // symbol layer   -  NumPad, etc. - same as Ergodox EZ default but no EEPROM or Version key
 #define RIMW 2 // rimworld layer -  made for the game RimWorld, by Tynan Sylvester | feel free to remap for your favorite game!
 #define MDIA 3 // media layer    -  mouse and music - close to Ergodox EZ default media layer
 
@@ -27,19 +27,19 @@ enum {
 };
 
 void cake_count (qk_tap_dance_state_t *state, void *user_data) {
-  if (state->count == 2) {         
+  if (state->count == 2) {
     layer_on (SYMB);        //define double tap here
     layer_off (MDIA);
-  } 
-  else {    
+  }
+  else {
     layer_off (SYMB);       //define single tap or hold here
     layer_off (MDIA);
   }
-  if (state->count == 3) {         
+  if (state->count == 3) {
      layer_on (RIMW);       //define triple tap here
      layer_off (MDIA);
-  } 
-  else {    
+  }
+  else {
    	layer_off (RIMW);       //define single tap or hold here
 	layer_off (MDIA);
     reset_tap_dance (state);
@@ -83,7 +83,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  * ,--------------------------------------------------.           ,--------------------------------------------------.
  * |   `    |   1  |   2  |   3  |   4  |   5  | 6    |           |  7   |   7  |   8  |   9  |   0  |   -  |   =    |
  * |--------+------+------+------+------+-------------|           |------+------+------+------+------+------+--------|
- * | F12/L1 |   Q  |   W  |   E  |   R  |   T  |  {/[ |           |TD(L0 |   Y  |   U  |   I  |   O  |   P  |   \    | 
+ * | F12/L1 |   Q  |   W  |   E  |   R  |   T  |  {/[ |           |TD(L0 |   Y  |   U  |   I  |   O  |   P  |   \    |
  * |--------+------+------+------+------+------|      |           |L1 L2)|------+------+------+------+------+--------|
  * |Caps/Win|   A  |   S  |   D  |   F  |   G  |------|           |------|   H  |   J  |   K  |   L  |   ;  |   '    |
  * |--------+------+------+------+------+------|  }/] |           TD(ctrl|------+------+------+------+------+--------|
@@ -163,8 +163,8 @@ LT(SYMB, KC_F12),         KC_Q,         KC_W,         KC_E,        KC_R,   KC_T,
        KC_TRNS, KC_TRNS,
        KC_TRNS,
        KC_TRNS, KC_TRNS, KC_TRNS
-),	
-	
+),
+
 /* Keymap 2: RimWorld Layer
  *
  * ,--------------------------------------------------.           ,--------------------------------------------------.
@@ -186,7 +186,7 @@ LT(SYMB, KC_F12),         KC_Q,         KC_W,         KC_E,        KC_R,   KC_T,
  *                                 |      |      |  Q   |       |      |      |      |
  *                                 `--------------------'       `--------------------'
  */
-// RIMWORLD 
+// RIMWORLD
 [RIMW] = LAYOUT_ergodox(
        // left hand
         KC_ESC,   KC_1,    KC_2,     KC_3,    KC_4,    KC_5,    KC_6,
@@ -300,7 +300,7 @@ void matrix_init_user(void) {
 // Runs constantly in the background, in a loop.
 void matrix_scan_user(void) {
 
-    uint8_t layer = biton32(layer_state);
+    uint8_t layer = get_highest_layer(layer_state);
 
     ergodox_board_led_off();
     ergodox_right_led_1_off();
@@ -315,7 +315,7 @@ void matrix_scan_user(void) {
             break;
         case 3:
             ergodox_right_led_3_on();
-            break;			
+            break;
         default:
             // none
             break;
diff --git a/layouts/community/ergodox/xyverz/keymap.c b/layouts/community/ergodox/xyverz/keymap.c
index c77920bb13..f348736c6e 100644
--- a/layouts/community/ergodox/xyverz/keymap.c
+++ b/layouts/community/ergodox/xyverz/keymap.c
@@ -1,6 +1,6 @@
 /*
  * About this keymap:
- * 
+ *
  * The Dvorak layout shown here stems from my early Kinesis years, using the Contour PS/2 with a Dvorak
  * software layout. Because of this, the RBRC and LBRC were on opposite sides of the board in the corner
  * keys. When I originally set up this keymap, I'd decided to continue using this layout with my ErgoDox.
@@ -14,7 +14,7 @@
  * layouts.
  *
  * What's New:
- * 
+ *
  * I've overhauled this Dvorak layout a bit to more match what I've got on my other Ortho boards. For
  * some keys, I'm moving away from my old Kinesis keymap and adding the brackets and braces to the
  * inner column vertical keys. I figure this will help me have better ease of use. In this update, I
@@ -246,7 +246,7 @@ void matrix_init_user(void) {
 // Runs constantly in the background, in a loop.
 void matrix_scan_user(void) {
 
-    uint8_t layer = biton32(layer_state);
+    uint8_t layer = get_highest_layer(layer_state);
 
     ergodox_board_led_off();
     ergodox_right_led_1_off();
diff --git a/layouts/community/ergodox/zweihander-macos/keymap.c b/layouts/community/ergodox/zweihander-macos/keymap.c
index b2ddeb0d6b..0aecc24e67 100644
--- a/layouts/community/ergodox/zweihander-macos/keymap.c
+++ b/layouts/community/ergodox/zweihander-macos/keymap.c
@@ -140,7 +140,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 // Runs constantly in the background, in a loop.
 void matrix_scan_user(void) {
 
-    uint8_t layer = biton32(layer_state);
+    uint8_t layer = get_highest_layer(layer_state);
 
     ergodox_board_led_off();
     ergodox_right_led_1_off();
diff --git a/layouts/community/ortho_4x12/peej/keymap.c b/layouts/community/ortho_4x12/peej/keymap.c
index d78f03da41..1e2874ac99 100644
--- a/layouts/community/ortho_4x12/peej/keymap.c
+++ b/layouts/community/ortho_4x12/peej/keymap.c
@@ -56,7 +56,7 @@ layer_state_t layer_state_set_user(layer_state_t state) {
     writePinLow(LED_RED);
     writePinLow(LED_GREEN);
 
-    switch (biton32(state)) {
+    switch (get_highest_layer(state)) {
     case _FUNCTION:
         writePinHigh(LED_RED);
         break;
diff --git a/quantum/action_layer.h b/quantum/action_layer.h
index b87d096eed..bd1085a70f 100644
--- a/quantum/action_layer.h
+++ b/quantum/action_layer.h
@@ -41,7 +41,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #endif
 
 #if !defined(LAYER_STATE_8BIT) && !defined(LAYER_STATE_16BIT) && !defined(LAYER_STATE_32BIT)
-#    define LAYER_STATE_32BIT
+#    define LAYER_STATE_16BIT
 #endif
 
 #if defined(LAYER_STATE_8BIT)
diff --git a/tmk_core/protocol/arm_atsam/md_rgb_matrix.c b/tmk_core/protocol/arm_atsam/md_rgb_matrix.c
index 3ed83a44a6..52fe86d297 100644
--- a/tmk_core/protocol/arm_atsam/md_rgb_matrix.c
+++ b/tmk_core/protocol/arm_atsam/md_rgb_matrix.c
@@ -450,7 +450,7 @@ static void md_rgb_matrix_config_override(int i) {
     float bo = 0;
     float po;
 
-    uint8_t highest_active_layer = biton32(layer_state);
+    uint8_t highest_active_layer = get_highest_layer(layer_state);
 
     if (led_animation_circular) {
         // TODO: should use min/max values from LED configuration instead of
diff --git a/users/333fred/333fred.c b/users/333fred/333fred.c
index 99f4e01685..ea7b904403 100644
--- a/users/333fred/333fred.c
+++ b/users/333fred/333fred.c
@@ -115,7 +115,7 @@ void tap_dance_process_keycode(uint16_t keycode) {
 }
 
 __attribute__ ((weak))
-void layer_state_set_rgb(uint32_t state) {}
+void layer_state_set_rgb(layer_state_t state) {}
 
 layer_state_t layer_state_set_user(layer_state_t state) {
   layer_state_set_rgb(state);
diff --git a/users/333fred/rgb.c b/users/333fred/rgb.c
index d287143302..ae21702030 100644
--- a/users/333fred/rgb.c
+++ b/users/333fred/rgb.c
@@ -23,8 +23,8 @@
 #include "quantum.h"
 #include "333fred.h"
 
-void layer_state_set_rgb(uint32_t state) {
-  switch (biton32(state)) {
+void layer_state_set_rgb(layer_state_t state) {
+  switch (get_highest_layer(state)) {
     case BASE:
       // purple
       rgblight_sethsv_noeeprom(210, 255, 20);
diff --git a/users/bbaserdem/bbaserdem.c b/users/bbaserdem/bbaserdem.c
index cdacda12ee..e0cf3d81d1 100644
--- a/users/bbaserdem/bbaserdem.c
+++ b/users/bbaserdem/bbaserdem.c
@@ -59,7 +59,7 @@ __attribute__ ((weak)) void matrix_scan_keymap(void) { }
 __attribute__ ((weak)) bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
     return true;
 }
-__attribute__ ((weak)) uint32_t layer_state_set_keymap (uint32_t state) {
+__attribute__ ((weak)) layer_state_t layer_state_set_keymap (layer_state_t state) {
     return state;
 }
 __attribute__ ((weak)) void led_set_keymap(uint8_t usb_led) { }
@@ -627,7 +627,7 @@ layer_state_t layer_state_set_user(layer_state_t state) {
     state = layer_state_set_keymap (state);
 #ifdef RGBLIGHT_ENABLE
     // Change RGB lighting depending on the last layer activated
-    rgblight_change( biton32(state) );
+    rgblight_change( get_highest_layer(state) );
 #endif
     return state;
 }
diff --git a/users/billypython/billypython.c b/users/billypython/billypython.c
index 180b478d7a..f165d2e260 100644
--- a/users/billypython/billypython.c
+++ b/users/billypython/billypython.c
@@ -23,7 +23,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
 }
 
 __attribute__((weak))
-uint32_t layer_state_set_keymap(uint32_t state) {
+layer_state_t layer_state_set_keymap(layer_state_t state) {
   return state;
 }
 
diff --git a/users/billypython/billypython.h b/users/billypython/billypython.h
index 4a444e9787..cdf5121f2f 100644
--- a/users/billypython/billypython.h
+++ b/users/billypython/billypython.h
@@ -31,4 +31,4 @@ enum layers_user {
 };
 
 bool process_record_keymap(uint16_t keycode, keyrecord_t *record);
-uint32_t layer_state_set_keymap(uint32_t state);
+layer_state_t layer_state_set_keymap(layer_state_t state);
diff --git a/users/dhertz/dhertz.c b/users/dhertz/dhertz.c
index 163b1cb644..1a2b6e38f1 100644
--- a/users/dhertz/dhertz.c
+++ b/users/dhertz/dhertz.c
@@ -18,7 +18,7 @@ bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
   return true;
 }
 __attribute__ ((weak))
-uint32_t layer_state_set_keymap (uint32_t state) {
+layer_state_t layer_state_set_keymap (layer_state_t state) {
   return state;
 }
 __attribute__ ((weak))
@@ -107,4 +107,3 @@ layer_state_t layer_state_set_user (layer_state_t state) {
 void led_set_user(uint8_t usb_led) {
    led_set_keymap(usb_led);
 }
-
diff --git a/users/doogle999/doogle999.c b/users/doogle999/doogle999.c
index 320de7cff8..c9ee125741 100644
--- a/users/doogle999/doogle999.c
+++ b/users/doogle999/doogle999.c
@@ -382,7 +382,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t* record)
 	static char text[CALC_BUFFER_SIZE + 1]; // Used to store input and then output when ready to print
 	static char backspaceText[CALC_BUFFER_SIZE + 1]; // Pretty dumb waste of memory because only backspace characters, used with send_string to backspace and remove input
 
-	if((biton32(layer_state) == CALC_LAYER && CALC_FORCE_NUM_LOCK_INSIDE_CALC) || (biton32(layer_state) != CALC_LAYER && CALC_FORCE_NUM_LOCK_OUTSIDE_CALC))
+	if((get_highest_layer(layer_state) == CALC_LAYER && CALC_FORCE_NUM_LOCK_INSIDE_CALC) || (get_highest_layer(layer_state) != CALC_LAYER && CALC_FORCE_NUM_LOCK_OUTSIDE_CALC))
 	{
 		bool numpadKeyPressed = record->event.pressed &&
 			!(get_mods() & MODS_SHIFT_MASK) &&
@@ -397,7 +397,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t* record)
 		}
 	}
 
-	if(biton32(layer_state) != CALC_LAYER) { return true; }
+	if(get_highest_layer(layer_state) != CALC_LAYER) { return true; }
 
 	int action = process_input(keycode, get_mods(), record->event);
 	switch(action)
@@ -457,4 +457,4 @@ bool process_record_user(uint16_t keycode, keyrecord_t* record)
 		send_string(characterToSend);
 	}
 	return false;
-}
\ No newline at end of file
+}
diff --git a/users/edvorakjp/edvorakjp.c b/users/edvorakjp/edvorakjp.c
index c44d8bb440..c95b03d981 100644
--- a/users/edvorakjp/edvorakjp.c
+++ b/users/edvorakjp/edvorakjp.c
@@ -12,7 +12,7 @@ layer_state_t layer_state_set_user(layer_state_t state) {
     return layer_state_set_keymap(state);
 }
 
-__attribute__((weak)) uint32_t layer_state_set_keymap(uint32_t state) { return state; }
+__attribute__((weak)) layer_state_t layer_state_set_keymap(layer_state_t state) { return state; }
 
 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
     bool process_record_user_result = process_record_keymap(keycode, record) && process_record_edvorakjp_swap_scln(keycode, record) && process_record_edvorakjp_config(keycode, record) && process_record_layer(keycode, record) && process_record_ime(keycode, record);
diff --git a/users/edvorakjp/edvorakjp.h b/users/edvorakjp/edvorakjp.h
index 93cd9851b7..a878f71ca8 100644
--- a/users/edvorakjp/edvorakjp.h
+++ b/users/edvorakjp/edvorakjp.h
@@ -68,7 +68,7 @@ enum tap_dance_code {
 void     matrix_init_user(void);
 void     matrix_init_keymap(void);
 layer_state_t layer_state_set_user(layer_state_t state);
-uint32_t layer_state_set_keymap(uint32_t state);
+layer_state_t layer_state_set_keymap(layer_state_t state);
 bool     process_record_user(uint16_t keycode, keyrecord_t *record);
 bool     process_record_keymap(uint16_t keycode, keyrecord_t *record);
 
diff --git a/users/ericgebhart/ericgebhart.c b/users/ericgebhart/ericgebhart.c
index 2a34110ae2..a071fb8c2e 100755
--- a/users/ericgebhart/ericgebhart.c
+++ b/users/ericgebhart/ericgebhart.c
@@ -40,7 +40,7 @@ __attribute__ ((weak))
 void matrix_scan_keymap(void) {}
 
 __attribute__ ((weak))
-uint32_t layer_state_set_keymap (uint32_t state) {
+layer_state_t layer_state_set_keymap (layer_state_t state) {
   return state;
 }
 
diff --git a/users/ericgebhart/tap_dances.c b/users/ericgebhart/tap_dances.c
index 9f344986aa..8f9503a261 100755
--- a/users/ericgebhart/tap_dances.c
+++ b/users/ericgebhart/tap_dances.c
@@ -47,7 +47,7 @@ void tap_dance_mouse_btns (qk_tap_dance_state_t *state, void *user_data) {
 
 // counting on all the qwerty layers to be less than dvorak_on_bepo
 int on_qwerty(){
-    uint8_t deflayer = (biton32(default_layer_state));
+    uint8_t deflayer = (get_highest_layer(default_layer_state));
     return (deflayer < _DVORAK_BP);
 }
 
@@ -58,7 +58,7 @@ static void switch_default_layer(uint8_t layer) {
 
 // so the keyboard remembers which layer it's in after power disconnect.
 /*
-  uint32_t default_layer_state_set_kb(uint32_t state) {
+  layer_state_t default_layer_state_set_kb(layer_state_t state) {
   eeconfig_update_default_layer(state);
   return state;
   }
diff --git a/users/kuchosauronad0/kuchosauronad0.c b/users/kuchosauronad0/kuchosauronad0.c
index a8f17b08ee..820d84daad 100644
--- a/users/kuchosauronad0/kuchosauronad0.c
+++ b/users/kuchosauronad0/kuchosauronad0.c
@@ -117,7 +117,7 @@ void matrix_scan_user(void){
 }
 
 __attribute__ ((weak))
-uint32_t layer_state_set_keymap (uint32_t state) {
+layer_state_t layer_state_set_keymap (layer_state_t state) {
   return state;
 }
 
@@ -133,12 +133,12 @@ layer_state_t layer_state_set_user(layer_state_t state) {
 
 
 __attribute__ ((weak))
-uint32_t default_layer_state_set_keymap (uint32_t state) {
+layer_state_t default_layer_state_set_keymap (layer_state_t state) {
   return state;
 }
 
 // Runs state check and changes underglow color and animation
-uint32_t default_layer_state_set_user(uint32_t state) {
+layer_state_t default_layer_state_set_user(layer_state_t state) {
   state = default_layer_state_set_keymap(state);
 #if 0
 #ifdef RGBLIGHT_ENABLE
diff --git a/users/kuchosauronad0/kuchosauronad0.h b/users/kuchosauronad0/kuchosauronad0.h
index da996457c6..5cbd517d67 100644
--- a/users/kuchosauronad0/kuchosauronad0.h
+++ b/users/kuchosauronad0/kuchosauronad0.h
@@ -65,8 +65,8 @@ void     shutdown_keymap(void);
 void     suspend_power_down_keymap(void);
 void     suspend_wakeup_init_keymap(void);
 void     matrix_scan_keymap(void);
-uint32_t layer_state_set_keymap (uint32_t state);
-uint32_t default_layer_state_set_keymap (uint32_t state);
+layer_state_t layer_state_set_keymap (layer_state_t state);
+layer_state_t default_layer_state_set_keymap (layer_state_t state);
 void     led_set_keymap(uint8_t usb_led);
 void     eeconfig_init_keymap(void);
 
diff --git a/users/kuchosauronad0/rgblight_user.c b/users/kuchosauronad0/rgblight_user.c
index 63e412c557..feea0c412f 100644
--- a/users/kuchosauronad0/rgblight_user.c
+++ b/users/kuchosauronad0/rgblight_user.c
@@ -84,7 +84,7 @@ void matrix_scan_rgb(void) {
 layer_state_t layer_state_set_rgb(layer_state_t state) {
 # ifdef RGBLIGHT_ENABLE
   if (userspace_config.rgb_layer_change) {
-    switch (biton32(state)) {  // _RAISE, _LOWER and _ADJUST use a custom color and the breathing effect
+    switch (get_highest_layer(state)) {  // _RAISE, _LOWER and _ADJUST use a custom color and the breathing effect
       case _RAISE:
         rgblight_sethsv_noeeprom_green();
         rgblight_mode_noeeprom(RGBLIGHT_MODE_BREATHING + 3);
@@ -98,7 +98,7 @@ layer_state_t layer_state_set_rgb(layer_state_t state) {
         rgblight_mode_noeeprom(RGBLIGHT_MODE_BREATHING + 2);
         break;
       default:  // Use a solid color for normal layers
-        switch (biton32(default_layer_state)) {
+        switch (get_highest_layer(default_layer_state)) {
           case _QWERTY:
             rgblight_sethsv_noeeprom_magenta();
             break;
@@ -118,7 +118,7 @@ layer_state_t layer_state_set_rgb(layer_state_t state) {
             rgblight_sethsv_noeeprom_white();
             break;
         }
-        biton32(state) == _MODS ? rgblight_mode_noeeprom(RGBLIGHT_MODE_BREATHING) : rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT);  // if _MODS layer is on, then breath to denote it
+        get_highest_layer(state) == _MODS ? rgblight_mode_noeeprom(RGBLIGHT_MODE_BREATHING) : rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT);  // if _MODS layer is on, then breath to denote it
         break;
     }
   }
@@ -135,7 +135,7 @@ void matrix_scan_indicator(void) {
 #endif // !INDICATOR_LIGHTS
 
 void rgblight_fade_helper(bool direction){
-  // true: increase val = fade in 
+  // true: increase val = fade in
   // false: decrease val = fade out
   for (uint8_t index = 0; index <  RGBLIGHT_VAL_STEP ; index++) {
     direction ? rgblight_increase_val()  : rgblight_decrease_val();
@@ -147,10 +147,10 @@ void fadeflash_leds(uint8_t hue, uint8_t sat, uint8_t val){
   // fade out, set new hue and saturation, fade in, fade out, set old color, fade in
   // this is used in leader.c
   // TODO: come up with a better name maybe
-  rgblight_fade_helper(false); 
-  rgblight_sethsv_noeeprom(hue, sat, 0); 
-  rgblight_fade_helper(true); 
-  rgblight_fade_helper(false); 
-  rgblight_sethsv_noeeprom(base_hue, base_sat, 0); 
-  rgblight_fade_helper(true); 
+  rgblight_fade_helper(false);
+  rgblight_sethsv_noeeprom(hue, sat, 0);
+  rgblight_fade_helper(true);
+  rgblight_fade_helper(false);
+  rgblight_sethsv_noeeprom(base_hue, base_sat, 0);
+  rgblight_fade_helper(true);
 }
diff --git a/users/kuchosauronad0/template.c b/users/kuchosauronad0/template.c
index 475e45d391..76cc572be3 100644
--- a/users/kuchosauronad0/template.c
+++ b/users/kuchosauronad0/template.c
@@ -63,11 +63,11 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
 
 
 __attribute__ ((weak))
-uint32_t layer_state_set_keymap (uint32_t state) {
+layer_state_t layer_state_set_keymap (layer_state_t state) {
   return state;
 }
 
-uint32_t layer_state_set_user (uint32_t state) {
+layer_state_t layer_state_set_user (layer_state_t state) {
   return layer_state_set_keymap (state);
 }
 
diff --git a/users/mtdjr/mtdjr.c b/users/mtdjr/mtdjr.c
index 9c6c26bc86..cd67bf3b5f 100644
--- a/users/mtdjr/mtdjr.c
+++ b/users/mtdjr/mtdjr.c
@@ -137,7 +137,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
 };
 
 layer_state_t layer_state_set_user(layer_state_t state) {
-  switch (biton32(state)) {
+  switch (get_highest_layer(state)) {
     case _RAISE:
       #ifdef RGBLIGHT_ENABLE
       rgblight_sethsv_noeeprom (240, 255, 255);
diff --git a/users/ninjonas/oled.c b/users/ninjonas/oled.c
index 55eaf88ccb..463c6dfebb 100644
--- a/users/ninjonas/oled.c
+++ b/users/ninjonas/oled.c
@@ -23,7 +23,7 @@ bool process_record_oled(uint16_t keycode, keyrecord_t *record) {
 
 void render_layout_state(void) {
   oled_write_P(PSTR("Layout: "), false);
-  switch (biton32(default_layer_state)) {
+  switch (get_highest_layer(default_layer_state)) {
       case _COLEMAK:
         oled_write_P(PSTR("Colemak"), false);
         break;
diff --git a/users/pvinis/pvinis.c b/users/pvinis/pvinis.c
index 71f9210aec..96b01bb461 100644
--- a/users/pvinis/pvinis.c
+++ b/users/pvinis/pvinis.c
@@ -95,4 +95,4 @@ void keyboard_post_init_user(void) {
 // Default functions.
 __attribute__((weak)) void keyboard_post_init_user_keymap(void) {}
 
-__attribute__((weak)) uint32_t layer_state_set_user_keymap(uint32_t state) { return state; }
+__attribute__((weak)) layer_state_t layer_state_set_user_keymap(layer_state_t state) { return state; }
diff --git a/users/pvinis/pvinis.h b/users/pvinis/pvinis.h
index c50033a440..5a11a6cb6f 100644
--- a/users/pvinis/pvinis.h
+++ b/users/pvinis/pvinis.h
@@ -169,4 +169,4 @@ enum {
 
 // Extra stuff that might be needed.
 void     keyboard_post_init_user_keymap(void);
-uint32_t layer_state_set_user_keymap(uint32_t state);
+layer_state_t layer_state_set_user_keymap(layer_state_t state);
diff --git a/users/romus/romus.c b/users/romus/romus.c
index f707bb8843..a41a6df578 100644
--- a/users/romus/romus.c
+++ b/users/romus/romus.c
@@ -59,7 +59,7 @@ __attribute__ ((weak)) void matrix_scan_keymap(void) { }
 __attribute__ ((weak)) bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
     return true;
 }
-__attribute__ ((weak)) uint32_t layer_state_set_keymap (uint32_t state) {
+__attribute__ ((weak)) layer_state_t layer_state_set_keymap (layer_state_t state) {
     return state;
 }
 __attribute__ ((weak)) void led_set_keymap(uint8_t usb_led) { }
@@ -551,7 +551,7 @@ layer_state_t layer_state_set_user(layer_state_t state) {
     state = layer_state_set_keymap (state);
 #ifdef RGBLIGHT_ENABLE
     // Change RGB lighting depending on the last layer activated
-    rgblight_change( biton32(state) );
+    rgblight_change( get_highest_layer(state) );
 #endif
     return state;
 }
diff --git a/users/sigma/sigma.c b/users/sigma/sigma.c
index 527925a63f..8470060a53 100644
--- a/users/sigma/sigma.c
+++ b/users/sigma/sigma.c
@@ -49,12 +49,12 @@ bool process_record_secrets(uint16_t keycode, keyrecord_t *record) {
 
 
 __attribute__ ((weak))
-uint32_t layer_state_set_keymap (uint32_t state) {
+layer_state_t layer_state_set_keymap (layer_state_t state) {
   return state;
 }
 
 __attribute__ ((weak))
-uint32_t default_layer_state_set_keymap (uint32_t state) {
+layer_state_t default_layer_state_set_keymap (layer_state_t state) {
   return state;
 }
 
diff --git a/users/stanrc85/layer_rgb.c b/users/stanrc85/layer_rgb.c
index 6d57198f3b..ad30c2ee65 100644
--- a/users/stanrc85/layer_rgb.c
+++ b/users/stanrc85/layer_rgb.c
@@ -5,7 +5,7 @@ void matrix_init_user(void) {
 };
 
 layer_state_t layer_state_set_user(layer_state_t state) {
-  switch (biton32(state)) {
+  switch (get_highest_layer(state)) {
     case 0:
       rgblight_setrgb (0xFF, 0x00, 0x00);
       break;
diff --git a/users/talljoe/talljoe.c b/users/talljoe/talljoe.c
index 517f712ec8..6655170d4a 100644
--- a/users/talljoe/talljoe.c
+++ b/users/talljoe/talljoe.c
@@ -138,7 +138,7 @@ void matrix_init_user(void) {
   }
 }
 
-uint32_t default_layer_state_set_kb(uint32_t state) {
+layer_state_t default_layer_state_set_kb(layer_state_t state) {
   // persist changes to default layers
   eeconfig_update_default_layer(state);
   return state;
diff --git a/users/tominabox1/tominabox1.c b/users/tominabox1/tominabox1.c
index 7322ead0dc..b4ec224d07 100644
--- a/users/tominabox1/tominabox1.c
+++ b/users/tominabox1/tominabox1.c
@@ -128,7 +128,7 @@ layer_state_t layer_state_set_keymap (layer_state_t state) {
 
 layer_state_t layer_state_set_user(layer_state_t state) {
     state = update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
-    switch (biton32(state)) {
+    switch (get_highest_layer(state)) {
         case _LOWER:
             break;
         case _RAISE:
@@ -231,7 +231,7 @@ void render_status_main(void) {
 
     // Host Keyboard Layer Status
     oled_write_P(PSTR("Layer: "), false);
-    switch (biton32(layer_state)) {
+    switch (get_highest_layer(layer_state)) {
         case _BASE:
             oled_write_P(PSTR("Colemak\n"), false);
             break;
diff --git a/users/turbomech/backupturbomech.c b/users/turbomech/backupturbomech.c
index aaea05df96..3671d27ab4 100644
--- a/users/turbomech/backupturbomech.c
+++ b/users/turbomech/backupturbomech.c
@@ -31,7 +31,7 @@ bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
   return true;
 }
 __attribute__ ((weak))
-uint32_t layer_state_set_keymap (uint32_t state) {
+layer_state_t layer_state_set_keymap (layer_state_t state) {
   return state;
 }
 __attribute__ ((weak))
@@ -300,7 +300,7 @@ layer_state_t layer_state_set_user(layer_state_t state) {
 #ifdef RGBLIGHT_ENABLE
   uint8_t default_layer = eeconfig_read_default_layer();
   if (rgb_layer_change) {
-    switch (biton32(state)) {
+    switch (get_highest_layer(state)) {
     case _FUNCTION:
       rgblight_set_blue;
      rgblight_mode(1);
@@ -377,7 +377,7 @@ bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
   return true;
 }
 __attribute__ ((weak))
-uint32_t layer_state_set_keymap (uint32_t state) {
+layer_state_t layer_state_set_keymap (layer_state_t state) {
   return state;
 }
 __attribute__ ((weak))
diff --git a/users/xulkal/custom_oled.c b/users/xulkal/custom_oled.c
index 7fe8040927..fd03033ad6 100644
--- a/users/xulkal/custom_oled.c
+++ b/users/xulkal/custom_oled.c
@@ -37,7 +37,7 @@ static void render_icon(void)
 
 static void render_layer(void)
 {
-    uint8_t layer = layer_state ? biton(layer_state) : biton32(default_layer_state);
+    uint8_t layer = layer_state ? get_highest_layer(layer_state) : get_highest_layer(default_layer_state);
 #ifdef OLED_90ROTATION
     oled_write_P(PSTR("Layer"), false);
 #else
diff --git a/users/zer09/zer09.c b/users/zer09/zer09.c
index a6768f0a1a..78433b4c20 100644
--- a/users/zer09/zer09.c
+++ b/users/zer09/zer09.c
@@ -43,7 +43,7 @@ void matrix_init_user(void) {
 
 void matrix_scan_user(void) {
   static uint8_t is_leds_changes = 1;
-  c_lyr = biton32(layer_state);
+  c_lyr = get_highest_layer(layer_state);
 
   is_leds_changes = is_leds_changes << set_layer_led(c_lyr);
   is_leds_changes = is_leds_changes << shifted_layer();