// NOTE: Use the many #define settings below to customize this keymap!
#define OPERATING_SYSTEM 'L' // choose 'L'inux, 'M'acOS, or 'W'indows
#define DIFFICULTY_LEVEL  0  // 0:custom, 1:easy -> 5:hard (see below)
#define ENFORCE_BILATERAL    // cancels single-handed home row mod+tap
//#define SPACE_FORGIVENESS  // allow lingering taps on the space bar
//#define THUMB_FORGIVENESS  // allow lingering taps on the thumb keys
//#define SHIFT_FORGIVENESS  // requires v24.08-beta or newer firmware
//#define ENABLE_MOUSE_KEYS  // requires HID_POINTING override to "y"
//#define NATURAL_SCROLLING  // supports "natural scrolling" in macOS
//#define WORLD_USE_COMPOSE  // use native Compose in place of Unicode
//#define WORLD_HOST_AZERTY  // host computer is set to AZERTY locale
//#define WORLD_SHIFT_NUMBER // apply Shift to type number row digits
// TIP: Add more setting overrides here instead of editing them below.

//////////////////////////////////////////////////////////////////////////////
//
// Sunaku's Keymap v42 -- "Glorious Engrammer"
// - https://github.com/sunaku/glove80-keymaps
//
//////////////////////////////////////////////////////////////////////////////

//
// OPERATING_SYSTEM defines which operating system you intend to use
// with this keymap, because shortcuts vary across operating systems.
//
// - https://zmk.dev/docs/codes
// - https://en.wikipedia.org/wiki/Table_of_keyboard_shortcuts
//
// This setting also affects the UNICODE() function defined below, as
// each OS has different shortcuts for typing Unicode hex characters.
//
// NOTE: You may need to enable Unicode hexadecimal input in your OS:
// - (macOS) https://uknowit.uwgb.edu/page.php?id=22623
//     and   https://github.com/ldanet/unicode-hex-input-fix
// - (Linux) https://help.ubuntu.com/stable/ubuntu-help/tips-specialchars.html.en#ctrlshiftu
// - (Windows) https://github.com/samhocevar/wincompose
//
// Specifically, Windows users should be running the WinCompose tool,
// which lets you type Unicode characters via hexadecimal codepoints.
//
#ifndef OPERATING_SYSTEM
  #define OPERATING_SYSTEM 'L' // linux
//#define OPERATING_SYSTEM 'M' // macos
//#define OPERATING_SYSTEM 'W' // windows
#endif
#if OPERATING_SYSTEM == 'M'
  #define _C      LG
  #define _A_TAB  LGUI
  #define _G_TAB  LALT
  #define _REDO   LG(LS(Z))
  #define _POWER  K_POWER
  #define _WORD   LA
  #define _HOME   LG(LEFT)
  #define _END    LG(RIGHT)
  #define _EMOJI  LG(LC(SPACE))
  #define _FILES  LS(LA(M))
  #define _GLOBE  GLOBE
#else
  #define _C      LC
  #define _A_TAB  LALT
  #define _G_TAB  LGUI
  #define _REDO   LC(Y)
  #define _POWER  C_POWER
  #define _WORD   LC
  #define _HOME   HOME
  #define _END    END
  #define _EMOJI  LG(DOT)
  #define _FILES  LG(E)
  #define _GLOBE  LGUI
#endif
#define _SLEEP      C_SLEEP
#if OPERATING_SYSTEM == 'W'
  #define _LOCK   LG(L)
#elif OPERATING_SYSTEM == 'M'
  #define _LOCK   _C(LC(Q))
#elif OPERATING_SYSTEM == 'L'
  #define _LOCK   K_LOCK
#endif
#define _UNDO       _C(Z)
#define _CUT        _C(X)
#define _COPY       _C(C)
#define _PASTE      _C(V)
#define _FIND       _C(F)
#define _FIND_NEXT  _C(G)
#define _FIND_PREV  _C(LS(G))

//
// Keymap specific knowledge of the base layer's alpha + ZMK layout
//
#if defined(LAYER_Enthium) && LAYER_Enthium == 0
  #define KEY_LH_C6R1 0
  #define KEY_LH_C5R1 0
  #define KEY_LH_C4R1 0
  #define KEY_LH_C3R1 0
  #define KEY_LH_C2R1 0
  #define KEY_RH_C2R1 0
  #define KEY_RH_C3R1 0
  #define KEY_RH_C4R1 0
  #define KEY_RH_C5R1 0
  #define KEY_RH_C6R1 0
  #define KEY_LH_C6R2 0
  #define KEY_LH_C5R2 N1
  #define KEY_LH_C4R2 N2
  #define KEY_LH_C3R2 N3
  #define KEY_LH_C2R2 N4
  #define KEY_LH_C1R2 N5
  #define KEY_RH_C1R2 N6
  #define KEY_RH_C2R2 N7
  #define KEY_RH_C3R2 N8
  #define KEY_RH_C4R2 N9
  #define KEY_RH_C5R2 N0
  #define KEY_RH_C6R2 0
  #define KEY_LH_C6R3 0
  #define KEY_LH_C5R3 Z
  #define KEY_LH_C4R3 Y
  #define KEY_LH_C3R3 U
  #define KEY_LH_C2R3 O
  #define KEY_LH_C1R3 SEMI
  #define KEY_RH_C1R3 Q
  #define KEY_RH_C2R3 L
  #define KEY_RH_C3R3 D
  #define KEY_RH_C4R3 P
  #define KEY_RH_C5R3 X
  #define KEY_RH_C6R3 0
  #define KEY_LH_C6R4 W
  #define KEY_LH_C5R4 C
  #define KEY_LH_C4R4 I
  #define KEY_LH_C3R4 E
  #define KEY_LH_C2R4 A
  #define KEY_LH_C1R4 COMMA
  #define KEY_RH_C1R4 K
  #define KEY_RH_C2R4 H
  #define KEY_RH_C3R4 T
  #define KEY_RH_C4R4 N
  #define KEY_RH_C5R4 S
  #define KEY_RH_C6R4 F
  #define KEY_LH_C6R5 0
  #define LAY_LH_C6R5 LAYER_Lower
  #define KEY_LH_C5R5 SQT
  #define KEY_LH_C4R5 MINUS
  #define KEY_LH_C3R5 EQUAL
  #define KEY_LH_C2R5 DOT
  #define KEY_LH_C1R5 FSLH
  #define KEY_LH_T1 ESC
  #define LAY_LH_T1 LAYER_Function
  #define KEY_LH_T2 LPAR
  #define KEY_LH_T3 RPAR
  #define KEY_RH_T3 _HOME
  #define KEY_RH_T2 _END
  #define KEY_RH_T1 ENTER
  #define LAY_RH_T1 LAYER_System
  #define KEY_RH_C1R5 J
  #define KEY_RH_C2R5 M
  #define KEY_RH_C3R5 G
  #define KEY_RH_C4R5 B
  #define KEY_RH_C5R5 V
  #define KEY_RH_C6R5 0
  #define LAY_RH_C6R5 LAYER_Lower
  #define KEY_LH_C6R6 0
  #define KEY_LH_C5R6 GRAVE
  #define KEY_LH_C4R6 LBKT
  #define KEY_LH_C3R6 RBKT
  #define KEY_LH_C2R6 BSLH
  #define LAY_LH_C2R6 LAYER_Emoji
  #define KEY_LH_T4 SPACE
  #define LAY_LH_T4 LAYER_Cursor
  #define KEY_LH_T5 TAB
  #define LAY_LH_T5 LAYER_Number
  #define KEY_LH_T6 INSERT
  #define LAY_LH_T6 LAYER_Typing
  #define KEY_RH_T6 DELETE
  #define LAY_RH_T6 LAYER_Typing
  #define KEY_RH_T5 BACKSPACE
  #define LAY_RH_T5 LAYER_Mouse
  #define KEY_RH_T4 R
  #define LAY_RH_T4 LAYER_Symbol
  #define KEY_RH_C2R6 PAGE_UP
  #define LAY_RH_C2R6 LAYER_World
  #define KEY_RH_C3R6 MOUSE_SCROLL_UP
  #define KEY_RH_C4R6 MOUSE_SCROLL_DOWN
  #define KEY_RH_C5R6 PG_DN
  #define KEY_RH_C6R6 0
#endif
#if defined(LAYER_Engrammer) && LAYER_Engrammer == 0
  #define KEY_LH_C6R1 0
  #define KEY_LH_C5R1 0
  #define KEY_LH_C4R1 0
  #define KEY_LH_C3R1 0
  #define KEY_LH_C2R1 0
  #define KEY_RH_C2R1 0
  #define KEY_RH_C3R1 0
  #define KEY_RH_C4R1 0
  #define KEY_RH_C5R1 0
  #define KEY_RH_C6R1 0
  #define KEY_LH_C6R2 0
  #define KEY_LH_C5R2 N1
  #define KEY_LH_C4R2 N2
  #define KEY_LH_C3R2 N3
  #define KEY_LH_C2R2 N4
  #define KEY_LH_C1R2 N5
  #define KEY_RH_C1R2 N6
  #define KEY_RH_C2R2 N7
  #define KEY_RH_C3R2 N8
  #define KEY_RH_C4R2 N9
  #define KEY_RH_C5R2 N0
  #define KEY_RH_C6R2 0
  #define KEY_LH_C6R3 0
  #define KEY_LH_C5R3 B
  #define KEY_LH_C4R3 Y
  #define KEY_LH_C3R3 O
  #define KEY_LH_C2R3 U
  #define KEY_LH_C1R3 SQT
  #define KEY_RH_C1R3 SEMI
  #define KEY_RH_C2R3 L
  #define KEY_RH_C3R3 D
  #define KEY_RH_C4R3 W
  #define KEY_RH_C5R3 V
  #define KEY_RH_C6R3 Z
  #define KEY_LH_C6R4 EQUAL
  #define KEY_LH_C5R4 C
  #define KEY_LH_C4R4 I
  #define KEY_LH_C3R4 E
  #define KEY_LH_C2R4 A
  #define KEY_LH_C1R4 COMMA
  #define KEY_RH_C1R4 DOT
  #define KEY_RH_C2R4 H
  #define KEY_RH_C3R4 T
  #define KEY_RH_C4R4 S
  #define KEY_RH_C5R4 N
  #define KEY_RH_C6R4 Q
  #define KEY_LH_C6R5 0
  #define LAY_LH_C6R5 LAYER_Lower
  #define KEY_LH_C5R5 G
  #define KEY_LH_C4R5 X
  #define KEY_LH_C3R5 J
  #define KEY_LH_C2R5 K
  #define KEY_LH_C1R5 MINUS
  #define KEY_LH_T1 ESC
  #define LAY_LH_T1 LAYER_Function
  #define KEY_LH_T2 LPAR
  #define KEY_LH_T3 RPAR
  #define KEY_RH_T3 _HOME
  #define KEY_RH_T2 _END
  #define KEY_RH_T1 ENTER
  #define LAY_RH_T1 LAYER_System
  #define KEY_RH_C1R5 FSLH
  #define KEY_RH_C2R5 R
  #define KEY_RH_C3R5 M
  #define KEY_RH_C4R5 F
  #define KEY_RH_C5R5 P
  #define KEY_RH_C6R5 0
  #define LAY_RH_C6R5 LAYER_Lower
  #define KEY_LH_C6R6 0
  #define KEY_LH_C5R6 GRAVE
  #define KEY_LH_C4R6 LBKT
  #define KEY_LH_C3R6 RBKT
  #define KEY_LH_C2R6 BSLH
  #define LAY_LH_C2R6 LAYER_Emoji
  #define KEY_LH_T4 BACKSPACE
  #define LAY_LH_T4 LAYER_Cursor
  #define KEY_LH_T5 DELETE
  #define LAY_LH_T5 LAYER_Number
  #define KEY_LH_T6 INSERT
  #define LAY_LH_T6 LAYER_Typing
  #define KEY_RH_T6 0
  #define LAY_RH_T6 LAYER_Typing
  #define KEY_RH_T5 TAB
  #define LAY_RH_T5 LAYER_Mouse
  #define KEY_RH_T4 SPACE
  #define LAY_RH_T4 LAYER_Symbol
  #define KEY_RH_C2R6 PAGE_UP
  #define LAY_RH_C2R6 LAYER_World
  #define KEY_RH_C3R6 MOUSE_SCROLL_UP
  #define KEY_RH_C4R6 MOUSE_SCROLL_DOWN
  #define KEY_RH_C5R6 PG_DN
  #define KEY_RH_C6R6 0
#endif
#if defined(LAYER_Engram) && LAYER_Engram == 0
  #define KEY_LH_C6R1 0
  #define KEY_LH_C5R1 0
  #define KEY_LH_C4R1 0
  #define KEY_LH_C3R1 0
  #define KEY_LH_C2R1 0
  #define KEY_RH_C2R1 0
  #define KEY_RH_C3R1 0
  #define KEY_RH_C4R1 0
  #define KEY_RH_C5R1 0
  #define KEY_RH_C6R1 0
  #define KEY_LH_C6R2 0
  #define KEY_LH_C5R2 N1
  #define KEY_LH_C4R2 N2
  #define KEY_LH_C3R2 N3
  #define KEY_LH_C2R2 N4
  #define KEY_LH_C1R2 N5
  #define KEY_RH_C1R2 N6
  #define KEY_RH_C2R2 N7
  #define KEY_RH_C3R2 N8
  #define KEY_RH_C4R2 N9
  #define KEY_RH_C5R2 N0
  #define KEY_RH_C6R2 0
  #define KEY_LH_C6R3 0
  #define KEY_LH_C5R3 B
  #define KEY_LH_C4R3 Y
  #define KEY_LH_C3R3 O
  #define KEY_LH_C2R3 U
  #define KEY_LH_C1R3 SQT
  #define KEY_RH_C1R3 DQT
  #define KEY_RH_C2R3 L
  #define KEY_RH_C3R3 D
  #define KEY_RH_C4R3 W
  #define KEY_RH_C5R3 V
  #define KEY_RH_C6R3 Z
  #define KEY_LH_C6R4 HASH
  #define KEY_LH_C5R4 C
  #define KEY_LH_C4R4 I
  #define KEY_LH_C3R4 E
  #define KEY_LH_C2R4 A
  #define KEY_LH_C1R4 COMMA
  #define KEY_RH_C1R4 DOT
  #define KEY_RH_C2R4 H
  #define KEY_RH_C3R4 T
  #define KEY_RH_C4R4 S
  #define KEY_RH_C5R4 N
  #define KEY_RH_C6R4 Q
  #define KEY_LH_C6R5 0
  #define LAY_LH_C6R5 LAYER_Lower
  #define KEY_LH_C5R5 G
  #define KEY_LH_C4R5 X
  #define KEY_LH_C3R5 J
  #define KEY_LH_C2R5 K
  #define KEY_LH_C1R5 MINUS
  #define KEY_LH_T1 ESC
  #define LAY_LH_T1 LAYER_Function
  #define KEY_LH_T2 LPAR
  #define KEY_LH_T3 RPAR
  #define KEY_RH_T3 _HOME
  #define KEY_RH_T2 _END
  #define KEY_RH_T1 ENTER
  #define LAY_RH_T1 LAYER_System
  #define KEY_RH_C1R5 QMARK
  #define KEY_RH_C2R5 R
  #define KEY_RH_C3R5 M
  #define KEY_RH_C4R5 F
  #define KEY_RH_C5R5 P
  #define KEY_RH_C6R5 0
  #define LAY_RH_C6R5 LAYER_Lower
  #define KEY_LH_C6R6 0
  #define KEY_LH_C5R6 FSLH
  #define KEY_LH_C4R6 LBKT
  #define KEY_LH_C3R6 RBKT
  #define KEY_LH_C2R6 AT
  #define KEY_LH_T4 BACKSPACE
  #define LAY_LH_T4 LAYER_Cursor
  #define KEY_LH_T5 DELETE
  #define LAY_LH_T5 LAYER_Number
  #define KEY_LH_T6 INSERT
  #define LAY_LH_T6 LAYER_Typing
  #define KEY_RH_T6 0
  #define LAY_RH_T6 LAYER_Typing
  #define KEY_RH_T5 TAB
  #define LAY_RH_T5 LAYER_Mouse
  #define KEY_RH_T4 SPACE
  #define LAY_RH_T4 LAYER_Symbol
  #define KEY_RH_C2R6 PAGE_UP
  #define LAY_RH_C2R6 LAYER_World
  #define KEY_RH_C3R6 MOUSE_SCROLL_UP
  #define KEY_RH_C4R6 MOUSE_SCROLL_DOWN
  #define KEY_RH_C5R6 PG_DN
  #define KEY_RH_C6R6 0
#endif
#if defined(LAYER_Dvorak) && LAYER_Dvorak == 0
  #define KEY_LH_C6R1 0
  #define KEY_LH_C5R1 0
  #define KEY_LH_C4R1 0
  #define KEY_LH_C3R1 0
  #define KEY_LH_C2R1 0
  #define KEY_RH_C2R1 0
  #define KEY_RH_C3R1 0
  #define KEY_RH_C4R1 0
  #define KEY_RH_C5R1 0
  #define KEY_RH_C6R1 0
  #define KEY_LH_C6R2 0
  #define KEY_LH_C5R2 N1
  #define KEY_LH_C4R2 N2
  #define KEY_LH_C3R2 N3
  #define KEY_LH_C2R2 N4
  #define KEY_LH_C1R2 N5
  #define KEY_RH_C1R2 N6
  #define KEY_RH_C2R2 N7
  #define KEY_RH_C3R2 N8
  #define KEY_RH_C4R2 N9
  #define KEY_RH_C5R2 N0
  #define KEY_RH_C6R2 0
  #define KEY_LH_C6R3 0
  #define KEY_LH_C5R3 SQT
  #define KEY_LH_C4R3 COMMA
  #define KEY_LH_C3R3 DOT
  #define KEY_LH_C2R3 P
  #define KEY_LH_C1R3 Y
  #define KEY_RH_C1R3 F
  #define KEY_RH_C2R3 G
  #define KEY_RH_C3R3 C
  #define KEY_RH_C4R3 R
  #define KEY_RH_C5R3 L
  #define KEY_RH_C6R3 SLASH
  #define KEY_LH_C6R4 EQUAL
  #define KEY_LH_C5R4 A
  #define KEY_LH_C4R4 O
  #define KEY_LH_C3R4 E
  #define KEY_LH_C2R4 U
  #define KEY_LH_C1R4 I
  #define KEY_RH_C1R4 D
  #define KEY_RH_C2R4 H
  #define KEY_RH_C3R4 T
  #define KEY_RH_C4R4 N
  #define KEY_RH_C5R4 S
  #define KEY_RH_C6R4 MINUS
  #define KEY_LH_C6R5 0
  #define LAY_LH_C6R5 LAYER_Lower
  #define KEY_LH_C5R5 SEMI
  #define KEY_LH_C4R5 Q
  #define KEY_LH_C3R5 J
  #define KEY_LH_C2R5 K
  #define KEY_LH_C1R5 X
  #define KEY_LH_T1 ESC
  #define LAY_LH_T1 LAYER_Function
  #define KEY_LH_T2 LPAR
  #define KEY_LH_T3 RPAR
  #define KEY_RH_T3 _HOME
  #define KEY_RH_T2 _END
  #define KEY_RH_T1 ENTER
  #define LAY_RH_T1 LAYER_System
  #define KEY_RH_C1R5 B
  #define KEY_RH_C2R5 M
  #define KEY_RH_C3R5 W
  #define KEY_RH_C4R5 V
  #define KEY_RH_C5R5 Z
  #define KEY_RH_C6R5 0
  #define LAY_RH_C6R5 LAYER_Lower
  #define KEY_LH_C6R6 0
  #define KEY_LH_C5R6 GRAVE
  #define KEY_LH_C4R6 LBKT
  #define KEY_LH_C3R6 RBKT
  #define KEY_LH_C2R6 BSLH
  #define LAY_LH_C2R6 LAYER_Emoji
  #define KEY_LH_T4 BACKSPACE
  #define LAY_LH_T4 LAYER_Cursor
  #define KEY_LH_T5 DELETE
  #define LAY_LH_T5 LAYER_Number
  #define KEY_LH_T6 INSERT
  #define LAY_LH_T6 LAYER_Typing
  #define KEY_RH_T6 0
  #define LAY_RH_T6 LAYER_Typing
  #define KEY_RH_T5 TAB
  #define LAY_RH_T5 LAYER_Mouse
  #define KEY_RH_T4 SPACE
  #define LAY_RH_T4 LAYER_Symbol
  #define KEY_RH_C2R6 PAGE_UP
  #define LAY_RH_C2R6 LAYER_World
  #define KEY_RH_C3R6 MOUSE_SCROLL_UP
  #define KEY_RH_C4R6 MOUSE_SCROLL_DOWN
  #define KEY_RH_C5R6 PG_DN
  #define KEY_RH_C6R6 0
#endif
#if defined(LAYER_Colemak) && LAYER_Colemak == 0
  #define KEY_LH_C6R1 0
  #define KEY_LH_C5R1 0
  #define KEY_LH_C4R1 0
  #define KEY_LH_C3R1 0
  #define KEY_LH_C2R1 0
  #define KEY_RH_C2R1 0
  #define KEY_RH_C3R1 0
  #define KEY_RH_C4R1 0
  #define KEY_RH_C5R1 0
  #define KEY_RH_C6R1 0
  #define KEY_LH_C6R2 0
  #define KEY_LH_C5R2 N1
  #define KEY_LH_C4R2 N2
  #define KEY_LH_C3R2 N3
  #define KEY_LH_C2R2 N4
  #define KEY_LH_C1R2 N5
  #define KEY_RH_C1R2 N6
  #define KEY_RH_C2R2 N7
  #define KEY_RH_C3R2 N8
  #define KEY_RH_C4R2 N9
  #define KEY_RH_C5R2 N0
  #define KEY_RH_C6R2 0
  #define KEY_LH_C6R3 0
  #define KEY_LH_C5R3 Q
  #define KEY_LH_C4R3 W
  #define KEY_LH_C3R3 F
  #define KEY_LH_C2R3 P
  #define KEY_LH_C1R3 G
  #define KEY_RH_C1R3 J
  #define KEY_RH_C2R3 L
  #define KEY_RH_C3R3 U
  #define KEY_RH_C4R3 Y
  #define KEY_RH_C5R3 SEMI
  #define KEY_RH_C6R3 MINUS
  #define KEY_LH_C6R4 EQUAL
  #define KEY_LH_C5R4 A
  #define KEY_LH_C4R4 R
  #define KEY_LH_C3R4 S
  #define KEY_LH_C2R4 T
  #define KEY_LH_C1R4 D
  #define KEY_RH_C1R4 H
  #define KEY_RH_C2R4 N
  #define KEY_RH_C3R4 E
  #define KEY_RH_C4R4 I
  #define KEY_RH_C5R4 O
  #define KEY_RH_C6R4 SQT
  #define KEY_LH_C6R5 0
  #define LAY_LH_C6R5 LAYER_Lower
  #define KEY_LH_C5R5 Z
  #define KEY_LH_C4R5 X
  #define KEY_LH_C3R5 C
  #define KEY_LH_C2R5 V
  #define KEY_LH_C1R5 B
  #define KEY_LH_T1 ESC
  #define LAY_LH_T1 LAYER_Function
  #define KEY_LH_T2 LPAR
  #define KEY_LH_T3 RPAR
  #define KEY_RH_T3 _HOME
  #define KEY_RH_T2 _END
  #define KEY_RH_T1 ENTER
  #define LAY_RH_T1 LAYER_System
  #define KEY_RH_C1R5 K
  #define KEY_RH_C2R5 M
  #define KEY_RH_C3R5 COMMA
  #define KEY_RH_C4R5 DOT
  #define KEY_RH_C5R5 FSLH
  #define KEY_RH_C6R5 0
  #define LAY_RH_C6R5 LAYER_Lower
  #define KEY_LH_C6R6 0
  #define KEY_LH_C5R6 GRAVE
  #define KEY_LH_C4R6 LBKT
  #define KEY_LH_C3R6 RBKT
  #define KEY_LH_C2R6 BSLH
  #define LAY_LH_C2R6 LAYER_Emoji
  #define KEY_LH_T4 BACKSPACE
  #define LAY_LH_T4 LAYER_Cursor
  #define KEY_LH_T5 DELETE
  #define LAY_LH_T5 LAYER_Number
  #define KEY_LH_T6 INSERT
  #define LAY_LH_T6 LAYER_Typing
  #define KEY_RH_T6 0
  #define LAY_RH_T6 LAYER_Typing
  #define KEY_RH_T5 TAB
  #define LAY_RH_T5 LAYER_Mouse
  #define KEY_RH_T4 SPACE
  #define LAY_RH_T4 LAYER_Symbol
  #define KEY_RH_C2R6 PAGE_UP
  #define LAY_RH_C2R6 LAYER_World
  #define KEY_RH_C3R6 MOUSE_SCROLL_UP
  #define KEY_RH_C4R6 MOUSE_SCROLL_DOWN
  #define KEY_RH_C5R6 PG_DN
  #define KEY_RH_C6R6 0
#endif
#if defined(LAYER_QWERTY) && LAYER_QWERTY == 0
  #define KEY_LH_C6R1 0
  #define KEY_LH_C5R1 0
  #define KEY_LH_C4R1 0
  #define KEY_LH_C3R1 0
  #define KEY_LH_C2R1 0
  #define KEY_RH_C2R1 0
  #define KEY_RH_C3R1 0
  #define KEY_RH_C4R1 0
  #define KEY_RH_C5R1 0
  #define KEY_RH_C6R1 0
  #define KEY_LH_C6R2 0
  #define KEY_LH_C5R2 N1
  #define KEY_LH_C4R2 N2
  #define KEY_LH_C3R2 N3
  #define KEY_LH_C2R2 N4
  #define KEY_LH_C1R2 N5
  #define KEY_RH_C1R2 N6
  #define KEY_RH_C2R2 N7
  #define KEY_RH_C3R2 N8
  #define KEY_RH_C4R2 N9
  #define KEY_RH_C5R2 N0
  #define KEY_RH_C6R2 0
  #define KEY_LH_C6R3 0
  #define KEY_LH_C5R3 Q
  #define KEY_LH_C4R3 W
  #define KEY_LH_C3R3 E
  #define KEY_LH_C2R3 R
  #define KEY_LH_C1R3 T
  #define KEY_RH_C1R3 Y
  #define KEY_RH_C2R3 U
  #define KEY_RH_C3R3 I
  #define KEY_RH_C4R3 O
  #define KEY_RH_C5R3 P
  #define KEY_RH_C6R3 MINUS
  #define KEY_LH_C6R4 EQUAL
  #define KEY_LH_C5R4 A
  #define KEY_LH_C4R4 S
  #define KEY_LH_C3R4 D
  #define KEY_LH_C2R4 F
  #define KEY_LH_C1R4 G
  #define KEY_RH_C1R4 H
  #define KEY_RH_C2R4 J
  #define KEY_RH_C3R4 K
  #define KEY_RH_C4R4 L
  #define KEY_RH_C5R4 SEMI
  #define KEY_RH_C6R4 SQT
  #define KEY_LH_C6R5 0
  #define LAY_LH_C6R5 LAYER_Lower
  #define KEY_LH_C5R5 Z
  #define KEY_LH_C4R5 X
  #define KEY_LH_C3R5 C
  #define KEY_LH_C2R5 V
  #define KEY_LH_C1R5 B
  #define KEY_LH_T1 ESC
  #define LAY_LH_T1 LAYER_Function
  #define KEY_LH_T2 LPAR
  #define KEY_LH_T3 RPAR
  #define KEY_RH_T3 _HOME
  #define KEY_RH_T2 _END
  #define KEY_RH_T1 ENTER
  #define LAY_RH_T1 LAYER_System
  #define KEY_RH_C1R5 N
  #define KEY_RH_C2R5 M
  #define KEY_RH_C3R5 COMMA
  #define KEY_RH_C4R5 DOT
  #define KEY_RH_C5R5 FSLH
  #define KEY_RH_C6R5 0
  #define LAY_RH_C6R5 LAYER_Lower
  #define KEY_LH_C6R6 0
  #define KEY_LH_C5R6 GRAVE
  #define KEY_LH_C4R6 LBKT
  #define KEY_LH_C3R6 RBKT
  #define KEY_LH_C2R6 BSLH
  #define LAY_LH_C2R6 LAYER_Emoji
  #define KEY_LH_T4 BACKSPACE
  #define LAY_LH_T4 LAYER_Cursor
  #define KEY_LH_T5 DELETE
  #define LAY_LH_T5 LAYER_Number
  #define KEY_LH_T6 INSERT
  #define LAY_LH_T6 LAYER_Typing
  #define KEY_RH_T6 0
  #define LAY_RH_T6 LAYER_Typing
  #define KEY_RH_T5 TAB
  #define LAY_RH_T5 LAYER_Mouse
  #define KEY_RH_T4 SPACE
  #define LAY_RH_T4 LAYER_Symbol
  #define KEY_RH_C2R6 PAGE_UP
  #define LAY_RH_C2R6 LAYER_World
  #define KEY_RH_C3R6 MOUSE_SCROLL_UP
  #define KEY_RH_C4R6 MOUSE_SCROLL_DOWN
  #define KEY_RH_C5R6 PG_DN
  #define KEY_RH_C6R6 0
#endif
#if defined(LAYER_ColemakDH) && LAYER_ColemakDH == 0
  #define KEY_LH_C6R1 0
  #define KEY_LH_C5R1 0
  #define KEY_LH_C4R1 0
  #define KEY_LH_C3R1 0
  #define KEY_LH_C2R1 0
  #define KEY_RH_C2R1 0
  #define KEY_RH_C3R1 0
  #define KEY_RH_C4R1 0
  #define KEY_RH_C5R1 0
  #define KEY_RH_C6R1 0
  #define KEY_LH_C6R2 0
  #define KEY_LH_C5R2 N1
  #define KEY_LH_C4R2 N2
  #define KEY_LH_C3R2 N3
  #define KEY_LH_C2R2 N4
  #define KEY_LH_C1R2 N5
  #define KEY_RH_C1R2 N6
  #define KEY_RH_C2R2 N7
  #define KEY_RH_C3R2 N8
  #define KEY_RH_C4R2 N9
  #define KEY_RH_C5R2 N0
  #define KEY_RH_C6R2 0
  #define KEY_LH_C6R3 0
  #define KEY_LH_C5R3 Q
  #define KEY_LH_C4R3 W
  #define KEY_LH_C3R3 F
  #define KEY_LH_C2R3 P
  #define KEY_LH_C1R3 B
  #define KEY_RH_C1R3 J
  #define KEY_RH_C2R3 L
  #define KEY_RH_C3R3 U
  #define KEY_RH_C4R3 Y
  #define KEY_RH_C5R3 SEMI
  #define KEY_RH_C6R3 MINUS
  #define KEY_LH_C6R4 EQUAL
  #define KEY_LH_C5R4 A
  #define KEY_LH_C4R4 R
  #define KEY_LH_C3R4 S
  #define KEY_LH_C2R4 T
  #define KEY_LH_C1R4 G
  #define KEY_RH_C1R4 M
  #define KEY_RH_C2R4 N
  #define KEY_RH_C3R4 E
  #define KEY_RH_C4R4 I
  #define KEY_RH_C5R4 O
  #define KEY_RH_C6R4 SQT
  #define KEY_LH_C6R5 0
  #define LAY_LH_C6R5 LAYER_Lower
  #define KEY_LH_C5R5 Z
  #define KEY_LH_C4R5 X
  #define KEY_LH_C3R5 C
  #define KEY_LH_C2R5 D
  #define KEY_LH_C1R5 V
  #define KEY_LH_T1 ESC
  #define LAY_LH_T1 LAYER_Function
  #define KEY_LH_T2 LPAR
  #define KEY_LH_T3 RPAR
  #define KEY_RH_T3 _HOME
  #define KEY_RH_T2 _END
  #define KEY_RH_T1 ENTER
  #define LAY_RH_T1 LAYER_System
  #define KEY_RH_C1R5 K
  #define KEY_RH_C2R5 H
  #define KEY_RH_C3R5 COMMA
  #define KEY_RH_C4R5 DOT
  #define KEY_RH_C5R5 FSLH
  #define KEY_RH_C6R5 0
  #define LAY_RH_C6R5 LAYER_Lower
  #define KEY_LH_C6R6 0
  #define KEY_LH_C5R6 GRAVE
  #define KEY_LH_C4R6 LBKT
  #define KEY_LH_C3R6 RBKT
  #define KEY_LH_C2R6 BSLH
  #define LAY_LH_C2R6 LAYER_Emoji
  #define KEY_LH_T4 BACKSPACE
  #define LAY_LH_T4 LAYER_Cursor
  #define KEY_LH_T5 DELETE
  #define LAY_LH_T5 LAYER_Number
  #define KEY_LH_T6 INSERT
  #define LAY_LH_T6 LAYER_Typing
  #define KEY_RH_T6 0
  #define LAY_RH_T6 LAYER_Typing
  #define KEY_RH_T5 TAB
  #define LAY_RH_T5 LAYER_Mouse
  #define KEY_RH_T4 SPACE
  #define LAY_RH_T4 LAYER_Symbol
  #define KEY_RH_C2R6 PAGE_UP
  #define LAY_RH_C2R6 LAYER_World
  #define KEY_RH_C3R6 MOUSE_SCROLL_UP
  #define KEY_RH_C4R6 MOUSE_SCROLL_DOWN
  #define KEY_RH_C5R6 PG_DN
  #define KEY_RH_C6R6 0
#endif

combos {
  compatible = "zmk,combos";

  //
  // COMBO_FIRING_DECAY defines how much time you have left (milliseconds)
  // after pressing the first key in a ZMK combo to finish the whole chord.
  //
  #ifndef COMBO_FIRING_DECAY
  #define COMBO_FIRING_DECAY 50
  #endif

  // T2+T3

  combo_sticky_globe_left {
    timeout-ms = <COMBO_FIRING_DECAY>;
    key-positions = <POS_LH_T2 POS_LH_T3>;
    bindings = <&sk _GLOBE>;
    layers = <0 1 2 3 4 5 6>;
  };

  combo_sticky_globe_right {
    timeout-ms = <COMBO_FIRING_DECAY>;
    key-positions = <POS_RH_T2 POS_RH_T3>;
    bindings = <&sk _GLOBE>;
    layers = <0 1 2 3 4 5 6>;
  };

  // T1+T2

  combo_sticky_ralt_left {
    timeout-ms = <COMBO_FIRING_DECAY>;
    key-positions = <POS_LH_T1 POS_LH_T2>;
    bindings = <&sk RALT>;
    layers = <0 1 2 3 4 5 6>;
  };

  combo_sticky_ralt_right {
    timeout-ms = <COMBO_FIRING_DECAY>;
    key-positions = <POS_RH_T1 POS_RH_T2>;
    bindings = <&sk RALT>;
    layers = <0 1 2 3 4 5 6>;
  };

  // T2+T5
  #if defined(_A_TAB) && defined(LAYER_Cursor)
  combo_alt_tab_switcher_left {
    timeout-ms = <COMBO_FIRING_DECAY>;
    key-positions = <POS_LH_T2 POS_LH_T5>;
    bindings = <&mod_tab_chord _A_TAB LAYER_Cursor>;
    layers = <0 1 2 3 4 5 6>;
  };
  #endif

  combo_hyper_right {
    timeout-ms = <COMBO_FIRING_DECAY>;
    key-positions = <POS_RH_T2 POS_RH_T5>;
    bindings = <&kp LG(LA(LC(LSHFT)))>;
    layers = <0 1 2 3 4 5 6>;
  };

  // T5+T6
  #if defined(_G_TAB) && defined(LAYER_Cursor)
  combo_win_tab_switcher_left {
    timeout-ms = <COMBO_FIRING_DECAY>;
    key-positions = <POS_LH_T5 POS_LH_T6>;
    bindings = <&mod_tab_chord _G_TAB LAYER_Cursor>;
    layers = <0 1 2 3 4 5 6>;
  };
  #endif

  combo_ctrl_shift_right {
    timeout-ms = <COMBO_FIRING_DECAY>;
    key-positions = <POS_RH_T5 POS_RH_T6>;
    bindings = <&kp LC(LSHFT)>;
    layers = <0 1 2 3 4 5 6>;
  };

  // T3+T6

  combo_ctrl_tab_switcher_left {
    timeout-ms = <COMBO_FIRING_DECAY>;
    key-positions = <POS_LH_T3 POS_LH_T6>;
    bindings = <&mod_tab_chord LCTL LAYER_Cursor>;
    layers = <0 1 2 3 4 5 6>;
  };

  combo_meh_right {
    timeout-ms = <COMBO_FIRING_DECAY>;
    key-positions = <POS_RH_T3 POS_RH_T6>;
    bindings = <&kp LA(LC(LSHFT))>;
    layers = <0 1 2 3 4 5 6>;
  };

  // T1+T4

  combo_sticky_shift_left {
    timeout-ms = <COMBO_FIRING_DECAY>;
    key-positions = <POS_LH_T1 POS_LH_T4>;
    bindings = <&sticky_key_modtap LSFT LSFT>;
    layers = <0 1 2 3 4 5 6 7>;
  };

  combo_sticky_shift_right {
    timeout-ms = <COMBO_FIRING_DECAY>;
    key-positions = <POS_RH_T1 POS_RH_T4>;
    bindings = <&sticky_key_modtap RSFT RSFT>;
    layers = <0 1 2 3 4 5 6 7>;
  };

  // T4+T5

  combo_caps_word_left {
    timeout-ms = <COMBO_FIRING_DECAY>;
    key-positions = <POS_LH_T4 POS_LH_T5>;
    bindings = <&caps_word>;
    layers = <0 1 2 3 4 5 6>;
  };

  combo_caps_word_right {
    timeout-ms = <COMBO_FIRING_DECAY>;
    key-positions = <POS_RH_T4 POS_RH_T5>;
    bindings = <&caps_word>;
    layers = <0 1 2 3 4 5 6>;
  };

  // T1+T5

  combo_caps_lock_left {
    timeout-ms = <COMBO_FIRING_DECAY>;
    key-positions = <POS_LH_T1 POS_LH_T5>;
    bindings = <&kp CAPSLOCK>;
    layers = <0 1 2 3 4 5 6>;
  };

  combo_caps_lock_right {
    timeout-ms = <COMBO_FIRING_DECAY>;
    key-positions = <POS_RH_T1 POS_RH_T5>;
    bindings = <&kp CAPSLOCK>;
    layers = <0 1 2 3 4 5 6>;
  };

  // C1R5+C2R6
  #ifdef LAYER_Gaming
  combo_gaming_layer_toggle {
    timeout-ms = <COMBO_FIRING_DECAY>;
    key-positions = <POS_LH_C1R5 POS_LH_C2R6>;
    bindings = <&tog LAYER_Gaming>;
    layers = <0 LAYER_Gaming>;
  };
  #endif
  #ifdef LAYER_Typing
  combo_typing_layer_toggle {
    timeout-ms = <COMBO_FIRING_DECAY>;
    key-positions = <POS_RH_C1R5 POS_RH_C2R6>;
    bindings = <&tog LAYER_Typing>;
    layers = <0 LAYER_Typing>;
  };
  #endif

  // T1+T2+T3

  combo_sticky_base_layer_reset_left {
    timeout-ms = <COMBO_FIRING_DECAY>;
    key-positions = <POS_LH_T1 POS_LH_T2 POS_LH_T3>;
    bindings = <&to 0>;
    layers = <0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30>;
  };

  combo_sticky_base_layer_reset_right {
    timeout-ms = <COMBO_FIRING_DECAY>;
    key-positions = <POS_RH_T1 POS_RH_T2 POS_RH_T3>;
    bindings = <&to 0>;
    layers = <0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30>;
  };

};

behaviors {

  //////////////////////////////////////////////////////////////////////////
  //
  // Miryoku layers and home row mods (ported from my QMK endgame)
  // - https://sunaku.github.io/home-row-mods.html#porting-to-zmk
  // - https://github.com/urob/zmk-config#timeless-homerow-mods
  //
  //////////////////////////////////////////////////////////////////////////

  //
  // DIFFICULTY_LEVEL specifies your level of expertise with this keymap.
  // It's meant to help newcomers gradually work their way up to mastery.
  //
  // #define DIFFICULTY_LEVEL 1 // novice (500ms)
  // #define DIFFICULTY_LEVEL 2 // slower (400ms)
  // #define DIFFICULTY_LEVEL 3 // normal (300ms)
  // #define DIFFICULTY_LEVEL 4 // faster (200ms)
  // #define DIFFICULTY_LEVEL 5 // expert (100ms)
  //
  // You can disable this setting by omitting it or assigning a `0` zero,
  // in which case it will default to my personal set of time thresholds.
  //
  // #define DIFFICULTY_LEVEL 0 // sunaku (150ms)
  //
  // No matter what difficulty level you choose, you can always override
  // any settings in this keymap at the beginning of this configuration.
  //
  #ifdef DIFFICULTY_LEVEL
    #if DIFFICULTY_LEVEL > 0 && DIFFICULTY_LEVEL < 6
      #ifndef TAPPING_RESOLUTION
        #define TAPPING_RESOLUTION ((6 - DIFFICULTY_LEVEL) * 100)
      #endif
    #endif
  #endif

  //
  // TAPPING_RESOLUTION specifies the maximum speed at which the keyboard
  // confuses your taps as being holds when you type on home row mod keys.
  // When you lower this value, the same confusion should still occur; but
  // when you raise this value, you should be able to type normally again.
  //
  #ifndef TAPPING_RESOLUTION
  #define TAPPING_RESOLUTION 150
  #endif

  //
  // ENFORCE_BILATERAL cancels out single-handed home row mods activation by
  // releasing any currently pressed mods and replacing them with plain taps.
  //
  // NOTE: You may still encounter "flashing mods" where an operating system
  // action is triggered by the release of mods, such as LGUI which launches
  // the Windows Start Menu and LALT which opens the Microsoft Office Ribbon.
  //
  //#define ENFORCE_BILATERAL

  //
  // SHIFT_FORGIVENESS taps when home row shift is merely held and released,
  // without any other key having been tapped while the shift was held down.
  // For example, suppose you hold a home row shift key and, before pressing
  // another key, you suddenly decide that you don't want the shift anymore:
  //
  // <1> If this setting is enabled, the underlying tap behavior is triggered
  //     to type a single character when you release that home row shift key.
  //
  // <2> Otherwise, nothing happens when you release that home row shift key.
  //
  // This requires the "hold-while-undecided" ZMK feature in a beta firmware:
  // please select "v24.08-beta1" or newer from the drop-down menu located at
  // Glove80 Layout Editor > Settings > Advanced Settings > Firmware Version.
  //
  // CAUTION: This can interfere with mod-click mouse usage where you hold a
  // home row shift key and perform mouse actions (move, click, drag & drop):
  // when you release that home row shift key, its underlying character would
  // be typed, potentially triggering an unexpected action on your selection!
  // To prevent the underlying character from being typed, press another key
  // (such as a dedicated shift key, a neighboring home row mod key, or even
  // a layer access key) before you release the original home row shift key.
  //
  // NOTE: You may potentially encounter "flashing mods" where an application
  // or operating system action is triggered by a standalone tap of a shift,
  // but this is unlikely as people regularly tap shift without consequence.
  //
  //#define SHIFT_FORGIVENESS

  //
  // THUMB_FORGIVENESS taps when a thumb layer access key is merely held and
  // released, without any other key having been tapped while thumb was held.
  // For example, suppose you hold the cursor layer key and, before pressing
  // another key, you suddenly decide that you don't want the layer anymore:
  //
  // <1> If this setting is enabled, the underlying tap behavior is triggered
  //     to type a single character when you release that layer access key.
  //
  // <2> Otherwise, nothing happens when you release that layer access key.
  //
  // NOTE: This setting interferes with (and effectively disables) per-key
  // RGB indicators (PR30) for layers accessed via thumb layer access keys.
  //
  //#define THUMB_FORGIVENESS

  //
  // SPACE_FORGIVENESS taps when the symbol layer access key is merely held
  // and released, without any symbol been tapped while the access was held.
  // For example, suppose you hold the symbol layer key and, before pressing
  // another key, you suddenly decide that you don't want the layer anymore:
  //
  // <1> If this setting is enabled, the underlying tap behavior is triggered
  //     to type a single character when you release that layer access key.
  //
  // <2> Otherwise, nothing happens when you release that layer access key.
  //
  // NOTE: This setting interferes with (and effectively disables) per-key
  // RGB indicators (PR30) for layers accessed via thumb layer access keys.
  //
  //#define SPACE_FORGIVENESS

  //
  // The *_FINGER_MOD specify which modifiers are used by home row mod keys.
  // Here, we use Miryoku's "GACS" (Win, Alt, Ctrl, Shift) order by default,
  // unless OPERATING_SYSTEM is macOS, in which case Win & Ctrl are swapped,
  // unless MACOS_USE_GACS is also defined to suppress that Win & Ctrl swap.
  //
  #ifndef PINKY_FINGER_MOD
    #if OPERATING_SYSTEM == 'M' && !defined(MACOS_USE_GACS)
      #define PINKY_FINGER_MOD LCTL
    #else
      #define PINKY_FINGER_MOD LGUI
    #endif
  #endif
  #ifndef RINGY_FINGER_MOD
  #define RINGY_FINGER_MOD LALT
  #endif
  #ifndef MIDDY_FINGER_MOD
    #if OPERATING_SYSTEM == 'M' && !defined(MACOS_USE_GACS)
      #define MIDDY_FINGER_MOD LGUI
    #else
      #define MIDDY_FINGER_MOD LCTL
    #endif
  #endif
  #ifndef INDEX_FINGER_MOD
  #define INDEX_FINGER_MOD LSFT
  #endif
  //
  // The following settings let you configure mods individually, per finger:
  //
  #ifndef LEFT_PINKY_MOD
  #define LEFT_PINKY_MOD PINKY_FINGER_MOD
  #endif
  #ifndef RIGHT_PINKY_MOD
  #define RIGHT_PINKY_MOD PINKY_FINGER_MOD
  #endif
  #ifndef LEFT_RINGY_MOD
  #define LEFT_RINGY_MOD RINGY_FINGER_MOD
  #endif
  #ifndef RIGHT_RINGY_MOD
  #define RIGHT_RINGY_MOD RINGY_FINGER_MOD
  #endif
  #ifndef LEFT_MIDDY_MOD
  #define LEFT_MIDDY_MOD MIDDY_FINGER_MOD
  #endif
  #ifndef RIGHT_MIDDY_MOD
  #define RIGHT_MIDDY_MOD MIDDY_FINGER_MOD
  #endif
  #ifndef LEFT_INDEX_MOD
  #define LEFT_INDEX_MOD INDEX_FINGER_MOD
  #endif
  #ifndef RIGHT_INDEX_MOD
  #define RIGHT_INDEX_MOD INDEX_FINGER_MOD
  #endif

  //
  // HOMEY_HOLDING_TYPE defines the flavor of ZMK hold-tap behavior to use
  // for the pinky, ring, and middle fingers (which are assigned to Super,
  // Alt, and Ctrl respectively in the Miryoku system) on home row keys.
  //
  #ifndef HOMEY_HOLDING_TYPE
  #define HOMEY_HOLDING_TYPE "tap-preferred"
  #endif

  //
  // HOMEY_HOLDING_TIME defines how long you need to hold (milliseconds)
  // home row mod keys in order to send their modifiers to the computer
  // (i.e. "register" them) for mod-click mouse usage (e.g. Ctrl-Click).
  //
  #ifndef HOMEY_HOLDING_TIME
  #define HOMEY_HOLDING_TIME (TAPPING_RESOLUTION + 90)
  #endif
  #ifndef INDEX_HOLDING_TIME
  #define INDEX_HOLDING_TIME (TAPPING_RESOLUTION + 40)
  #endif
  #ifndef MIDDY_HOLDING_TIME
  #define MIDDY_HOLDING_TIME (TAPPING_RESOLUTION + 60)
  #endif
  #ifndef RINGY_HOLDING_TIME
  #define RINGY_HOLDING_TIME (TAPPING_RESOLUTION + 90)
  #endif
  #ifndef PINKY_HOLDING_TIME
  #define PINKY_HOLDING_TIME (TAPPING_RESOLUTION + 130)
  #endif

  //
  // HOMEY_STREAK_DECAY defines how long you need to wait (milliseconds)
  // after typing before you can use home row mods again.  It prevents
  // unintended activation of home row mods when you're actively typing.
  //
  #ifndef HOMEY_STREAK_DECAY
  #define HOMEY_STREAK_DECAY TAPPING_RESOLUTION
  #endif

  //
  // HOMEY_REPEAT_DECAY defines how much time you have left (milliseconds)
  // after tapping a key to hold it again in order to make it auto-repeat.
  //
  #ifndef HOMEY_REPEAT_DECAY
  #define HOMEY_REPEAT_DECAY (TAPPING_RESOLUTION + 150)
  #endif // "tap then hold" for key auto-repeat

  //
  // CHORD_HOLDING_TYPE defines the flavor of ZMK hold-tap behavior to use
  // for chorded home row mods (secondary keypresses in multi-mod chords).
  //
  #ifndef CHORD_HOLDING_TYPE
  #define CHORD_HOLDING_TYPE HOMEY_HOLDING_TYPE
  #endif

  //
  // CHORD_HOLDING_TIME defines how long you need to hold (milliseconds)
  // home row mod keys in order to send their modifiers to the computer
  // (i.e. "register" them) for mod-click mouse usage (e.g. Ctrl-Click).
  // This is specifically for secondary keypresses in multi-mod chords.
  //
  #ifndef CHORD_HOLDING_TIME
  #define CHORD_HOLDING_TIME TAPPING_RESOLUTION
  #endif

  //
  // CHORD_STREAK_DECAY defines how long you need to wait (milliseconds)
  // after typing before you can use home row mods again.  It prevents
  // unintended activation of home row mods when you're actively typing
  // This is specifically for secondary keypresses in multi-mod chords.
  //
  #ifndef CHORD_STREAK_DECAY
  #define CHORD_STREAK_DECAY HOMEY_STREAK_DECAY
  #endif

  //
  // CHORD_REPEAT_DECAY defines how much time you have left (milliseconds)
  // after tapping a key to hold it again in order to make it auto-repeat.
  // This is specifically for secondary keypresses in multi-mod chords.
  //
  #ifndef CHORD_REPEAT_DECAY
  #define CHORD_REPEAT_DECAY HOMEY_REPEAT_DECAY
  #endif

  //
  // INDEX_HOLDING_TYPE defines the flavor of ZMK hold-tap behavior to use
  // for index fingers (which Miryoku assigns to Shift) on home row keys.
  //
  // NOTE: The "tap-preferred" flavor of ZMK hold-tap for index finger keys
  // allows faster activation of the Shift modifier (without having to wait
  // for the modified key to be released as the "balanced" flavor requires).
  //
  #ifndef INDEX_HOLDING_TYPE
  #define INDEX_HOLDING_TYPE "tap-preferred"
  #endif

  //
  // INDEX_STREAK_DECAY defines how long you need to wait (milliseconds)
  // after typing before you can use home row mods again.  It prevents
  // unintended activation of home row mods when you're actively typing.
  //
  #ifndef INDEX_STREAK_DECAY
  #define INDEX_STREAK_DECAY TAPPING_RESOLUTION
  #endif

  //
  // INDEX_REPEAT_DECAY defines how much time you have left (milliseconds)
  // after tapping a key to hold it again in order to make it auto-repeat.
  //
  #ifndef INDEX_REPEAT_DECAY
  #define INDEX_REPEAT_DECAY (TAPPING_RESOLUTION + 150)
  #endif // "tap then hold" for key auto-repeat

  //
  // THUMB_HOLDING_TYPE defines the flavor of ZMK hold-tap behavior to use
  // for the thumbs (which are assigned to 6 layers in the Miryoku system).
  //
  // NOTE: The "balanced" flavor of ZMK hold-tap provides instant modifier
  // activation for the symbol layer (if the tapped symbol key is released
  // while the thumb layer key is still held down) for quicker programming.
  //
  #ifndef THUMB_HOLDING_TYPE
  #define THUMB_HOLDING_TYPE "balanced"
  #endif

  //
  // THUMB_HOLDING_TIME defines how long you need to hold (milliseconds)
  // a thumb key to activate a layer.  Shorter holds are treated as taps.
  //
  #ifndef THUMB_HOLDING_TIME
  #define THUMB_HOLDING_TIME (TAPPING_RESOLUTION + 50)
  #endif

  //
  // THUMB_REPEAT_DECAY defines how much time you have left (milliseconds)
  // after tapping a key to hold it again in order to make it auto-repeat.
  //
  #ifndef THUMB_REPEAT_DECAY
  #define THUMB_REPEAT_DECAY (TAPPING_RESOLUTION + 150)
  #endif // "tap then hold" for key auto-repeat

  //
  // SPACE_HOLDING_TYPE defines the flavor of ZMK hold-tap behavior to use
  // for spacebar (assigned to the right thumb's home position by default).
  //
  #ifndef SPACE_HOLDING_TYPE
  #define SPACE_HOLDING_TYPE THUMB_HOLDING_TYPE
  #endif

  //
  // SPACE_HOLDING_TIME defines how long you need to hold (milliseconds)
  // the space thumb key to activate.  Shorter holds are treated as taps.
  //
  #ifndef SPACE_HOLDING_TIME
  #define SPACE_HOLDING_TIME THUMB_HOLDING_TIME
  #endif

  //
  // SPACE_REPEAT_DECAY defines how much time you have left (milliseconds)
  // after tapping a key to hold it again in order to make it auto-repeat.
  //
  #ifndef SPACE_REPEAT_DECAY
  #define SPACE_REPEAT_DECAY TAPPING_RESOLUTION
  #endif

  //
  // Glove80 key positions index for positional hold-tap
  // - https://discord.com/channels/877392805654306816/937645688244826154/1066713913351221248
  // - https://media.discordapp.net/attachments/937645688244826154/1066713913133121556/image.png
  //
  // |------------------------|------------------------|
  // | LEFT_HAND_KEYS         |        RIGHT_HAND_KEYS |
  // |                        |                        |
  // |  0  1  2  3  4         |          5  6  7  8  9 |
  // | 10 11 12 13 14 15      |      16 17 18 19 20 21 |
  // | 22 23 24 25 26 27      |      28 29 30 31 32 33 |
  // | 34 35 36 37 38 39      |      40 41 42 43 44 45 |
  // | 46 47 48 49 50 51      |      58 59 60 61 62 63 |
  // | 64 65 66 67 68         |         75 76 77 78 79 |
  // |                69 52   |   57 74                |
  // |                 70 53  |  56 73                 |
  // |                  71 54 | 55 72                  |
  // |------------------------|------------------------|
  //
  #define                                              \
       LEFT_HAND_KEYS                                  \
        0  1  2  3  4                                  \
       10 11 12 13 14 15                               \
       22 23 24 25 26 27                               \
       34 35 36 37 38 39                               \
       46 47 48 49 50 51                               \
       64 65 66 67 68                                  \
                      69 52                            \
                       70 53                           \
                        71 54
  #define                                              \
                                       RIGHT_HAND_KEYS \
                                         5  6  7  8  9 \
                                     16 17 18 19 20 21 \
                                     28 29 30 31 32 33 \
                                     40 41 42 43 44 45 \
                                     58 59 60 61 62 63 \
                                        75 76 77 78 79 \
                                  57 74                \
                                 56 73                 \
                                55 72

  #define LEFT_PINKY_KEY  KEY_LH_C5R4
  #define LEFT_RINGY_KEY  KEY_LH_C4R4
  #define LEFT_MIDDY_KEY  KEY_LH_C3R4
  #define LEFT_INDEX_KEY  KEY_LH_C2R4

  #define RIGHT_PINKY_KEY KEY_RH_C5R4
  #define RIGHT_RINGY_KEY KEY_RH_C4R4
  #define RIGHT_MIDDY_KEY KEY_RH_C3R4
  #define RIGHT_INDEX_KEY KEY_RH_C2R4

  //
  // Home row mods with bilateral combinations support
  //
  #ifndef PINKY_HOLDING_TYPE
  #define PINKY_HOLDING_TYPE HOMEY_HOLDING_TYPE
  #endif
  #ifndef PINKY_CHORD_HOLDING_TYPE
  #define PINKY_CHORD_HOLDING_TYPE CHORD_HOLDING_TYPE
  #endif
  #ifndef LEFT_PINKY_CHORD_HOLDING_TYPE
  #define LEFT_PINKY_CHORD_HOLDING_TYPE PINKY_CHORD_HOLDING_TYPE
  #endif
  #ifndef RIGHT_PINKY_CHORD_HOLDING_TYPE
  #define RIGHT_PINKY_CHORD_HOLDING_TYPE PINKY_CHORD_HOLDING_TYPE
  #endif
  #ifndef PINKY_HOLDING_TIME
  #define PINKY_HOLDING_TIME HOMEY_HOLDING_TIME
  #endif
  #ifndef PINKY_CHORD_HOLDING_TIME
  #define PINKY_CHORD_HOLDING_TIME CHORD_HOLDING_TIME
  #endif
  #ifndef LEFT_PINKY_CHORD_HOLDING_TIME
  #define LEFT_PINKY_CHORD_HOLDING_TIME PINKY_CHORD_HOLDING_TIME
  #endif
  #ifndef RIGHT_PINKY_CHORD_HOLDING_TIME
  #define RIGHT_PINKY_CHORD_HOLDING_TIME PINKY_CHORD_HOLDING_TIME
  #endif
  #ifndef PINKY_STREAK_DECAY
  #define PINKY_STREAK_DECAY HOMEY_STREAK_DECAY
  #endif
  #ifndef PINKY_CHORD_STREAK_DECAY
  #define PINKY_CHORD_STREAK_DECAY CHORD_STREAK_DECAY
  #endif
  #ifndef LEFT_PINKY_CHORD_STREAK_DECAY
  #define LEFT_PINKY_CHORD_STREAK_DECAY PINKY_CHORD_STREAK_DECAY
  #endif
  #ifndef RIGHT_PINKY_CHORD_STREAK_DECAY
  #define RIGHT_PINKY_CHORD_STREAK_DECAY PINKY_CHORD_STREAK_DECAY
  #endif
  #ifndef PINKY_REPEAT_DECAY
  #define PINKY_REPEAT_DECAY HOMEY_REPEAT_DECAY
  #endif
  #ifndef PINKY_CHORD_REPEAT_DECAY
  #define PINKY_CHORD_REPEAT_DECAY CHORD_REPEAT_DECAY
  #endif
  #ifndef LEFT_PINKY_CHORD_REPEAT_DECAY
  #define LEFT_PINKY_CHORD_REPEAT_DECAY PINKY_CHORD_REPEAT_DECAY
  #endif
  #ifndef RIGHT_PINKY_CHORD_REPEAT_DECAY
  #define RIGHT_PINKY_CHORD_REPEAT_DECAY PINKY_CHORD_REPEAT_DECAY
  #endif
  #ifndef RINGY_HOLDING_TYPE
  #define RINGY_HOLDING_TYPE HOMEY_HOLDING_TYPE
  #endif
  #ifndef RINGY_CHORD_HOLDING_TYPE
  #define RINGY_CHORD_HOLDING_TYPE CHORD_HOLDING_TYPE
  #endif
  #ifndef LEFT_RINGY_CHORD_HOLDING_TYPE
  #define LEFT_RINGY_CHORD_HOLDING_TYPE RINGY_CHORD_HOLDING_TYPE
  #endif
  #ifndef RIGHT_RINGY_CHORD_HOLDING_TYPE
  #define RIGHT_RINGY_CHORD_HOLDING_TYPE RINGY_CHORD_HOLDING_TYPE
  #endif
  #ifndef RINGY_HOLDING_TIME
  #define RINGY_HOLDING_TIME HOMEY_HOLDING_TIME
  #endif
  #ifndef RINGY_CHORD_HOLDING_TIME
  #define RINGY_CHORD_HOLDING_TIME CHORD_HOLDING_TIME
  #endif
  #ifndef LEFT_RINGY_CHORD_HOLDING_TIME
  #define LEFT_RINGY_CHORD_HOLDING_TIME RINGY_CHORD_HOLDING_TIME
  #endif
  #ifndef RIGHT_RINGY_CHORD_HOLDING_TIME
  #define RIGHT_RINGY_CHORD_HOLDING_TIME RINGY_CHORD_HOLDING_TIME
  #endif
  #ifndef RINGY_STREAK_DECAY
  #define RINGY_STREAK_DECAY HOMEY_STREAK_DECAY
  #endif
  #ifndef RINGY_CHORD_STREAK_DECAY
  #define RINGY_CHORD_STREAK_DECAY CHORD_STREAK_DECAY
  #endif
  #ifndef LEFT_RINGY_CHORD_STREAK_DECAY
  #define LEFT_RINGY_CHORD_STREAK_DECAY RINGY_CHORD_STREAK_DECAY
  #endif
  #ifndef RIGHT_RINGY_CHORD_STREAK_DECAY
  #define RIGHT_RINGY_CHORD_STREAK_DECAY RINGY_CHORD_STREAK_DECAY
  #endif
  #ifndef RINGY_REPEAT_DECAY
  #define RINGY_REPEAT_DECAY HOMEY_REPEAT_DECAY
  #endif
  #ifndef RINGY_CHORD_REPEAT_DECAY
  #define RINGY_CHORD_REPEAT_DECAY CHORD_REPEAT_DECAY
  #endif
  #ifndef LEFT_RINGY_CHORD_REPEAT_DECAY
  #define LEFT_RINGY_CHORD_REPEAT_DECAY RINGY_CHORD_REPEAT_DECAY
  #endif
  #ifndef RIGHT_RINGY_CHORD_REPEAT_DECAY
  #define RIGHT_RINGY_CHORD_REPEAT_DECAY RINGY_CHORD_REPEAT_DECAY
  #endif
  #ifndef MIDDY_HOLDING_TYPE
  #define MIDDY_HOLDING_TYPE HOMEY_HOLDING_TYPE
  #endif
  #ifndef MIDDY_CHORD_HOLDING_TYPE
  #define MIDDY_CHORD_HOLDING_TYPE CHORD_HOLDING_TYPE
  #endif
  #ifndef LEFT_MIDDY_CHORD_HOLDING_TYPE
  #define LEFT_MIDDY_CHORD_HOLDING_TYPE MIDDY_CHORD_HOLDING_TYPE
  #endif
  #ifndef RIGHT_MIDDY_CHORD_HOLDING_TYPE
  #define RIGHT_MIDDY_CHORD_HOLDING_TYPE MIDDY_CHORD_HOLDING_TYPE
  #endif
  #ifndef MIDDY_HOLDING_TIME
  #define MIDDY_HOLDING_TIME HOMEY_HOLDING_TIME
  #endif
  #ifndef MIDDY_CHORD_HOLDING_TIME
  #define MIDDY_CHORD_HOLDING_TIME CHORD_HOLDING_TIME
  #endif
  #ifndef LEFT_MIDDY_CHORD_HOLDING_TIME
  #define LEFT_MIDDY_CHORD_HOLDING_TIME MIDDY_CHORD_HOLDING_TIME
  #endif
  #ifndef RIGHT_MIDDY_CHORD_HOLDING_TIME
  #define RIGHT_MIDDY_CHORD_HOLDING_TIME MIDDY_CHORD_HOLDING_TIME
  #endif
  #ifndef MIDDY_STREAK_DECAY
  #define MIDDY_STREAK_DECAY HOMEY_STREAK_DECAY
  #endif
  #ifndef MIDDY_CHORD_STREAK_DECAY
  #define MIDDY_CHORD_STREAK_DECAY CHORD_STREAK_DECAY
  #endif
  #ifndef LEFT_MIDDY_CHORD_STREAK_DECAY
  #define LEFT_MIDDY_CHORD_STREAK_DECAY MIDDY_CHORD_STREAK_DECAY
  #endif
  #ifndef RIGHT_MIDDY_CHORD_STREAK_DECAY
  #define RIGHT_MIDDY_CHORD_STREAK_DECAY MIDDY_CHORD_STREAK_DECAY
  #endif
  #ifndef MIDDY_REPEAT_DECAY
  #define MIDDY_REPEAT_DECAY HOMEY_REPEAT_DECAY
  #endif
  #ifndef MIDDY_CHORD_REPEAT_DECAY
  #define MIDDY_CHORD_REPEAT_DECAY CHORD_REPEAT_DECAY
  #endif
  #ifndef LEFT_MIDDY_CHORD_REPEAT_DECAY
  #define LEFT_MIDDY_CHORD_REPEAT_DECAY MIDDY_CHORD_REPEAT_DECAY
  #endif
  #ifndef RIGHT_MIDDY_CHORD_REPEAT_DECAY
  #define RIGHT_MIDDY_CHORD_REPEAT_DECAY MIDDY_CHORD_REPEAT_DECAY
  #endif
  #ifndef INDEX_HOLDING_TYPE
  #define INDEX_HOLDING_TYPE HOMEY_HOLDING_TYPE
  #endif
  #ifndef INDEX_CHORD_HOLDING_TYPE
  #define INDEX_CHORD_HOLDING_TYPE CHORD_HOLDING_TYPE
  #endif
  #ifndef LEFT_INDEX_CHORD_HOLDING_TYPE
  #define LEFT_INDEX_CHORD_HOLDING_TYPE INDEX_CHORD_HOLDING_TYPE
  #endif
  #ifndef RIGHT_INDEX_CHORD_HOLDING_TYPE
  #define RIGHT_INDEX_CHORD_HOLDING_TYPE INDEX_CHORD_HOLDING_TYPE
  #endif
  #ifndef INDEX_HOLDING_TIME
  #define INDEX_HOLDING_TIME HOMEY_HOLDING_TIME
  #endif
  #ifndef INDEX_CHORD_HOLDING_TIME
  #define INDEX_CHORD_HOLDING_TIME CHORD_HOLDING_TIME
  #endif
  #ifndef LEFT_INDEX_CHORD_HOLDING_TIME
  #define LEFT_INDEX_CHORD_HOLDING_TIME INDEX_CHORD_HOLDING_TIME
  #endif
  #ifndef RIGHT_INDEX_CHORD_HOLDING_TIME
  #define RIGHT_INDEX_CHORD_HOLDING_TIME INDEX_CHORD_HOLDING_TIME
  #endif
  #ifndef INDEX_STREAK_DECAY
  #define INDEX_STREAK_DECAY HOMEY_STREAK_DECAY
  #endif
  #ifndef INDEX_CHORD_STREAK_DECAY
  #define INDEX_CHORD_STREAK_DECAY CHORD_STREAK_DECAY
  #endif
  #ifndef LEFT_INDEX_CHORD_STREAK_DECAY
  #define LEFT_INDEX_CHORD_STREAK_DECAY INDEX_CHORD_STREAK_DECAY
  #endif
  #ifndef RIGHT_INDEX_CHORD_STREAK_DECAY
  #define RIGHT_INDEX_CHORD_STREAK_DECAY INDEX_CHORD_STREAK_DECAY
  #endif
  #ifndef INDEX_REPEAT_DECAY
  #define INDEX_REPEAT_DECAY HOMEY_REPEAT_DECAY
  #endif
  #ifndef INDEX_CHORD_REPEAT_DECAY
  #define INDEX_CHORD_REPEAT_DECAY CHORD_REPEAT_DECAY
  #endif
  #ifndef LEFT_INDEX_CHORD_REPEAT_DECAY
  #define LEFT_INDEX_CHORD_REPEAT_DECAY INDEX_CHORD_REPEAT_DECAY
  #endif
  #ifndef RIGHT_INDEX_CHORD_REPEAT_DECAY
  #define RIGHT_INDEX_CHORD_REPEAT_DECAY INDEX_CHORD_REPEAT_DECAY
  #endif
  #ifndef LEFT_PINKY_HOLDING_TYPE
  #define LEFT_PINKY_HOLDING_TYPE PINKY_HOLDING_TYPE
  #endif
  #ifndef LEFT_PINKY_HOLDING_TIME
  #define LEFT_PINKY_HOLDING_TIME PINKY_HOLDING_TIME
  #endif
  #ifndef LEFT_PINKY_STREAK_DECAY
  #define LEFT_PINKY_STREAK_DECAY PINKY_STREAK_DECAY
  #endif
  #ifndef LEFT_PINKY_REPEAT_DECAY
  #define LEFT_PINKY_REPEAT_DECAY PINKY_REPEAT_DECAY
  #endif
  left_pinky: homey_left_pinky {
    compatible = "zmk,behavior-hold-tap";
    flavor = LEFT_PINKY_HOLDING_TYPE;
    hold-trigger-key-positions = <RIGHT_HAND_KEYS>;
    hold-trigger-on-release; // wait for other home row mods
    tapping-term-ms = <LEFT_PINKY_HOLDING_TIME>;
    quick-tap-ms = <LEFT_PINKY_REPEAT_DECAY>;
    require-prior-idle-ms = <LEFT_PINKY_STREAK_DECAY>;
    #binding-cells = <2>;
    bindings = <&kp>, <&kp>;
    #ifdef SHIFT_FORGIVENESS
      #if LEFT_PINKY_MOD == LSFT || LEFT_PINKY_MOD == RSFT
        hold-while-undecided; // requires 24.08-beta1 or newer firmware
        retro-tap; // tap on standalone hold
      #endif
    #endif
  };
  left_pinky_bilateral: homey_left_pinky_bilateral {
    compatible = "zmk,behavior-hold-tap";
    flavor = LEFT_PINKY_HOLDING_TYPE;
    hold-trigger-key-positions = <RIGHT_HAND_KEYS>;
    hold-trigger-on-release; // wait for other home row mods
    tapping-term-ms = <LEFT_PINKY_HOLDING_TIME>;
    quick-tap-ms = <LEFT_PINKY_REPEAT_DECAY>;
    require-prior-idle-ms = <LEFT_PINKY_STREAK_DECAY>;
    #binding-cells = <2>;
    bindings = <&left_pinky_hold>, <&kp>;
    #ifdef SHIFT_FORGIVENESS
      #if LEFT_PINKY_MOD == LSFT || LEFT_PINKY_MOD == RSFT
        hold-while-undecided; // requires 24.08-beta1 or newer firmware
        retro-tap; // tap on standalone hold
      #endif
    #endif
  };
  left_pinky_hold: homey_left_pinky_hold {
    compatible = "zmk,behavior-macro-one-param";
    wait-ms = <0>;
    tap-ms = <0>;
    #binding-cells = <1>;
    bindings
      = <&macro_param_1to1>
      , <&macro_press &kp MACRO_PLACEHOLDER>
      #ifdef LAYER_LeftPinky
      , <&macro_press &mo LAYER_LeftPinky>
      #endif
      , <&macro_pause_for_release>
      , <&macro_param_1to1>
      , <&macro_release &kp MACRO_PLACEHOLDER>
      #ifdef LAYER_LeftPinky
      , <&macro_release &mo LAYER_LeftPinky>
      #endif
      ;
  };
  left_pinky_tap: homey_left_pinky_tap {
    compatible = "zmk,behavior-macro-one-param";
    wait-ms = <0>;
    tap-ms = <0>;
    #binding-cells = <1>;
    bindings
      = <&macro_release
          &kp LSFT &kp RSFT
          &kp LALT &kp RALT
          &kp LCTL &kp RCTL
          &kp LGUI &kp RGUI>
      , <&macro_tap &kp LEFT_PINKY_KEY>
      , <&macro_param_1to1>
      , <&macro_tap &kp MACRO_PLACEHOLDER>
      ;
  };
  #define LeftPinky(key, layer_index) LeftPinky_unroll(layer_index) (key)
  #define LeftPinky_unroll(layer_index) LeftPinky_concat(LeftPinky_layer, layer_index)
  #define LeftPinky_concat(prefix, layer_index) prefix ## layer_index
  #ifdef ENFORCE_BILATERAL
    #define left_pinky_layer0_variant left_pinky_bilateral
  #else
    #define left_pinky_layer0_variant left_pinky
  #endif
  #define LeftPinky_layer0(key) left_pinky_layer0_variant LEFT_PINKY_MOD key
  #define LeftPinky_layer1(key) left_pinky LEFT_PINKY_MOD key
  #define LeftPinky_layer2(key) left_pinky LEFT_PINKY_MOD key
  #define LeftPinky_layer3(key) left_pinky LEFT_PINKY_MOD key
  #define LeftPinky_layer4(key) left_pinky LEFT_PINKY_MOD key
  #define LeftPinky_layer5(key) left_pinky LEFT_PINKY_MOD key
  #define LeftPinky_layer6(key) left_pinky LEFT_PINKY_MOD key
  #ifndef RIGHT_PINKY_HOLDING_TYPE
  #define RIGHT_PINKY_HOLDING_TYPE PINKY_HOLDING_TYPE
  #endif
  #ifndef RIGHT_PINKY_HOLDING_TIME
  #define RIGHT_PINKY_HOLDING_TIME PINKY_HOLDING_TIME
  #endif
  #ifndef RIGHT_PINKY_STREAK_DECAY
  #define RIGHT_PINKY_STREAK_DECAY PINKY_STREAK_DECAY
  #endif
  #ifndef RIGHT_PINKY_REPEAT_DECAY
  #define RIGHT_PINKY_REPEAT_DECAY PINKY_REPEAT_DECAY
  #endif
  right_pinky: homey_right_pinky {
    compatible = "zmk,behavior-hold-tap";
    flavor = RIGHT_PINKY_HOLDING_TYPE;
    hold-trigger-key-positions = <LEFT_HAND_KEYS>;
    hold-trigger-on-release; // wait for other home row mods
    tapping-term-ms = <RIGHT_PINKY_HOLDING_TIME>;
    quick-tap-ms = <RIGHT_PINKY_REPEAT_DECAY>;
    require-prior-idle-ms = <RIGHT_PINKY_STREAK_DECAY>;
    #binding-cells = <2>;
    bindings = <&kp>, <&kp>;
    #ifdef SHIFT_FORGIVENESS
      #if RIGHT_PINKY_MOD == LSFT || RIGHT_PINKY_MOD == RSFT
        hold-while-undecided; // requires 24.08-beta1 or newer firmware
        retro-tap; // tap on standalone hold
      #endif
    #endif
  };
  right_pinky_bilateral: homey_right_pinky_bilateral {
    compatible = "zmk,behavior-hold-tap";
    flavor = RIGHT_PINKY_HOLDING_TYPE;
    hold-trigger-key-positions = <LEFT_HAND_KEYS>;
    hold-trigger-on-release; // wait for other home row mods
    tapping-term-ms = <RIGHT_PINKY_HOLDING_TIME>;
    quick-tap-ms = <RIGHT_PINKY_REPEAT_DECAY>;
    require-prior-idle-ms = <RIGHT_PINKY_STREAK_DECAY>;
    #binding-cells = <2>;
    bindings = <&right_pinky_hold>, <&kp>;
    #ifdef SHIFT_FORGIVENESS
      #if RIGHT_PINKY_MOD == LSFT || RIGHT_PINKY_MOD == RSFT
        hold-while-undecided; // requires 24.08-beta1 or newer firmware
        retro-tap; // tap on standalone hold
      #endif
    #endif
  };
  right_pinky_hold: homey_right_pinky_hold {
    compatible = "zmk,behavior-macro-one-param";
    wait-ms = <0>;
    tap-ms = <0>;
    #binding-cells = <1>;
    bindings
      = <&macro_param_1to1>
      , <&macro_press &kp MACRO_PLACEHOLDER>
      #ifdef LAYER_RightPinky
      , <&macro_press &mo LAYER_RightPinky>
      #endif
      , <&macro_pause_for_release>
      , <&macro_param_1to1>
      , <&macro_release &kp MACRO_PLACEHOLDER>
      #ifdef LAYER_RightPinky
      , <&macro_release &mo LAYER_RightPinky>
      #endif
      ;
  };
  right_pinky_tap: homey_right_pinky_tap {
    compatible = "zmk,behavior-macro-one-param";
    wait-ms = <0>;
    tap-ms = <0>;
    #binding-cells = <1>;
    bindings
      = <&macro_release
          &kp LSFT &kp RSFT
          &kp LALT &kp RALT
          &kp LCTL &kp RCTL
          &kp LGUI &kp RGUI>
      , <&macro_tap &kp RIGHT_PINKY_KEY>
      , <&macro_param_1to1>
      , <&macro_tap &kp MACRO_PLACEHOLDER>
      ;
  };
  #define RightPinky(key, layer_index) RightPinky_unroll(layer_index) (key)
  #define RightPinky_unroll(layer_index) RightPinky_concat(RightPinky_layer, layer_index)
  #define RightPinky_concat(prefix, layer_index) prefix ## layer_index
  #ifdef ENFORCE_BILATERAL
    #define right_pinky_layer0_variant right_pinky_bilateral
  #else
    #define right_pinky_layer0_variant right_pinky
  #endif
  #define RightPinky_layer0(key) right_pinky_layer0_variant RIGHT_PINKY_MOD key
  #define RightPinky_layer1(key) right_pinky RIGHT_PINKY_MOD key
  #define RightPinky_layer2(key) right_pinky RIGHT_PINKY_MOD key
  #define RightPinky_layer3(key) right_pinky RIGHT_PINKY_MOD key
  #define RightPinky_layer4(key) right_pinky RIGHT_PINKY_MOD key
  #define RightPinky_layer5(key) right_pinky RIGHT_PINKY_MOD key
  #define RightPinky_layer6(key) right_pinky RIGHT_PINKY_MOD key
  #ifndef LEFT_RINGY_HOLDING_TYPE
  #define LEFT_RINGY_HOLDING_TYPE RINGY_HOLDING_TYPE
  #endif
  #ifndef LEFT_RINGY_HOLDING_TIME
  #define LEFT_RINGY_HOLDING_TIME RINGY_HOLDING_TIME
  #endif
  #ifndef LEFT_RINGY_STREAK_DECAY
  #define LEFT_RINGY_STREAK_DECAY RINGY_STREAK_DECAY
  #endif
  #ifndef LEFT_RINGY_REPEAT_DECAY
  #define LEFT_RINGY_REPEAT_DECAY RINGY_REPEAT_DECAY
  #endif
  left_ringy: homey_left_ringy {
    compatible = "zmk,behavior-hold-tap";
    flavor = LEFT_RINGY_HOLDING_TYPE;
    hold-trigger-key-positions = <RIGHT_HAND_KEYS>;
    hold-trigger-on-release; // wait for other home row mods
    tapping-term-ms = <LEFT_RINGY_HOLDING_TIME>;
    quick-tap-ms = <LEFT_RINGY_REPEAT_DECAY>;
    require-prior-idle-ms = <LEFT_RINGY_STREAK_DECAY>;
    #binding-cells = <2>;
    bindings = <&kp>, <&kp>;
    #ifdef SHIFT_FORGIVENESS
      #if LEFT_RINGY_MOD == LSFT || LEFT_RINGY_MOD == RSFT
        hold-while-undecided; // requires 24.08-beta1 or newer firmware
        retro-tap; // tap on standalone hold
      #endif
    #endif
  };
  left_ringy_bilateral: homey_left_ringy_bilateral {
    compatible = "zmk,behavior-hold-tap";
    flavor = LEFT_RINGY_HOLDING_TYPE;
    hold-trigger-key-positions = <RIGHT_HAND_KEYS>;
    hold-trigger-on-release; // wait for other home row mods
    tapping-term-ms = <LEFT_RINGY_HOLDING_TIME>;
    quick-tap-ms = <LEFT_RINGY_REPEAT_DECAY>;
    require-prior-idle-ms = <LEFT_RINGY_STREAK_DECAY>;
    #binding-cells = <2>;
    bindings = <&left_ringy_hold>, <&kp>;
    #ifdef SHIFT_FORGIVENESS
      #if LEFT_RINGY_MOD == LSFT || LEFT_RINGY_MOD == RSFT
        hold-while-undecided; // requires 24.08-beta1 or newer firmware
        retro-tap; // tap on standalone hold
      #endif
    #endif
  };
  left_ringy_hold: homey_left_ringy_hold {
    compatible = "zmk,behavior-macro-one-param";
    wait-ms = <0>;
    tap-ms = <0>;
    #binding-cells = <1>;
    bindings
      = <&macro_param_1to1>
      , <&macro_press &kp MACRO_PLACEHOLDER>
      #ifdef LAYER_LeftRingy
      , <&macro_press &mo LAYER_LeftRingy>
      #endif
      , <&macro_pause_for_release>
      , <&macro_param_1to1>
      , <&macro_release &kp MACRO_PLACEHOLDER>
      #ifdef LAYER_LeftRingy
      , <&macro_release &mo LAYER_LeftRingy>
      #endif
      ;
  };
  left_ringy_tap: homey_left_ringy_tap {
    compatible = "zmk,behavior-macro-one-param";
    wait-ms = <0>;
    tap-ms = <0>;
    #binding-cells = <1>;
    bindings
      = <&macro_release
          &kp LSFT &kp RSFT
          &kp LALT &kp RALT
          &kp LCTL &kp RCTL
          &kp LGUI &kp RGUI>
      , <&macro_tap &kp LEFT_RINGY_KEY>
      , <&macro_param_1to1>
      , <&macro_tap &kp MACRO_PLACEHOLDER>
      ;
  };
  #define LeftRingy(key, layer_index) LeftRingy_unroll(layer_index) (key)
  #define LeftRingy_unroll(layer_index) LeftRingy_concat(LeftRingy_layer, layer_index)
  #define LeftRingy_concat(prefix, layer_index) prefix ## layer_index
  #ifdef ENFORCE_BILATERAL
    #define left_ringy_layer0_variant left_ringy_bilateral
  #else
    #define left_ringy_layer0_variant left_ringy
  #endif
  #define LeftRingy_layer0(key) left_ringy_layer0_variant LEFT_RINGY_MOD key
  #define LeftRingy_layer1(key) left_ringy LEFT_RINGY_MOD key
  #define LeftRingy_layer2(key) left_ringy LEFT_RINGY_MOD key
  #define LeftRingy_layer3(key) left_ringy LEFT_RINGY_MOD key
  #define LeftRingy_layer4(key) left_ringy LEFT_RINGY_MOD key
  #define LeftRingy_layer5(key) left_ringy LEFT_RINGY_MOD key
  #define LeftRingy_layer6(key) left_ringy LEFT_RINGY_MOD key
  #ifndef RIGHT_RINGY_HOLDING_TYPE
  #define RIGHT_RINGY_HOLDING_TYPE RINGY_HOLDING_TYPE
  #endif
  #ifndef RIGHT_RINGY_HOLDING_TIME
  #define RIGHT_RINGY_HOLDING_TIME RINGY_HOLDING_TIME
  #endif
  #ifndef RIGHT_RINGY_STREAK_DECAY
  #define RIGHT_RINGY_STREAK_DECAY RINGY_STREAK_DECAY
  #endif
  #ifndef RIGHT_RINGY_REPEAT_DECAY
  #define RIGHT_RINGY_REPEAT_DECAY RINGY_REPEAT_DECAY
  #endif
  right_ringy: homey_right_ringy {
    compatible = "zmk,behavior-hold-tap";
    flavor = RIGHT_RINGY_HOLDING_TYPE;
    hold-trigger-key-positions = <LEFT_HAND_KEYS>;
    hold-trigger-on-release; // wait for other home row mods
    tapping-term-ms = <RIGHT_RINGY_HOLDING_TIME>;
    quick-tap-ms = <RIGHT_RINGY_REPEAT_DECAY>;
    require-prior-idle-ms = <RIGHT_RINGY_STREAK_DECAY>;
    #binding-cells = <2>;
    bindings = <&kp>, <&kp>;
    #ifdef SHIFT_FORGIVENESS
      #if RIGHT_RINGY_MOD == LSFT || RIGHT_RINGY_MOD == RSFT
        hold-while-undecided; // requires 24.08-beta1 or newer firmware
        retro-tap; // tap on standalone hold
      #endif
    #endif
  };
  right_ringy_bilateral: homey_right_ringy_bilateral {
    compatible = "zmk,behavior-hold-tap";
    flavor = RIGHT_RINGY_HOLDING_TYPE;
    hold-trigger-key-positions = <LEFT_HAND_KEYS>;
    hold-trigger-on-release; // wait for other home row mods
    tapping-term-ms = <RIGHT_RINGY_HOLDING_TIME>;
    quick-tap-ms = <RIGHT_RINGY_REPEAT_DECAY>;
    require-prior-idle-ms = <RIGHT_RINGY_STREAK_DECAY>;
    #binding-cells = <2>;
    bindings = <&right_ringy_hold>, <&kp>;
    #ifdef SHIFT_FORGIVENESS
      #if RIGHT_RINGY_MOD == LSFT || RIGHT_RINGY_MOD == RSFT
        hold-while-undecided; // requires 24.08-beta1 or newer firmware
        retro-tap; // tap on standalone hold
      #endif
    #endif
  };
  right_ringy_hold: homey_right_ringy_hold {
    compatible = "zmk,behavior-macro-one-param";
    wait-ms = <0>;
    tap-ms = <0>;
    #binding-cells = <1>;
    bindings
      = <&macro_param_1to1>
      , <&macro_press &kp MACRO_PLACEHOLDER>
      #ifdef LAYER_RightRingy
      , <&macro_press &mo LAYER_RightRingy>
      #endif
      , <&macro_pause_for_release>
      , <&macro_param_1to1>
      , <&macro_release &kp MACRO_PLACEHOLDER>
      #ifdef LAYER_RightRingy
      , <&macro_release &mo LAYER_RightRingy>
      #endif
      ;
  };
  right_ringy_tap: homey_right_ringy_tap {
    compatible = "zmk,behavior-macro-one-param";
    wait-ms = <0>;
    tap-ms = <0>;
    #binding-cells = <1>;
    bindings
      = <&macro_release
          &kp LSFT &kp RSFT
          &kp LALT &kp RALT
          &kp LCTL &kp RCTL
          &kp LGUI &kp RGUI>
      , <&macro_tap &kp RIGHT_RINGY_KEY>
      , <&macro_param_1to1>
      , <&macro_tap &kp MACRO_PLACEHOLDER>
      ;
  };
  #define RightRingy(key, layer_index) RightRingy_unroll(layer_index) (key)
  #define RightRingy_unroll(layer_index) RightRingy_concat(RightRingy_layer, layer_index)
  #define RightRingy_concat(prefix, layer_index) prefix ## layer_index
  #ifdef ENFORCE_BILATERAL
    #define right_ringy_layer0_variant right_ringy_bilateral
  #else
    #define right_ringy_layer0_variant right_ringy
  #endif
  #define RightRingy_layer0(key) right_ringy_layer0_variant RIGHT_RINGY_MOD key
  #define RightRingy_layer1(key) right_ringy RIGHT_RINGY_MOD key
  #define RightRingy_layer2(key) right_ringy RIGHT_RINGY_MOD key
  #define RightRingy_layer3(key) right_ringy RIGHT_RINGY_MOD key
  #define RightRingy_layer4(key) right_ringy RIGHT_RINGY_MOD key
  #define RightRingy_layer5(key) right_ringy RIGHT_RINGY_MOD key
  #define RightRingy_layer6(key) right_ringy RIGHT_RINGY_MOD key
  #ifndef LEFT_MIDDY_HOLDING_TYPE
  #define LEFT_MIDDY_HOLDING_TYPE MIDDY_HOLDING_TYPE
  #endif
  #ifndef LEFT_MIDDY_HOLDING_TIME
  #define LEFT_MIDDY_HOLDING_TIME MIDDY_HOLDING_TIME
  #endif
  #ifndef LEFT_MIDDY_STREAK_DECAY
  #define LEFT_MIDDY_STREAK_DECAY MIDDY_STREAK_DECAY
  #endif
  #ifndef LEFT_MIDDY_REPEAT_DECAY
  #define LEFT_MIDDY_REPEAT_DECAY MIDDY_REPEAT_DECAY
  #endif
  left_middy: homey_left_middy {
    compatible = "zmk,behavior-hold-tap";
    flavor = LEFT_MIDDY_HOLDING_TYPE;
    hold-trigger-key-positions = <RIGHT_HAND_KEYS>;
    hold-trigger-on-release; // wait for other home row mods
    tapping-term-ms = <LEFT_MIDDY_HOLDING_TIME>;
    quick-tap-ms = <LEFT_MIDDY_REPEAT_DECAY>;
    require-prior-idle-ms = <LEFT_MIDDY_STREAK_DECAY>;
    #binding-cells = <2>;
    bindings = <&kp>, <&kp>;
    #ifdef SHIFT_FORGIVENESS
      #if LEFT_MIDDY_MOD == LSFT || LEFT_MIDDY_MOD == RSFT
        hold-while-undecided; // requires 24.08-beta1 or newer firmware
        retro-tap; // tap on standalone hold
      #endif
    #endif
  };
  left_middy_bilateral: homey_left_middy_bilateral {
    compatible = "zmk,behavior-hold-tap";
    flavor = LEFT_MIDDY_HOLDING_TYPE;
    hold-trigger-key-positions = <RIGHT_HAND_KEYS>;
    hold-trigger-on-release; // wait for other home row mods
    tapping-term-ms = <LEFT_MIDDY_HOLDING_TIME>;
    quick-tap-ms = <LEFT_MIDDY_REPEAT_DECAY>;
    require-prior-idle-ms = <LEFT_MIDDY_STREAK_DECAY>;
    #binding-cells = <2>;
    bindings = <&left_middy_hold>, <&kp>;
    #ifdef SHIFT_FORGIVENESS
      #if LEFT_MIDDY_MOD == LSFT || LEFT_MIDDY_MOD == RSFT
        hold-while-undecided; // requires 24.08-beta1 or newer firmware
        retro-tap; // tap on standalone hold
      #endif
    #endif
  };
  left_middy_hold: homey_left_middy_hold {
    compatible = "zmk,behavior-macro-one-param";
    wait-ms = <0>;
    tap-ms = <0>;
    #binding-cells = <1>;
    bindings
      = <&macro_param_1to1>
      , <&macro_press &kp MACRO_PLACEHOLDER>
      #ifdef LAYER_LeftMiddy
      , <&macro_press &mo LAYER_LeftMiddy>
      #endif
      , <&macro_pause_for_release>
      , <&macro_param_1to1>
      , <&macro_release &kp MACRO_PLACEHOLDER>
      #ifdef LAYER_LeftMiddy
      , <&macro_release &mo LAYER_LeftMiddy>
      #endif
      ;
  };
  left_middy_tap: homey_left_middy_tap {
    compatible = "zmk,behavior-macro-one-param";
    wait-ms = <0>;
    tap-ms = <0>;
    #binding-cells = <1>;
    bindings
      = <&macro_release
          &kp LSFT &kp RSFT
          &kp LALT &kp RALT
          &kp LCTL &kp RCTL
          &kp LGUI &kp RGUI>
      , <&macro_tap &kp LEFT_MIDDY_KEY>
      , <&macro_param_1to1>
      , <&macro_tap &kp MACRO_PLACEHOLDER>
      ;
  };
  #define LeftMiddy(key, layer_index) LeftMiddy_unroll(layer_index) (key)
  #define LeftMiddy_unroll(layer_index) LeftMiddy_concat(LeftMiddy_layer, layer_index)
  #define LeftMiddy_concat(prefix, layer_index) prefix ## layer_index
  #ifdef ENFORCE_BILATERAL
    #define left_middy_layer0_variant left_middy_bilateral
  #else
    #define left_middy_layer0_variant left_middy
  #endif
  #define LeftMiddy_layer0(key) left_middy_layer0_variant LEFT_MIDDY_MOD key
  #define LeftMiddy_layer1(key) left_middy LEFT_MIDDY_MOD key
  #define LeftMiddy_layer2(key) left_middy LEFT_MIDDY_MOD key
  #define LeftMiddy_layer3(key) left_middy LEFT_MIDDY_MOD key
  #define LeftMiddy_layer4(key) left_middy LEFT_MIDDY_MOD key
  #define LeftMiddy_layer5(key) left_middy LEFT_MIDDY_MOD key
  #define LeftMiddy_layer6(key) left_middy LEFT_MIDDY_MOD key
  #ifndef RIGHT_MIDDY_HOLDING_TYPE
  #define RIGHT_MIDDY_HOLDING_TYPE MIDDY_HOLDING_TYPE
  #endif
  #ifndef RIGHT_MIDDY_HOLDING_TIME
  #define RIGHT_MIDDY_HOLDING_TIME MIDDY_HOLDING_TIME
  #endif
  #ifndef RIGHT_MIDDY_STREAK_DECAY
  #define RIGHT_MIDDY_STREAK_DECAY MIDDY_STREAK_DECAY
  #endif
  #ifndef RIGHT_MIDDY_REPEAT_DECAY
  #define RIGHT_MIDDY_REPEAT_DECAY MIDDY_REPEAT_DECAY
  #endif
  right_middy: homey_right_middy {
    compatible = "zmk,behavior-hold-tap";
    flavor = RIGHT_MIDDY_HOLDING_TYPE;
    hold-trigger-key-positions = <LEFT_HAND_KEYS>;
    hold-trigger-on-release; // wait for other home row mods
    tapping-term-ms = <RIGHT_MIDDY_HOLDING_TIME>;
    quick-tap-ms = <RIGHT_MIDDY_REPEAT_DECAY>;
    require-prior-idle-ms = <RIGHT_MIDDY_STREAK_DECAY>;
    #binding-cells = <2>;
    bindings = <&kp>, <&kp>;
    #ifdef SHIFT_FORGIVENESS
      #if RIGHT_MIDDY_MOD == LSFT || RIGHT_MIDDY_MOD == RSFT
        hold-while-undecided; // requires 24.08-beta1 or newer firmware
        retro-tap; // tap on standalone hold
      #endif
    #endif
  };
  right_middy_bilateral: homey_right_middy_bilateral {
    compatible = "zmk,behavior-hold-tap";
    flavor = RIGHT_MIDDY_HOLDING_TYPE;
    hold-trigger-key-positions = <LEFT_HAND_KEYS>;
    hold-trigger-on-release; // wait for other home row mods
    tapping-term-ms = <RIGHT_MIDDY_HOLDING_TIME>;
    quick-tap-ms = <RIGHT_MIDDY_REPEAT_DECAY>;
    require-prior-idle-ms = <RIGHT_MIDDY_STREAK_DECAY>;
    #binding-cells = <2>;
    bindings = <&right_middy_hold>, <&kp>;
    #ifdef SHIFT_FORGIVENESS
      #if RIGHT_MIDDY_MOD == LSFT || RIGHT_MIDDY_MOD == RSFT
        hold-while-undecided; // requires 24.08-beta1 or newer firmware
        retro-tap; // tap on standalone hold
      #endif
    #endif
  };
  right_middy_hold: homey_right_middy_hold {
    compatible = "zmk,behavior-macro-one-param";
    wait-ms = <0>;
    tap-ms = <0>;
    #binding-cells = <1>;
    bindings
      = <&macro_param_1to1>
      , <&macro_press &kp MACRO_PLACEHOLDER>
      #ifdef LAYER_RightMiddy
      , <&macro_press &mo LAYER_RightMiddy>
      #endif
      , <&macro_pause_for_release>
      , <&macro_param_1to1>
      , <&macro_release &kp MACRO_PLACEHOLDER>
      #ifdef LAYER_RightMiddy
      , <&macro_release &mo LAYER_RightMiddy>
      #endif
      ;
  };
  right_middy_tap: homey_right_middy_tap {
    compatible = "zmk,behavior-macro-one-param";
    wait-ms = <0>;
    tap-ms = <0>;
    #binding-cells = <1>;
    bindings
      = <&macro_release
          &kp LSFT &kp RSFT
          &kp LALT &kp RALT
          &kp LCTL &kp RCTL
          &kp LGUI &kp RGUI>
      , <&macro_tap &kp RIGHT_MIDDY_KEY>
      , <&macro_param_1to1>
      , <&macro_tap &kp MACRO_PLACEHOLDER>
      ;
  };
  #define RightMiddy(key, layer_index) RightMiddy_unroll(layer_index) (key)
  #define RightMiddy_unroll(layer_index) RightMiddy_concat(RightMiddy_layer, layer_index)
  #define RightMiddy_concat(prefix, layer_index) prefix ## layer_index
  #ifdef ENFORCE_BILATERAL
    #define right_middy_layer0_variant right_middy_bilateral
  #else
    #define right_middy_layer0_variant right_middy
  #endif
  #define RightMiddy_layer0(key) right_middy_layer0_variant RIGHT_MIDDY_MOD key
  #define RightMiddy_layer1(key) right_middy RIGHT_MIDDY_MOD key
  #define RightMiddy_layer2(key) right_middy RIGHT_MIDDY_MOD key
  #define RightMiddy_layer3(key) right_middy RIGHT_MIDDY_MOD key
  #define RightMiddy_layer4(key) right_middy RIGHT_MIDDY_MOD key
  #define RightMiddy_layer5(key) right_middy RIGHT_MIDDY_MOD key
  #define RightMiddy_layer6(key) right_middy RIGHT_MIDDY_MOD key
  #ifndef LEFT_INDEX_HOLDING_TYPE
  #define LEFT_INDEX_HOLDING_TYPE INDEX_HOLDING_TYPE
  #endif
  #ifndef LEFT_INDEX_HOLDING_TIME
  #define LEFT_INDEX_HOLDING_TIME INDEX_HOLDING_TIME
  #endif
  #ifndef LEFT_INDEX_STREAK_DECAY
  #define LEFT_INDEX_STREAK_DECAY INDEX_STREAK_DECAY
  #endif
  #ifndef LEFT_INDEX_REPEAT_DECAY
  #define LEFT_INDEX_REPEAT_DECAY INDEX_REPEAT_DECAY
  #endif
  left_index: homey_left_index {
    compatible = "zmk,behavior-hold-tap";
    flavor = LEFT_INDEX_HOLDING_TYPE;
    hold-trigger-key-positions = <RIGHT_HAND_KEYS>;
    hold-trigger-on-release; // wait for other home row mods
    tapping-term-ms = <LEFT_INDEX_HOLDING_TIME>;
    quick-tap-ms = <LEFT_INDEX_REPEAT_DECAY>;
    require-prior-idle-ms = <LEFT_INDEX_STREAK_DECAY>;
    #binding-cells = <2>;
    bindings = <&kp>, <&kp>;
    #ifdef SHIFT_FORGIVENESS
      #if LEFT_INDEX_MOD == LSFT || LEFT_INDEX_MOD == RSFT
        hold-while-undecided; // requires 24.08-beta1 or newer firmware
        retro-tap; // tap on standalone hold
      #endif
    #endif
  };
  left_index_bilateral: homey_left_index_bilateral {
    compatible = "zmk,behavior-hold-tap";
    flavor = LEFT_INDEX_HOLDING_TYPE;
    hold-trigger-key-positions = <RIGHT_HAND_KEYS>;
    hold-trigger-on-release; // wait for other home row mods
    tapping-term-ms = <LEFT_INDEX_HOLDING_TIME>;
    quick-tap-ms = <LEFT_INDEX_REPEAT_DECAY>;
    require-prior-idle-ms = <LEFT_INDEX_STREAK_DECAY>;
    #binding-cells = <2>;
    bindings = <&left_index_hold>, <&kp>;
    #ifdef SHIFT_FORGIVENESS
      #if LEFT_INDEX_MOD == LSFT || LEFT_INDEX_MOD == RSFT
        hold-while-undecided; // requires 24.08-beta1 or newer firmware
        retro-tap; // tap on standalone hold
      #endif
    #endif
  };
  left_index_hold: homey_left_index_hold {
    compatible = "zmk,behavior-macro-one-param";
    wait-ms = <0>;
    tap-ms = <0>;
    #binding-cells = <1>;
    bindings
      = <&macro_param_1to1>
      , <&macro_press &kp MACRO_PLACEHOLDER>
      #ifdef LAYER_LeftIndex
      , <&macro_press &mo LAYER_LeftIndex>
      #endif
      , <&macro_pause_for_release>
      , <&macro_param_1to1>
      , <&macro_release &kp MACRO_PLACEHOLDER>
      #ifdef LAYER_LeftIndex
      , <&macro_release &mo LAYER_LeftIndex>
      #endif
      ;
  };
  left_index_tap: homey_left_index_tap {
    compatible = "zmk,behavior-macro-one-param";
    wait-ms = <0>;
    tap-ms = <0>;
    #binding-cells = <1>;
    bindings
      = <&macro_release
          &kp LSFT &kp RSFT
          &kp LALT &kp RALT
          &kp LCTL &kp RCTL
          &kp LGUI &kp RGUI>
      , <&macro_tap &kp LEFT_INDEX_KEY>
      , <&macro_param_1to1>
      , <&macro_tap &kp MACRO_PLACEHOLDER>
      ;
  };
  #define LeftIndex(key, layer_index) LeftIndex_unroll(layer_index) (key)
  #define LeftIndex_unroll(layer_index) LeftIndex_concat(LeftIndex_layer, layer_index)
  #define LeftIndex_concat(prefix, layer_index) prefix ## layer_index
  #ifdef ENFORCE_BILATERAL
    #define left_index_layer0_variant left_index_bilateral
  #else
    #define left_index_layer0_variant left_index
  #endif
  #define LeftIndex_layer0(key) left_index_layer0_variant LEFT_INDEX_MOD key
  #define LeftIndex_layer1(key) left_index LEFT_INDEX_MOD key
  #define LeftIndex_layer2(key) left_index LEFT_INDEX_MOD key
  #define LeftIndex_layer3(key) left_index LEFT_INDEX_MOD key
  #define LeftIndex_layer4(key) left_index LEFT_INDEX_MOD key
  #define LeftIndex_layer5(key) left_index LEFT_INDEX_MOD key
  #define LeftIndex_layer6(key) left_index LEFT_INDEX_MOD key
  #ifndef RIGHT_INDEX_HOLDING_TYPE
  #define RIGHT_INDEX_HOLDING_TYPE INDEX_HOLDING_TYPE
  #endif
  #ifndef RIGHT_INDEX_HOLDING_TIME
  #define RIGHT_INDEX_HOLDING_TIME INDEX_HOLDING_TIME
  #endif
  #ifndef RIGHT_INDEX_STREAK_DECAY
  #define RIGHT_INDEX_STREAK_DECAY INDEX_STREAK_DECAY
  #endif
  #ifndef RIGHT_INDEX_REPEAT_DECAY
  #define RIGHT_INDEX_REPEAT_DECAY INDEX_REPEAT_DECAY
  #endif
  right_index: homey_right_index {
    compatible = "zmk,behavior-hold-tap";
    flavor = RIGHT_INDEX_HOLDING_TYPE;
    hold-trigger-key-positions = <LEFT_HAND_KEYS>;
    hold-trigger-on-release; // wait for other home row mods
    tapping-term-ms = <RIGHT_INDEX_HOLDING_TIME>;
    quick-tap-ms = <RIGHT_INDEX_REPEAT_DECAY>;
    require-prior-idle-ms = <RIGHT_INDEX_STREAK_DECAY>;
    #binding-cells = <2>;
    bindings = <&kp>, <&kp>;
    #ifdef SHIFT_FORGIVENESS
      #if RIGHT_INDEX_MOD == LSFT || RIGHT_INDEX_MOD == RSFT
        hold-while-undecided; // requires 24.08-beta1 or newer firmware
        retro-tap; // tap on standalone hold
      #endif
    #endif
  };
  right_index_bilateral: homey_right_index_bilateral {
    compatible = "zmk,behavior-hold-tap";
    flavor = RIGHT_INDEX_HOLDING_TYPE;
    hold-trigger-key-positions = <LEFT_HAND_KEYS>;
    hold-trigger-on-release; // wait for other home row mods
    tapping-term-ms = <RIGHT_INDEX_HOLDING_TIME>;
    quick-tap-ms = <RIGHT_INDEX_REPEAT_DECAY>;
    require-prior-idle-ms = <RIGHT_INDEX_STREAK_DECAY>;
    #binding-cells = <2>;
    bindings = <&right_index_hold>, <&kp>;
    #ifdef SHIFT_FORGIVENESS
      #if RIGHT_INDEX_MOD == LSFT || RIGHT_INDEX_MOD == RSFT
        hold-while-undecided; // requires 24.08-beta1 or newer firmware
        retro-tap; // tap on standalone hold
      #endif
    #endif
  };
  right_index_hold: homey_right_index_hold {
    compatible = "zmk,behavior-macro-one-param";
    wait-ms = <0>;
    tap-ms = <0>;
    #binding-cells = <1>;
    bindings
      = <&macro_param_1to1>
      , <&macro_press &kp MACRO_PLACEHOLDER>
      #ifdef LAYER_RightIndex
      , <&macro_press &mo LAYER_RightIndex>
      #endif
      , <&macro_pause_for_release>
      , <&macro_param_1to1>
      , <&macro_release &kp MACRO_PLACEHOLDER>
      #ifdef LAYER_RightIndex
      , <&macro_release &mo LAYER_RightIndex>
      #endif
      ;
  };
  right_index_tap: homey_right_index_tap {
    compatible = "zmk,behavior-macro-one-param";
    wait-ms = <0>;
    tap-ms = <0>;
    #binding-cells = <1>;
    bindings
      = <&macro_release
          &kp LSFT &kp RSFT
          &kp LALT &kp RALT
          &kp LCTL &kp RCTL
          &kp LGUI &kp RGUI>
      , <&macro_tap &kp RIGHT_INDEX_KEY>
      , <&macro_param_1to1>
      , <&macro_tap &kp MACRO_PLACEHOLDER>
      ;
  };
  #define RightIndex(key, layer_index) RightIndex_unroll(layer_index) (key)
  #define RightIndex_unroll(layer_index) RightIndex_concat(RightIndex_layer, layer_index)
  #define RightIndex_concat(prefix, layer_index) prefix ## layer_index
  #ifdef ENFORCE_BILATERAL
    #define right_index_layer0_variant right_index_bilateral
  #else
    #define right_index_layer0_variant right_index
  #endif
  #define RightIndex_layer0(key) right_index_layer0_variant RIGHT_INDEX_MOD key
  #define RightIndex_layer1(key) right_index RIGHT_INDEX_MOD key
  #define RightIndex_layer2(key) right_index RIGHT_INDEX_MOD key
  #define RightIndex_layer3(key) right_index RIGHT_INDEX_MOD key
  #define RightIndex_layer4(key) right_index RIGHT_INDEX_MOD key
  #define RightIndex_layer5(key) right_index RIGHT_INDEX_MOD key
  #define RightIndex_layer6(key) right_index RIGHT_INDEX_MOD key
  #ifndef LEFT_RINGY_PINKY_HOLDING_TYPE
  #define LEFT_RINGY_PINKY_HOLDING_TYPE LEFT_RINGY_CHORD_HOLDING_TYPE
  #endif
  #ifndef LEFT_RINGY_PINKY_HOLDING_TIME
  #define LEFT_RINGY_PINKY_HOLDING_TIME LEFT_RINGY_CHORD_HOLDING_TIME
  #endif
  #ifndef LEFT_RINGY_PINKY_STREAK_DECAY
  #define LEFT_RINGY_PINKY_STREAK_DECAY LEFT_RINGY_CHORD_STREAK_DECAY
  #endif
  #ifndef LEFT_RINGY_PINKY_REPEAT_DECAY
  #define LEFT_RINGY_PINKY_REPEAT_DECAY LEFT_RINGY_CHORD_REPEAT_DECAY
  #endif
  left_ringy_pinky: homey_left_ringy_pinky {
    compatible = "zmk,behavior-hold-tap";
    flavor = LEFT_RINGY_HOLDING_TYPE;
    hold-trigger-key-positions = <RIGHT_HAND_KEYS>;
    hold-trigger-on-release; // wait for other home row mods
    tapping-term-ms = <LEFT_RINGY_HOLDING_TIME>;
    quick-tap-ms = <LEFT_RINGY_REPEAT_DECAY>;
    require-prior-idle-ms = <LEFT_RINGY_STREAK_DECAY>;
    #binding-cells = <2>;
    bindings = <&kp>, <&kp>;
  };
  left_ringy_pinky_bilateral: homey_left_ringy_pinky_bilateral {
    compatible = "zmk,behavior-hold-tap";
    flavor = LEFT_RINGY_HOLDING_TYPE;
    hold-trigger-key-positions = <RIGHT_HAND_KEYS>;
    hold-trigger-on-release; // wait for other home row mods
    tapping-term-ms = <LEFT_RINGY_HOLDING_TIME>;
    quick-tap-ms = <LEFT_RINGY_REPEAT_DECAY>;
    require-prior-idle-ms = <LEFT_RINGY_STREAK_DECAY>;
    #binding-cells = <2>;
    bindings = <&kp>, <&left_ringy_tap>;
  };
  #define LeftRingyPinky left_ringy_pinky_bilateral LEFT_PINKY_MOD LEFT_PINKY_KEY
  #ifndef LEFT_MIDDY_PINKY_HOLDING_TYPE
  #define LEFT_MIDDY_PINKY_HOLDING_TYPE LEFT_MIDDY_CHORD_HOLDING_TYPE
  #endif
  #ifndef LEFT_MIDDY_PINKY_HOLDING_TIME
  #define LEFT_MIDDY_PINKY_HOLDING_TIME LEFT_MIDDY_CHORD_HOLDING_TIME
  #endif
  #ifndef LEFT_MIDDY_PINKY_STREAK_DECAY
  #define LEFT_MIDDY_PINKY_STREAK_DECAY LEFT_MIDDY_CHORD_STREAK_DECAY
  #endif
  #ifndef LEFT_MIDDY_PINKY_REPEAT_DECAY
  #define LEFT_MIDDY_PINKY_REPEAT_DECAY LEFT_MIDDY_CHORD_REPEAT_DECAY
  #endif
  left_middy_pinky: homey_left_middy_pinky {
    compatible = "zmk,behavior-hold-tap";
    flavor = LEFT_MIDDY_HOLDING_TYPE;
    hold-trigger-key-positions = <RIGHT_HAND_KEYS>;
    hold-trigger-on-release; // wait for other home row mods
    tapping-term-ms = <LEFT_MIDDY_HOLDING_TIME>;
    quick-tap-ms = <LEFT_MIDDY_REPEAT_DECAY>;
    require-prior-idle-ms = <LEFT_MIDDY_STREAK_DECAY>;
    #binding-cells = <2>;
    bindings = <&kp>, <&kp>;
  };
  left_middy_pinky_bilateral: homey_left_middy_pinky_bilateral {
    compatible = "zmk,behavior-hold-tap";
    flavor = LEFT_MIDDY_HOLDING_TYPE;
    hold-trigger-key-positions = <RIGHT_HAND_KEYS>;
    hold-trigger-on-release; // wait for other home row mods
    tapping-term-ms = <LEFT_MIDDY_HOLDING_TIME>;
    quick-tap-ms = <LEFT_MIDDY_REPEAT_DECAY>;
    require-prior-idle-ms = <LEFT_MIDDY_STREAK_DECAY>;
    #binding-cells = <2>;
    bindings = <&kp>, <&left_middy_tap>;
  };
  #define LeftMiddyPinky left_middy_pinky_bilateral LEFT_PINKY_MOD LEFT_PINKY_KEY
  #ifndef LEFT_INDEX_PINKY_HOLDING_TYPE
  #define LEFT_INDEX_PINKY_HOLDING_TYPE LEFT_INDEX_CHORD_HOLDING_TYPE
  #endif
  #ifndef LEFT_INDEX_PINKY_HOLDING_TIME
  #define LEFT_INDEX_PINKY_HOLDING_TIME LEFT_INDEX_CHORD_HOLDING_TIME
  #endif
  #ifndef LEFT_INDEX_PINKY_STREAK_DECAY
  #define LEFT_INDEX_PINKY_STREAK_DECAY LEFT_INDEX_CHORD_STREAK_DECAY
  #endif
  #ifndef LEFT_INDEX_PINKY_REPEAT_DECAY
  #define LEFT_INDEX_PINKY_REPEAT_DECAY LEFT_INDEX_CHORD_REPEAT_DECAY
  #endif
  left_index_pinky: homey_left_index_pinky {
    compatible = "zmk,behavior-hold-tap";
    flavor = LEFT_INDEX_HOLDING_TYPE;
    hold-trigger-key-positions = <RIGHT_HAND_KEYS>;
    hold-trigger-on-release; // wait for other home row mods
    tapping-term-ms = <LEFT_INDEX_HOLDING_TIME>;
    quick-tap-ms = <LEFT_INDEX_REPEAT_DECAY>;
    require-prior-idle-ms = <LEFT_INDEX_STREAK_DECAY>;
    #binding-cells = <2>;
    bindings = <&kp>, <&kp>;
  };
  left_index_pinky_bilateral: homey_left_index_pinky_bilateral {
    compatible = "zmk,behavior-hold-tap";
    flavor = LEFT_INDEX_HOLDING_TYPE;
    hold-trigger-key-positions = <RIGHT_HAND_KEYS>;
    hold-trigger-on-release; // wait for other home row mods
    tapping-term-ms = <LEFT_INDEX_HOLDING_TIME>;
    quick-tap-ms = <LEFT_INDEX_REPEAT_DECAY>;
    require-prior-idle-ms = <LEFT_INDEX_STREAK_DECAY>;
    #binding-cells = <2>;
    bindings = <&kp>, <&left_index_tap>;
  };
  #define LeftIndexPinky left_index_pinky_bilateral LEFT_PINKY_MOD LEFT_PINKY_KEY
  #ifndef RIGHT_RINGY_PINKY_HOLDING_TYPE
  #define RIGHT_RINGY_PINKY_HOLDING_TYPE RIGHT_RINGY_CHORD_HOLDING_TYPE
  #endif
  #ifndef RIGHT_RINGY_PINKY_HOLDING_TIME
  #define RIGHT_RINGY_PINKY_HOLDING_TIME RIGHT_RINGY_CHORD_HOLDING_TIME
  #endif
  #ifndef RIGHT_RINGY_PINKY_STREAK_DECAY
  #define RIGHT_RINGY_PINKY_STREAK_DECAY RIGHT_RINGY_CHORD_STREAK_DECAY
  #endif
  #ifndef RIGHT_RINGY_PINKY_REPEAT_DECAY
  #define RIGHT_RINGY_PINKY_REPEAT_DECAY RIGHT_RINGY_CHORD_REPEAT_DECAY
  #endif
  right_ringy_pinky: homey_right_ringy_pinky {
    compatible = "zmk,behavior-hold-tap";
    flavor = RIGHT_RINGY_HOLDING_TYPE;
    hold-trigger-key-positions = <LEFT_HAND_KEYS>;
    hold-trigger-on-release; // wait for other home row mods
    tapping-term-ms = <RIGHT_RINGY_HOLDING_TIME>;
    quick-tap-ms = <RIGHT_RINGY_REPEAT_DECAY>;
    require-prior-idle-ms = <RIGHT_RINGY_STREAK_DECAY>;
    #binding-cells = <2>;
    bindings = <&kp>, <&kp>;
  };
  right_ringy_pinky_bilateral: homey_right_ringy_pinky_bilateral {
    compatible = "zmk,behavior-hold-tap";
    flavor = RIGHT_RINGY_HOLDING_TYPE;
    hold-trigger-key-positions = <LEFT_HAND_KEYS>;
    hold-trigger-on-release; // wait for other home row mods
    tapping-term-ms = <RIGHT_RINGY_HOLDING_TIME>;
    quick-tap-ms = <RIGHT_RINGY_REPEAT_DECAY>;
    require-prior-idle-ms = <RIGHT_RINGY_STREAK_DECAY>;
    #binding-cells = <2>;
    bindings = <&kp>, <&right_ringy_tap>;
  };
  #define RightRingyPinky right_ringy_pinky_bilateral RIGHT_PINKY_MOD RIGHT_PINKY_KEY
  #ifndef RIGHT_MIDDY_PINKY_HOLDING_TYPE
  #define RIGHT_MIDDY_PINKY_HOLDING_TYPE RIGHT_MIDDY_CHORD_HOLDING_TYPE
  #endif
  #ifndef RIGHT_MIDDY_PINKY_HOLDING_TIME
  #define RIGHT_MIDDY_PINKY_HOLDING_TIME RIGHT_MIDDY_CHORD_HOLDING_TIME
  #endif
  #ifndef RIGHT_MIDDY_PINKY_STREAK_DECAY
  #define RIGHT_MIDDY_PINKY_STREAK_DECAY RIGHT_MIDDY_CHORD_STREAK_DECAY
  #endif
  #ifndef RIGHT_MIDDY_PINKY_REPEAT_DECAY
  #define RIGHT_MIDDY_PINKY_REPEAT_DECAY RIGHT_MIDDY_CHORD_REPEAT_DECAY
  #endif
  right_middy_pinky: homey_right_middy_pinky {
    compatible = "zmk,behavior-hold-tap";
    flavor = RIGHT_MIDDY_HOLDING_TYPE;
    hold-trigger-key-positions = <LEFT_HAND_KEYS>;
    hold-trigger-on-release; // wait for other home row mods
    tapping-term-ms = <RIGHT_MIDDY_HOLDING_TIME>;
    quick-tap-ms = <RIGHT_MIDDY_REPEAT_DECAY>;
    require-prior-idle-ms = <RIGHT_MIDDY_STREAK_DECAY>;
    #binding-cells = <2>;
    bindings = <&kp>, <&kp>;
  };
  right_middy_pinky_bilateral: homey_right_middy_pinky_bilateral {
    compatible = "zmk,behavior-hold-tap";
    flavor = RIGHT_MIDDY_HOLDING_TYPE;
    hold-trigger-key-positions = <LEFT_HAND_KEYS>;
    hold-trigger-on-release; // wait for other home row mods
    tapping-term-ms = <RIGHT_MIDDY_HOLDING_TIME>;
    quick-tap-ms = <RIGHT_MIDDY_REPEAT_DECAY>;
    require-prior-idle-ms = <RIGHT_MIDDY_STREAK_DECAY>;
    #binding-cells = <2>;
    bindings = <&kp>, <&right_middy_tap>;
  };
  #define RightMiddyPinky right_middy_pinky_bilateral RIGHT_PINKY_MOD RIGHT_PINKY_KEY
  #ifndef RIGHT_INDEX_PINKY_HOLDING_TYPE
  #define RIGHT_INDEX_PINKY_HOLDING_TYPE RIGHT_INDEX_CHORD_HOLDING_TYPE
  #endif
  #ifndef RIGHT_INDEX_PINKY_HOLDING_TIME
  #define RIGHT_INDEX_PINKY_HOLDING_TIME RIGHT_INDEX_CHORD_HOLDING_TIME
  #endif
  #ifndef RIGHT_INDEX_PINKY_STREAK_DECAY
  #define RIGHT_INDEX_PINKY_STREAK_DECAY RIGHT_INDEX_CHORD_STREAK_DECAY
  #endif
  #ifndef RIGHT_INDEX_PINKY_REPEAT_DECAY
  #define RIGHT_INDEX_PINKY_REPEAT_DECAY RIGHT_INDEX_CHORD_REPEAT_DECAY
  #endif
  right_index_pinky: homey_right_index_pinky {
    compatible = "zmk,behavior-hold-tap";
    flavor = RIGHT_INDEX_HOLDING_TYPE;
    hold-trigger-key-positions = <LEFT_HAND_KEYS>;
    hold-trigger-on-release; // wait for other home row mods
    tapping-term-ms = <RIGHT_INDEX_HOLDING_TIME>;
    quick-tap-ms = <RIGHT_INDEX_REPEAT_DECAY>;
    require-prior-idle-ms = <RIGHT_INDEX_STREAK_DECAY>;
    #binding-cells = <2>;
    bindings = <&kp>, <&kp>;
  };
  right_index_pinky_bilateral: homey_right_index_pinky_bilateral {
    compatible = "zmk,behavior-hold-tap";
    flavor = RIGHT_INDEX_HOLDING_TYPE;
    hold-trigger-key-positions = <LEFT_HAND_KEYS>;
    hold-trigger-on-release; // wait for other home row mods
    tapping-term-ms = <RIGHT_INDEX_HOLDING_TIME>;
    quick-tap-ms = <RIGHT_INDEX_REPEAT_DECAY>;
    require-prior-idle-ms = <RIGHT_INDEX_STREAK_DECAY>;
    #binding-cells = <2>;
    bindings = <&kp>, <&right_index_tap>;
  };
  #define RightIndexPinky right_index_pinky_bilateral RIGHT_PINKY_MOD RIGHT_PINKY_KEY
  #ifndef LEFT_PINKY_RINGY_HOLDING_TYPE
  #define LEFT_PINKY_RINGY_HOLDING_TYPE LEFT_PINKY_CHORD_HOLDING_TYPE
  #endif
  #ifndef LEFT_PINKY_RINGY_HOLDING_TIME
  #define LEFT_PINKY_RINGY_HOLDING_TIME LEFT_PINKY_CHORD_HOLDING_TIME
  #endif
  #ifndef LEFT_PINKY_RINGY_STREAK_DECAY
  #define LEFT_PINKY_RINGY_STREAK_DECAY LEFT_PINKY_CHORD_STREAK_DECAY
  #endif
  #ifndef LEFT_PINKY_RINGY_REPEAT_DECAY
  #define LEFT_PINKY_RINGY_REPEAT_DECAY LEFT_PINKY_CHORD_REPEAT_DECAY
  #endif
  left_pinky_ringy: homey_left_pinky_ringy {
    compatible = "zmk,behavior-hold-tap";
    flavor = LEFT_PINKY_HOLDING_TYPE;
    hold-trigger-key-positions = <RIGHT_HAND_KEYS>;
    hold-trigger-on-release; // wait for other home row mods
    tapping-term-ms = <LEFT_PINKY_HOLDING_TIME>;
    quick-tap-ms = <LEFT_PINKY_REPEAT_DECAY>;
    require-prior-idle-ms = <LEFT_PINKY_STREAK_DECAY>;
    #binding-cells = <2>;
    bindings = <&kp>, <&kp>;
  };
  left_pinky_ringy_bilateral: homey_left_pinky_ringy_bilateral {
    compatible = "zmk,behavior-hold-tap";
    flavor = LEFT_PINKY_HOLDING_TYPE;
    hold-trigger-key-positions = <RIGHT_HAND_KEYS>;
    hold-trigger-on-release; // wait for other home row mods
    tapping-term-ms = <LEFT_PINKY_HOLDING_TIME>;
    quick-tap-ms = <LEFT_PINKY_REPEAT_DECAY>;
    require-prior-idle-ms = <LEFT_PINKY_STREAK_DECAY>;
    #binding-cells = <2>;
    bindings = <&kp>, <&left_pinky_tap>;
  };
  #define LeftPinkyRingy left_pinky_ringy_bilateral LEFT_RINGY_MOD LEFT_RINGY_KEY
  #ifndef LEFT_MIDDY_RINGY_HOLDING_TYPE
  #define LEFT_MIDDY_RINGY_HOLDING_TYPE LEFT_MIDDY_CHORD_HOLDING_TYPE
  #endif
  #ifndef LEFT_MIDDY_RINGY_HOLDING_TIME
  #define LEFT_MIDDY_RINGY_HOLDING_TIME LEFT_MIDDY_CHORD_HOLDING_TIME
  #endif
  #ifndef LEFT_MIDDY_RINGY_STREAK_DECAY
  #define LEFT_MIDDY_RINGY_STREAK_DECAY LEFT_MIDDY_CHORD_STREAK_DECAY
  #endif
  #ifndef LEFT_MIDDY_RINGY_REPEAT_DECAY
  #define LEFT_MIDDY_RINGY_REPEAT_DECAY LEFT_MIDDY_CHORD_REPEAT_DECAY
  #endif
  left_middy_ringy: homey_left_middy_ringy {
    compatible = "zmk,behavior-hold-tap";
    flavor = LEFT_MIDDY_HOLDING_TYPE;
    hold-trigger-key-positions = <RIGHT_HAND_KEYS>;
    hold-trigger-on-release; // wait for other home row mods
    tapping-term-ms = <LEFT_MIDDY_HOLDING_TIME>;
    quick-tap-ms = <LEFT_MIDDY_REPEAT_DECAY>;
    require-prior-idle-ms = <LEFT_MIDDY_STREAK_DECAY>;
    #binding-cells = <2>;
    bindings = <&kp>, <&kp>;
  };
  left_middy_ringy_bilateral: homey_left_middy_ringy_bilateral {
    compatible = "zmk,behavior-hold-tap";
    flavor = LEFT_MIDDY_HOLDING_TYPE;
    hold-trigger-key-positions = <RIGHT_HAND_KEYS>;
    hold-trigger-on-release; // wait for other home row mods
    tapping-term-ms = <LEFT_MIDDY_HOLDING_TIME>;
    quick-tap-ms = <LEFT_MIDDY_REPEAT_DECAY>;
    require-prior-idle-ms = <LEFT_MIDDY_STREAK_DECAY>;
    #binding-cells = <2>;
    bindings = <&kp>, <&left_middy_tap>;
  };
  #define LeftMiddyRingy left_middy_ringy_bilateral LEFT_RINGY_MOD LEFT_RINGY_KEY
  #ifndef LEFT_INDEX_RINGY_HOLDING_TYPE
  #define LEFT_INDEX_RINGY_HOLDING_TYPE LEFT_INDEX_CHORD_HOLDING_TYPE
  #endif
  #ifndef LEFT_INDEX_RINGY_HOLDING_TIME
  #define LEFT_INDEX_RINGY_HOLDING_TIME LEFT_INDEX_CHORD_HOLDING_TIME
  #endif
  #ifndef LEFT_INDEX_RINGY_STREAK_DECAY
  #define LEFT_INDEX_RINGY_STREAK_DECAY LEFT_INDEX_CHORD_STREAK_DECAY
  #endif
  #ifndef LEFT_INDEX_RINGY_REPEAT_DECAY
  #define LEFT_INDEX_RINGY_REPEAT_DECAY LEFT_INDEX_CHORD_REPEAT_DECAY
  #endif
  left_index_ringy: homey_left_index_ringy {
    compatible = "zmk,behavior-hold-tap";
    flavor = LEFT_INDEX_HOLDING_TYPE;
    hold-trigger-key-positions = <RIGHT_HAND_KEYS>;
    hold-trigger-on-release; // wait for other home row mods
    tapping-term-ms = <LEFT_INDEX_HOLDING_TIME>;
    quick-tap-ms = <LEFT_INDEX_REPEAT_DECAY>;
    require-prior-idle-ms = <LEFT_INDEX_STREAK_DECAY>;
    #binding-cells = <2>;
    bindings = <&kp>, <&kp>;
  };
  left_index_ringy_bilateral: homey_left_index_ringy_bilateral {
    compatible = "zmk,behavior-hold-tap";
    flavor = LEFT_INDEX_HOLDING_TYPE;
    hold-trigger-key-positions = <RIGHT_HAND_KEYS>;
    hold-trigger-on-release; // wait for other home row mods
    tapping-term-ms = <LEFT_INDEX_HOLDING_TIME>;
    quick-tap-ms = <LEFT_INDEX_REPEAT_DECAY>;
    require-prior-idle-ms = <LEFT_INDEX_STREAK_DECAY>;
    #binding-cells = <2>;
    bindings = <&kp>, <&left_index_tap>;
  };
  #define LeftIndexRingy left_index_ringy_bilateral LEFT_RINGY_MOD LEFT_RINGY_KEY
  #ifndef RIGHT_PINKY_RINGY_HOLDING_TYPE
  #define RIGHT_PINKY_RINGY_HOLDING_TYPE RIGHT_PINKY_CHORD_HOLDING_TYPE
  #endif
  #ifndef RIGHT_PINKY_RINGY_HOLDING_TIME
  #define RIGHT_PINKY_RINGY_HOLDING_TIME RIGHT_PINKY_CHORD_HOLDING_TIME
  #endif
  #ifndef RIGHT_PINKY_RINGY_STREAK_DECAY
  #define RIGHT_PINKY_RINGY_STREAK_DECAY RIGHT_PINKY_CHORD_STREAK_DECAY
  #endif
  #ifndef RIGHT_PINKY_RINGY_REPEAT_DECAY
  #define RIGHT_PINKY_RINGY_REPEAT_DECAY RIGHT_PINKY_CHORD_REPEAT_DECAY
  #endif
  right_pinky_ringy: homey_right_pinky_ringy {
    compatible = "zmk,behavior-hold-tap";
    flavor = RIGHT_PINKY_HOLDING_TYPE;
    hold-trigger-key-positions = <LEFT_HAND_KEYS>;
    hold-trigger-on-release; // wait for other home row mods
    tapping-term-ms = <RIGHT_PINKY_HOLDING_TIME>;
    quick-tap-ms = <RIGHT_PINKY_REPEAT_DECAY>;
    require-prior-idle-ms = <RIGHT_PINKY_STREAK_DECAY>;
    #binding-cells = <2>;
    bindings = <&kp>, <&kp>;
  };
  right_pinky_ringy_bilateral: homey_right_pinky_ringy_bilateral {
    compatible = "zmk,behavior-hold-tap";
    flavor = RIGHT_PINKY_HOLDING_TYPE;
    hold-trigger-key-positions = <LEFT_HAND_KEYS>;
    hold-trigger-on-release; // wait for other home row mods
    tapping-term-ms = <RIGHT_PINKY_HOLDING_TIME>;
    quick-tap-ms = <RIGHT_PINKY_REPEAT_DECAY>;
    require-prior-idle-ms = <RIGHT_PINKY_STREAK_DECAY>;
    #binding-cells = <2>;
    bindings = <&kp>, <&right_pinky_tap>;
  };
  #define RightPinkyRingy right_pinky_ringy_bilateral RIGHT_RINGY_MOD RIGHT_RINGY_KEY
  #ifndef RIGHT_MIDDY_RINGY_HOLDING_TYPE
  #define RIGHT_MIDDY_RINGY_HOLDING_TYPE RIGHT_MIDDY_CHORD_HOLDING_TYPE
  #endif
  #ifndef RIGHT_MIDDY_RINGY_HOLDING_TIME
  #define RIGHT_MIDDY_RINGY_HOLDING_TIME RIGHT_MIDDY_CHORD_HOLDING_TIME
  #endif
  #ifndef RIGHT_MIDDY_RINGY_STREAK_DECAY
  #define RIGHT_MIDDY_RINGY_STREAK_DECAY RIGHT_MIDDY_CHORD_STREAK_DECAY
  #endif
  #ifndef RIGHT_MIDDY_RINGY_REPEAT_DECAY
  #define RIGHT_MIDDY_RINGY_REPEAT_DECAY RIGHT_MIDDY_CHORD_REPEAT_DECAY
  #endif
  right_middy_ringy: homey_right_middy_ringy {
    compatible = "zmk,behavior-hold-tap";
    flavor = RIGHT_MIDDY_HOLDING_TYPE;
    hold-trigger-key-positions = <LEFT_HAND_KEYS>;
    hold-trigger-on-release; // wait for other home row mods
    tapping-term-ms = <RIGHT_MIDDY_HOLDING_TIME>;
    quick-tap-ms = <RIGHT_MIDDY_REPEAT_DECAY>;
    require-prior-idle-ms = <RIGHT_MIDDY_STREAK_DECAY>;
    #binding-cells = <2>;
    bindings = <&kp>, <&kp>;
  };
  right_middy_ringy_bilateral: homey_right_middy_ringy_bilateral {
    compatible = "zmk,behavior-hold-tap";
    flavor = RIGHT_MIDDY_HOLDING_TYPE;
    hold-trigger-key-positions = <LEFT_HAND_KEYS>;
    hold-trigger-on-release; // wait for other home row mods
    tapping-term-ms = <RIGHT_MIDDY_HOLDING_TIME>;
    quick-tap-ms = <RIGHT_MIDDY_REPEAT_DECAY>;
    require-prior-idle-ms = <RIGHT_MIDDY_STREAK_DECAY>;
    #binding-cells = <2>;
    bindings = <&kp>, <&right_middy_tap>;
  };
  #define RightMiddyRingy right_middy_ringy_bilateral RIGHT_RINGY_MOD RIGHT_RINGY_KEY
  #ifndef RIGHT_INDEX_RINGY_HOLDING_TYPE
  #define RIGHT_INDEX_RINGY_HOLDING_TYPE RIGHT_INDEX_CHORD_HOLDING_TYPE
  #endif
  #ifndef RIGHT_INDEX_RINGY_HOLDING_TIME
  #define RIGHT_INDEX_RINGY_HOLDING_TIME RIGHT_INDEX_CHORD_HOLDING_TIME
  #endif
  #ifndef RIGHT_INDEX_RINGY_STREAK_DECAY
  #define RIGHT_INDEX_RINGY_STREAK_DECAY RIGHT_INDEX_CHORD_STREAK_DECAY
  #endif
  #ifndef RIGHT_INDEX_RINGY_REPEAT_DECAY
  #define RIGHT_INDEX_RINGY_REPEAT_DECAY RIGHT_INDEX_CHORD_REPEAT_DECAY
  #endif
  right_index_ringy: homey_right_index_ringy {
    compatible = "zmk,behavior-hold-tap";
    flavor = RIGHT_INDEX_HOLDING_TYPE;
    hold-trigger-key-positions = <LEFT_HAND_KEYS>;
    hold-trigger-on-release; // wait for other home row mods
    tapping-term-ms = <RIGHT_INDEX_HOLDING_TIME>;
    quick-tap-ms = <RIGHT_INDEX_REPEAT_DECAY>;
    require-prior-idle-ms = <RIGHT_INDEX_STREAK_DECAY>;
    #binding-cells = <2>;
    bindings = <&kp>, <&kp>;
  };
  right_index_ringy_bilateral: homey_right_index_ringy_bilateral {
    compatible = "zmk,behavior-hold-tap";
    flavor = RIGHT_INDEX_HOLDING_TYPE;
    hold-trigger-key-positions = <LEFT_HAND_KEYS>;
    hold-trigger-on-release; // wait for other home row mods
    tapping-term-ms = <RIGHT_INDEX_HOLDING_TIME>;
    quick-tap-ms = <RIGHT_INDEX_REPEAT_DECAY>;
    require-prior-idle-ms = <RIGHT_INDEX_STREAK_DECAY>;
    #binding-cells = <2>;
    bindings = <&kp>, <&right_index_tap>;
  };
  #define RightIndexRingy right_index_ringy_bilateral RIGHT_RINGY_MOD RIGHT_RINGY_KEY
  #ifndef LEFT_PINKY_MIDDY_HOLDING_TYPE
  #define LEFT_PINKY_MIDDY_HOLDING_TYPE LEFT_PINKY_CHORD_HOLDING_TYPE
  #endif
  #ifndef LEFT_PINKY_MIDDY_HOLDING_TIME
  #define LEFT_PINKY_MIDDY_HOLDING_TIME LEFT_PINKY_CHORD_HOLDING_TIME
  #endif
  #ifndef LEFT_PINKY_MIDDY_STREAK_DECAY
  #define LEFT_PINKY_MIDDY_STREAK_DECAY LEFT_PINKY_CHORD_STREAK_DECAY
  #endif
  #ifndef LEFT_PINKY_MIDDY_REPEAT_DECAY
  #define LEFT_PINKY_MIDDY_REPEAT_DECAY LEFT_PINKY_CHORD_REPEAT_DECAY
  #endif
  left_pinky_middy: homey_left_pinky_middy {
    compatible = "zmk,behavior-hold-tap";
    flavor = LEFT_PINKY_HOLDING_TYPE;
    hold-trigger-key-positions = <RIGHT_HAND_KEYS>;
    hold-trigger-on-release; // wait for other home row mods
    tapping-term-ms = <LEFT_PINKY_HOLDING_TIME>;
    quick-tap-ms = <LEFT_PINKY_REPEAT_DECAY>;
    require-prior-idle-ms = <LEFT_PINKY_STREAK_DECAY>;
    #binding-cells = <2>;
    bindings = <&kp>, <&kp>;
  };
  left_pinky_middy_bilateral: homey_left_pinky_middy_bilateral {
    compatible = "zmk,behavior-hold-tap";
    flavor = LEFT_PINKY_HOLDING_TYPE;
    hold-trigger-key-positions = <RIGHT_HAND_KEYS>;
    hold-trigger-on-release; // wait for other home row mods
    tapping-term-ms = <LEFT_PINKY_HOLDING_TIME>;
    quick-tap-ms = <LEFT_PINKY_REPEAT_DECAY>;
    require-prior-idle-ms = <LEFT_PINKY_STREAK_DECAY>;
    #binding-cells = <2>;
    bindings = <&kp>, <&left_pinky_tap>;
  };
  #define LeftPinkyMiddy left_pinky_middy_bilateral LEFT_MIDDY_MOD LEFT_MIDDY_KEY
  #ifndef LEFT_RINGY_MIDDY_HOLDING_TYPE
  #define LEFT_RINGY_MIDDY_HOLDING_TYPE LEFT_RINGY_CHORD_HOLDING_TYPE
  #endif
  #ifndef LEFT_RINGY_MIDDY_HOLDING_TIME
  #define LEFT_RINGY_MIDDY_HOLDING_TIME LEFT_RINGY_CHORD_HOLDING_TIME
  #endif
  #ifndef LEFT_RINGY_MIDDY_STREAK_DECAY
  #define LEFT_RINGY_MIDDY_STREAK_DECAY LEFT_RINGY_CHORD_STREAK_DECAY
  #endif
  #ifndef LEFT_RINGY_MIDDY_REPEAT_DECAY
  #define LEFT_RINGY_MIDDY_REPEAT_DECAY LEFT_RINGY_CHORD_REPEAT_DECAY
  #endif
  left_ringy_middy: homey_left_ringy_middy {
    compatible = "zmk,behavior-hold-tap";
    flavor = LEFT_RINGY_HOLDING_TYPE;
    hold-trigger-key-positions = <RIGHT_HAND_KEYS>;
    hold-trigger-on-release; // wait for other home row mods
    tapping-term-ms = <LEFT_RINGY_HOLDING_TIME>;
    quick-tap-ms = <LEFT_RINGY_REPEAT_DECAY>;
    require-prior-idle-ms = <LEFT_RINGY_STREAK_DECAY>;
    #binding-cells = <2>;
    bindings = <&kp>, <&kp>;
  };
  left_ringy_middy_bilateral: homey_left_ringy_middy_bilateral {
    compatible = "zmk,behavior-hold-tap";
    flavor = LEFT_RINGY_HOLDING_TYPE;
    hold-trigger-key-positions = <RIGHT_HAND_KEYS>;
    hold-trigger-on-release; // wait for other home row mods
    tapping-term-ms = <LEFT_RINGY_HOLDING_TIME>;
    quick-tap-ms = <LEFT_RINGY_REPEAT_DECAY>;
    require-prior-idle-ms = <LEFT_RINGY_STREAK_DECAY>;
    #binding-cells = <2>;
    bindings = <&kp>, <&left_ringy_tap>;
  };
  #define LeftRingyMiddy left_ringy_middy_bilateral LEFT_MIDDY_MOD LEFT_MIDDY_KEY
  #ifndef LEFT_INDEX_MIDDY_HOLDING_TYPE
  #define LEFT_INDEX_MIDDY_HOLDING_TYPE LEFT_INDEX_CHORD_HOLDING_TYPE
  #endif
  #ifndef LEFT_INDEX_MIDDY_HOLDING_TIME
  #define LEFT_INDEX_MIDDY_HOLDING_TIME LEFT_INDEX_CHORD_HOLDING_TIME
  #endif
  #ifndef LEFT_INDEX_MIDDY_STREAK_DECAY
  #define LEFT_INDEX_MIDDY_STREAK_DECAY LEFT_INDEX_CHORD_STREAK_DECAY
  #endif
  #ifndef LEFT_INDEX_MIDDY_REPEAT_DECAY
  #define LEFT_INDEX_MIDDY_REPEAT_DECAY LEFT_INDEX_CHORD_REPEAT_DECAY
  #endif
  left_index_middy: homey_left_index_middy {
    compatible = "zmk,behavior-hold-tap";
    flavor = LEFT_INDEX_HOLDING_TYPE;
    hold-trigger-key-positions = <RIGHT_HAND_KEYS>;
    hold-trigger-on-release; // wait for other home row mods
    tapping-term-ms = <LEFT_INDEX_HOLDING_TIME>;
    quick-tap-ms = <LEFT_INDEX_REPEAT_DECAY>;
    require-prior-idle-ms = <LEFT_INDEX_STREAK_DECAY>;
    #binding-cells = <2>;
    bindings = <&kp>, <&kp>;
  };
  left_index_middy_bilateral: homey_left_index_middy_bilateral {
    compatible = "zmk,behavior-hold-tap";
    flavor = LEFT_INDEX_HOLDING_TYPE;
    hold-trigger-key-positions = <RIGHT_HAND_KEYS>;
    hold-trigger-on-release; // wait for other home row mods
    tapping-term-ms = <LEFT_INDEX_HOLDING_TIME>;
    quick-tap-ms = <LEFT_INDEX_REPEAT_DECAY>;
    require-prior-idle-ms = <LEFT_INDEX_STREAK_DECAY>;
    #binding-cells = <2>;
    bindings = <&kp>, <&left_index_tap>;
  };
  #define LeftIndexMiddy left_index_middy_bilateral LEFT_MIDDY_MOD LEFT_MIDDY_KEY
  #ifndef RIGHT_PINKY_MIDDY_HOLDING_TYPE
  #define RIGHT_PINKY_MIDDY_HOLDING_TYPE RIGHT_PINKY_CHORD_HOLDING_TYPE
  #endif
  #ifndef RIGHT_PINKY_MIDDY_HOLDING_TIME
  #define RIGHT_PINKY_MIDDY_HOLDING_TIME RIGHT_PINKY_CHORD_HOLDING_TIME
  #endif
  #ifndef RIGHT_PINKY_MIDDY_STREAK_DECAY
  #define RIGHT_PINKY_MIDDY_STREAK_DECAY RIGHT_PINKY_CHORD_STREAK_DECAY
  #endif
  #ifndef RIGHT_PINKY_MIDDY_REPEAT_DECAY
  #define RIGHT_PINKY_MIDDY_REPEAT_DECAY RIGHT_PINKY_CHORD_REPEAT_DECAY
  #endif
  right_pinky_middy: homey_right_pinky_middy {
    compatible = "zmk,behavior-hold-tap";
    flavor = RIGHT_PINKY_HOLDING_TYPE;
    hold-trigger-key-positions = <LEFT_HAND_KEYS>;
    hold-trigger-on-release; // wait for other home row mods
    tapping-term-ms = <RIGHT_PINKY_HOLDING_TIME>;
    quick-tap-ms = <RIGHT_PINKY_REPEAT_DECAY>;
    require-prior-idle-ms = <RIGHT_PINKY_STREAK_DECAY>;
    #binding-cells = <2>;
    bindings = <&kp>, <&kp>;
  };
  right_pinky_middy_bilateral: homey_right_pinky_middy_bilateral {
    compatible = "zmk,behavior-hold-tap";
    flavor = RIGHT_PINKY_HOLDING_TYPE;
    hold-trigger-key-positions = <LEFT_HAND_KEYS>;
    hold-trigger-on-release; // wait for other home row mods
    tapping-term-ms = <RIGHT_PINKY_HOLDING_TIME>;
    quick-tap-ms = <RIGHT_PINKY_REPEAT_DECAY>;
    require-prior-idle-ms = <RIGHT_PINKY_STREAK_DECAY>;
    #binding-cells = <2>;
    bindings = <&kp>, <&right_pinky_tap>;
  };
  #define RightPinkyMiddy right_pinky_middy_bilateral RIGHT_MIDDY_MOD RIGHT_MIDDY_KEY
  #ifndef RIGHT_RINGY_MIDDY_HOLDING_TYPE
  #define RIGHT_RINGY_MIDDY_HOLDING_TYPE RIGHT_RINGY_CHORD_HOLDING_TYPE
  #endif
  #ifndef RIGHT_RINGY_MIDDY_HOLDING_TIME
  #define RIGHT_RINGY_MIDDY_HOLDING_TIME RIGHT_RINGY_CHORD_HOLDING_TIME
  #endif
  #ifndef RIGHT_RINGY_MIDDY_STREAK_DECAY
  #define RIGHT_RINGY_MIDDY_STREAK_DECAY RIGHT_RINGY_CHORD_STREAK_DECAY
  #endif
  #ifndef RIGHT_RINGY_MIDDY_REPEAT_DECAY
  #define RIGHT_RINGY_MIDDY_REPEAT_DECAY RIGHT_RINGY_CHORD_REPEAT_DECAY
  #endif
  right_ringy_middy: homey_right_ringy_middy {
    compatible = "zmk,behavior-hold-tap";
    flavor = RIGHT_RINGY_HOLDING_TYPE;
    hold-trigger-key-positions = <LEFT_HAND_KEYS>;
    hold-trigger-on-release; // wait for other home row mods
    tapping-term-ms = <RIGHT_RINGY_HOLDING_TIME>;
    quick-tap-ms = <RIGHT_RINGY_REPEAT_DECAY>;
    require-prior-idle-ms = <RIGHT_RINGY_STREAK_DECAY>;
    #binding-cells = <2>;
    bindings = <&kp>, <&kp>;
  };
  right_ringy_middy_bilateral: homey_right_ringy_middy_bilateral {
    compatible = "zmk,behavior-hold-tap";
    flavor = RIGHT_RINGY_HOLDING_TYPE;
    hold-trigger-key-positions = <LEFT_HAND_KEYS>;
    hold-trigger-on-release; // wait for other home row mods
    tapping-term-ms = <RIGHT_RINGY_HOLDING_TIME>;
    quick-tap-ms = <RIGHT_RINGY_REPEAT_DECAY>;
    require-prior-idle-ms = <RIGHT_RINGY_STREAK_DECAY>;
    #binding-cells = <2>;
    bindings = <&kp>, <&right_ringy_tap>;
  };
  #define RightRingyMiddy right_ringy_middy_bilateral RIGHT_MIDDY_MOD RIGHT_MIDDY_KEY
  #ifndef RIGHT_INDEX_MIDDY_HOLDING_TYPE
  #define RIGHT_INDEX_MIDDY_HOLDING_TYPE RIGHT_INDEX_CHORD_HOLDING_TYPE
  #endif
  #ifndef RIGHT_INDEX_MIDDY_HOLDING_TIME
  #define RIGHT_INDEX_MIDDY_HOLDING_TIME RIGHT_INDEX_CHORD_HOLDING_TIME
  #endif
  #ifndef RIGHT_INDEX_MIDDY_STREAK_DECAY
  #define RIGHT_INDEX_MIDDY_STREAK_DECAY RIGHT_INDEX_CHORD_STREAK_DECAY
  #endif
  #ifndef RIGHT_INDEX_MIDDY_REPEAT_DECAY
  #define RIGHT_INDEX_MIDDY_REPEAT_DECAY RIGHT_INDEX_CHORD_REPEAT_DECAY
  #endif
  right_index_middy: homey_right_index_middy {
    compatible = "zmk,behavior-hold-tap";
    flavor = RIGHT_INDEX_HOLDING_TYPE;
    hold-trigger-key-positions = <LEFT_HAND_KEYS>;
    hold-trigger-on-release; // wait for other home row mods
    tapping-term-ms = <RIGHT_INDEX_HOLDING_TIME>;
    quick-tap-ms = <RIGHT_INDEX_REPEAT_DECAY>;
    require-prior-idle-ms = <RIGHT_INDEX_STREAK_DECAY>;
    #binding-cells = <2>;
    bindings = <&kp>, <&kp>;
  };
  right_index_middy_bilateral: homey_right_index_middy_bilateral {
    compatible = "zmk,behavior-hold-tap";
    flavor = RIGHT_INDEX_HOLDING_TYPE;
    hold-trigger-key-positions = <LEFT_HAND_KEYS>;
    hold-trigger-on-release; // wait for other home row mods
    tapping-term-ms = <RIGHT_INDEX_HOLDING_TIME>;
    quick-tap-ms = <RIGHT_INDEX_REPEAT_DECAY>;
    require-prior-idle-ms = <RIGHT_INDEX_STREAK_DECAY>;
    #binding-cells = <2>;
    bindings = <&kp>, <&right_index_tap>;
  };
  #define RightIndexMiddy right_index_middy_bilateral RIGHT_MIDDY_MOD RIGHT_MIDDY_KEY
  #ifndef LEFT_PINKY_INDEX_HOLDING_TYPE
  #define LEFT_PINKY_INDEX_HOLDING_TYPE LEFT_PINKY_CHORD_HOLDING_TYPE
  #endif
  #ifndef LEFT_PINKY_INDEX_HOLDING_TIME
  #define LEFT_PINKY_INDEX_HOLDING_TIME LEFT_PINKY_CHORD_HOLDING_TIME
  #endif
  #ifndef LEFT_PINKY_INDEX_STREAK_DECAY
  #define LEFT_PINKY_INDEX_STREAK_DECAY LEFT_PINKY_CHORD_STREAK_DECAY
  #endif
  #ifndef LEFT_PINKY_INDEX_REPEAT_DECAY
  #define LEFT_PINKY_INDEX_REPEAT_DECAY LEFT_PINKY_CHORD_REPEAT_DECAY
  #endif
  left_pinky_index: homey_left_pinky_index {
    compatible = "zmk,behavior-hold-tap";
    flavor = LEFT_PINKY_HOLDING_TYPE;
    hold-trigger-key-positions = <RIGHT_HAND_KEYS>;
    hold-trigger-on-release; // wait for other home row mods
    tapping-term-ms = <LEFT_PINKY_HOLDING_TIME>;
    quick-tap-ms = <LEFT_PINKY_REPEAT_DECAY>;
    require-prior-idle-ms = <LEFT_PINKY_STREAK_DECAY>;
    #binding-cells = <2>;
    bindings = <&kp>, <&kp>;
  };
  left_pinky_index_bilateral: homey_left_pinky_index_bilateral {
    compatible = "zmk,behavior-hold-tap";
    flavor = LEFT_PINKY_HOLDING_TYPE;
    hold-trigger-key-positions = <RIGHT_HAND_KEYS>;
    hold-trigger-on-release; // wait for other home row mods
    tapping-term-ms = <LEFT_PINKY_HOLDING_TIME>;
    quick-tap-ms = <LEFT_PINKY_REPEAT_DECAY>;
    require-prior-idle-ms = <LEFT_PINKY_STREAK_DECAY>;
    #binding-cells = <2>;
    bindings = <&kp>, <&left_pinky_tap>;
  };
  #define LeftPinkyIndex left_pinky_index_bilateral LEFT_INDEX_MOD LEFT_INDEX_KEY
  #ifndef LEFT_RINGY_INDEX_HOLDING_TYPE
  #define LEFT_RINGY_INDEX_HOLDING_TYPE LEFT_RINGY_CHORD_HOLDING_TYPE
  #endif
  #ifndef LEFT_RINGY_INDEX_HOLDING_TIME
  #define LEFT_RINGY_INDEX_HOLDING_TIME LEFT_RINGY_CHORD_HOLDING_TIME
  #endif
  #ifndef LEFT_RINGY_INDEX_STREAK_DECAY
  #define LEFT_RINGY_INDEX_STREAK_DECAY LEFT_RINGY_CHORD_STREAK_DECAY
  #endif
  #ifndef LEFT_RINGY_INDEX_REPEAT_DECAY
  #define LEFT_RINGY_INDEX_REPEAT_DECAY LEFT_RINGY_CHORD_REPEAT_DECAY
  #endif
  left_ringy_index: homey_left_ringy_index {
    compatible = "zmk,behavior-hold-tap";
    flavor = LEFT_RINGY_HOLDING_TYPE;
    hold-trigger-key-positions = <RIGHT_HAND_KEYS>;
    hold-trigger-on-release; // wait for other home row mods
    tapping-term-ms = <LEFT_RINGY_HOLDING_TIME>;
    quick-tap-ms = <LEFT_RINGY_REPEAT_DECAY>;
    require-prior-idle-ms = <LEFT_RINGY_STREAK_DECAY>;
    #binding-cells = <2>;
    bindings = <&kp>, <&kp>;
  };
  left_ringy_index_bilateral: homey_left_ringy_index_bilateral {
    compatible = "zmk,behavior-hold-tap";
    flavor = LEFT_RINGY_HOLDING_TYPE;
    hold-trigger-key-positions = <RIGHT_HAND_KEYS>;
    hold-trigger-on-release; // wait for other home row mods
    tapping-term-ms = <LEFT_RINGY_HOLDING_TIME>;
    quick-tap-ms = <LEFT_RINGY_REPEAT_DECAY>;
    require-prior-idle-ms = <LEFT_RINGY_STREAK_DECAY>;
    #binding-cells = <2>;
    bindings = <&kp>, <&left_ringy_tap>;
  };
  #define LeftRingyIndex left_ringy_index_bilateral LEFT_INDEX_MOD LEFT_INDEX_KEY
  #ifndef LEFT_MIDDY_INDEX_HOLDING_TYPE
  #define LEFT_MIDDY_INDEX_HOLDING_TYPE LEFT_MIDDY_CHORD_HOLDING_TYPE
  #endif
  #ifndef LEFT_MIDDY_INDEX_HOLDING_TIME
  #define LEFT_MIDDY_INDEX_HOLDING_TIME LEFT_MIDDY_CHORD_HOLDING_TIME
  #endif
  #ifndef LEFT_MIDDY_INDEX_STREAK_DECAY
  #define LEFT_MIDDY_INDEX_STREAK_DECAY LEFT_MIDDY_CHORD_STREAK_DECAY
  #endif
  #ifndef LEFT_MIDDY_INDEX_REPEAT_DECAY
  #define LEFT_MIDDY_INDEX_REPEAT_DECAY LEFT_MIDDY_CHORD_REPEAT_DECAY
  #endif
  left_middy_index: homey_left_middy_index {
    compatible = "zmk,behavior-hold-tap";
    flavor = LEFT_MIDDY_HOLDING_TYPE;
    hold-trigger-key-positions = <RIGHT_HAND_KEYS>;
    hold-trigger-on-release; // wait for other home row mods
    tapping-term-ms = <LEFT_MIDDY_HOLDING_TIME>;
    quick-tap-ms = <LEFT_MIDDY_REPEAT_DECAY>;
    require-prior-idle-ms = <LEFT_MIDDY_STREAK_DECAY>;
    #binding-cells = <2>;
    bindings = <&kp>, <&kp>;
  };
  left_middy_index_bilateral: homey_left_middy_index_bilateral {
    compatible = "zmk,behavior-hold-tap";
    flavor = LEFT_MIDDY_HOLDING_TYPE;
    hold-trigger-key-positions = <RIGHT_HAND_KEYS>;
    hold-trigger-on-release; // wait for other home row mods
    tapping-term-ms = <LEFT_MIDDY_HOLDING_TIME>;
    quick-tap-ms = <LEFT_MIDDY_REPEAT_DECAY>;
    require-prior-idle-ms = <LEFT_MIDDY_STREAK_DECAY>;
    #binding-cells = <2>;
    bindings = <&kp>, <&left_middy_tap>;
  };
  #define LeftMiddyIndex left_middy_index_bilateral LEFT_INDEX_MOD LEFT_INDEX_KEY
  #ifndef RIGHT_PINKY_INDEX_HOLDING_TYPE
  #define RIGHT_PINKY_INDEX_HOLDING_TYPE RIGHT_PINKY_CHORD_HOLDING_TYPE
  #endif
  #ifndef RIGHT_PINKY_INDEX_HOLDING_TIME
  #define RIGHT_PINKY_INDEX_HOLDING_TIME RIGHT_PINKY_CHORD_HOLDING_TIME
  #endif
  #ifndef RIGHT_PINKY_INDEX_STREAK_DECAY
  #define RIGHT_PINKY_INDEX_STREAK_DECAY RIGHT_PINKY_CHORD_STREAK_DECAY
  #endif
  #ifndef RIGHT_PINKY_INDEX_REPEAT_DECAY
  #define RIGHT_PINKY_INDEX_REPEAT_DECAY RIGHT_PINKY_CHORD_REPEAT_DECAY
  #endif
  right_pinky_index: homey_right_pinky_index {
    compatible = "zmk,behavior-hold-tap";
    flavor = RIGHT_PINKY_HOLDING_TYPE;
    hold-trigger-key-positions = <LEFT_HAND_KEYS>;
    hold-trigger-on-release; // wait for other home row mods
    tapping-term-ms = <RIGHT_PINKY_HOLDING_TIME>;
    quick-tap-ms = <RIGHT_PINKY_REPEAT_DECAY>;
    require-prior-idle-ms = <RIGHT_PINKY_STREAK_DECAY>;
    #binding-cells = <2>;
    bindings = <&kp>, <&kp>;
  };
  right_pinky_index_bilateral: homey_right_pinky_index_bilateral {
    compatible = "zmk,behavior-hold-tap";
    flavor = RIGHT_PINKY_HOLDING_TYPE;
    hold-trigger-key-positions = <LEFT_HAND_KEYS>;
    hold-trigger-on-release; // wait for other home row mods
    tapping-term-ms = <RIGHT_PINKY_HOLDING_TIME>;
    quick-tap-ms = <RIGHT_PINKY_REPEAT_DECAY>;
    require-prior-idle-ms = <RIGHT_PINKY_STREAK_DECAY>;
    #binding-cells = <2>;
    bindings = <&kp>, <&right_pinky_tap>;
  };
  #define RightPinkyIndex right_pinky_index_bilateral RIGHT_INDEX_MOD RIGHT_INDEX_KEY
  #ifndef RIGHT_RINGY_INDEX_HOLDING_TYPE
  #define RIGHT_RINGY_INDEX_HOLDING_TYPE RIGHT_RINGY_CHORD_HOLDING_TYPE
  #endif
  #ifndef RIGHT_RINGY_INDEX_HOLDING_TIME
  #define RIGHT_RINGY_INDEX_HOLDING_TIME RIGHT_RINGY_CHORD_HOLDING_TIME
  #endif
  #ifndef RIGHT_RINGY_INDEX_STREAK_DECAY
  #define RIGHT_RINGY_INDEX_STREAK_DECAY RIGHT_RINGY_CHORD_STREAK_DECAY
  #endif
  #ifndef RIGHT_RINGY_INDEX_REPEAT_DECAY
  #define RIGHT_RINGY_INDEX_REPEAT_DECAY RIGHT_RINGY_CHORD_REPEAT_DECAY
  #endif
  right_ringy_index: homey_right_ringy_index {
    compatible = "zmk,behavior-hold-tap";
    flavor = RIGHT_RINGY_HOLDING_TYPE;
    hold-trigger-key-positions = <LEFT_HAND_KEYS>;
    hold-trigger-on-release; // wait for other home row mods
    tapping-term-ms = <RIGHT_RINGY_HOLDING_TIME>;
    quick-tap-ms = <RIGHT_RINGY_REPEAT_DECAY>;
    require-prior-idle-ms = <RIGHT_RINGY_STREAK_DECAY>;
    #binding-cells = <2>;
    bindings = <&kp>, <&kp>;
  };
  right_ringy_index_bilateral: homey_right_ringy_index_bilateral {
    compatible = "zmk,behavior-hold-tap";
    flavor = RIGHT_RINGY_HOLDING_TYPE;
    hold-trigger-key-positions = <LEFT_HAND_KEYS>;
    hold-trigger-on-release; // wait for other home row mods
    tapping-term-ms = <RIGHT_RINGY_HOLDING_TIME>;
    quick-tap-ms = <RIGHT_RINGY_REPEAT_DECAY>;
    require-prior-idle-ms = <RIGHT_RINGY_STREAK_DECAY>;
    #binding-cells = <2>;
    bindings = <&kp>, <&right_ringy_tap>;
  };
  #define RightRingyIndex right_ringy_index_bilateral RIGHT_INDEX_MOD RIGHT_INDEX_KEY
  #ifndef RIGHT_MIDDY_INDEX_HOLDING_TYPE
  #define RIGHT_MIDDY_INDEX_HOLDING_TYPE RIGHT_MIDDY_CHORD_HOLDING_TYPE
  #endif
  #ifndef RIGHT_MIDDY_INDEX_HOLDING_TIME
  #define RIGHT_MIDDY_INDEX_HOLDING_TIME RIGHT_MIDDY_CHORD_HOLDING_TIME
  #endif
  #ifndef RIGHT_MIDDY_INDEX_STREAK_DECAY
  #define RIGHT_MIDDY_INDEX_STREAK_DECAY RIGHT_MIDDY_CHORD_STREAK_DECAY
  #endif
  #ifndef RIGHT_MIDDY_INDEX_REPEAT_DECAY
  #define RIGHT_MIDDY_INDEX_REPEAT_DECAY RIGHT_MIDDY_CHORD_REPEAT_DECAY
  #endif
  right_middy_index: homey_right_middy_index {
    compatible = "zmk,behavior-hold-tap";
    flavor = RIGHT_MIDDY_HOLDING_TYPE;
    hold-trigger-key-positions = <LEFT_HAND_KEYS>;
    hold-trigger-on-release; // wait for other home row mods
    tapping-term-ms = <RIGHT_MIDDY_HOLDING_TIME>;
    quick-tap-ms = <RIGHT_MIDDY_REPEAT_DECAY>;
    require-prior-idle-ms = <RIGHT_MIDDY_STREAK_DECAY>;
    #binding-cells = <2>;
    bindings = <&kp>, <&kp>;
  };
  right_middy_index_bilateral: homey_right_middy_index_bilateral {
    compatible = "zmk,behavior-hold-tap";
    flavor = RIGHT_MIDDY_HOLDING_TYPE;
    hold-trigger-key-positions = <LEFT_HAND_KEYS>;
    hold-trigger-on-release; // wait for other home row mods
    tapping-term-ms = <RIGHT_MIDDY_HOLDING_TIME>;
    quick-tap-ms = <RIGHT_MIDDY_REPEAT_DECAY>;
    require-prior-idle-ms = <RIGHT_MIDDY_STREAK_DECAY>;
    #binding-cells = <2>;
    bindings = <&kp>, <&right_middy_tap>;
  };
  #define RightMiddyIndex right_middy_index_bilateral RIGHT_INDEX_MOD RIGHT_INDEX_KEY

  //
  // Thumb cluster hold-tap keys for Miryoku layers
  //
  thumb: thumb_layer_access {
    compatible = "zmk,behavior-hold-tap";
    flavor = THUMB_HOLDING_TYPE;
    tapping-term-ms = <THUMB_HOLDING_TIME>;
    quick-tap-ms = <THUMB_REPEAT_DECAY>; // enable repeat
    #binding-cells = <2>;
    bindings = <&mo>, <&kp>;
    #ifdef THUMB_FORGIVENESS
    retro-tap; // tap on standalone hold
    #endif
  };
  stumb: thumb_layer_access_sticky_key_oneshot {
    compatible = "zmk,behavior-hold-tap";
    flavor = THUMB_HOLDING_TYPE;
    tapping-term-ms = <THUMB_HOLDING_TIME>;
    quick-tap-ms = <THUMB_REPEAT_DECAY>; // enable repeat
    #binding-cells = <2>;
    bindings = <&mo>, <&sticky_key_oneshot>;
  };
  crumb: thumb_layer_access_retro_tap {
    compatible = "zmk,behavior-hold-tap";
    flavor = THUMB_HOLDING_TYPE;
    tapping-term-ms = <THUMB_HOLDING_TIME>;
    quick-tap-ms = <THUMB_REPEAT_DECAY>; // enable repeat
    #binding-cells = <2>;
    bindings = <&mo>, <&kp>;
    retro-tap; // tap on standalone hold
  };
  crumb_parang_left: crumb_layer_access_parang_left {
    compatible = "zmk,behavior-hold-tap";
    flavor = THUMB_HOLDING_TYPE;
    tapping-term-ms = <THUMB_HOLDING_TIME>;
    quick-tap-ms = <THUMB_REPEAT_DECAY>; // enable repeat
    #binding-cells = <2>;
    bindings = <&mo>, <&parang_left>;
    retro-tap; // tap on standalone hold
  };
  crumb_parang_right: crumb_layer_access_parang_right {
    compatible = "zmk,behavior-hold-tap";
    flavor = THUMB_HOLDING_TYPE;
    tapping-term-ms = <THUMB_HOLDING_TIME>;
    quick-tap-ms = <THUMB_REPEAT_DECAY>; // enable repeat
    #binding-cells = <2>;
    bindings = <&mo>, <&parang_right>;
    retro-tap; // tap on standalone hold
  };
  #ifdef LAYER_Engram
  crumb_engram_AT: crumb_layer_access_engram_AT {
    compatible = "zmk,behavior-hold-tap";
    flavor = THUMB_HOLDING_TYPE;
    tapping-term-ms = <THUMB_HOLDING_TIME>;
    quick-tap-ms = <THUMB_REPEAT_DECAY>; // enable repeat
    #binding-cells = <2>;
    bindings = <&mo>, <&engram_AT>;
    retro-tap; // tap on standalone hold
  };
  thumb_engram_AT: thumb_layer_access_engram_AT {
    compatible = "zmk,behavior-hold-tap";
    flavor = THUMB_HOLDING_TYPE;
    tapping-term-ms = <THUMB_HOLDING_TIME>;
    quick-tap-ms = <THUMB_REPEAT_DECAY>; // enable repeat
    #binding-cells = <2>;
    bindings = <&mo>, <&engram_AT>;
  };
  #endif
  space: thumb_layer_access_spacebar {
    compatible = "zmk,behavior-hold-tap";
    flavor = SPACE_HOLDING_TYPE;
    tapping-term-ms = <SPACE_HOLDING_TIME>;
    quick-tap-ms = <SPACE_REPEAT_DECAY>; // enable repeat
    #binding-cells = <2>;
    bindings = <&mo>, <&kp>;
    #ifdef SPACE_FORGIVENESS
    retro-tap; // tap on standalone hold
    #endif
  };

  //
  // Shift + LEFT_PARENTHESIS = LESS_THAN
  //
  parang_left: left_parenthesis_and_less_than {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&kp LPAR>, <&kp LT>;
    mods = <(MOD_LSFT|MOD_RSFT)>;
  };

  //
  // Shift + RIGHT_PARENTHESIS = GREATER_THAN
  //
  parang_right: right_parenthesis_and_greater_than {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&kp RPAR>, <&kp GT>;
    mods = <(MOD_LSFT|MOD_RSFT)>;
  };

  //
  // Custom shifted pairs for the Engram layout
  // - https://engram.dev/
  // - https://sunaku.github.io/engram-keyboard-layout.html
  //
  #ifdef LAYER_Engram
  engram_N1: engram_shift_N1_PIPE {
      compatible = "zmk,behavior-mod-morph";
      #binding-cells = <0>;
      bindings = <&kp N1>, <&kp PIPE>;
      mods = <(MOD_LSFT|MOD_RSFT)>;
  };
  engram_N2: engram_shift_N2_EQUAL {
      compatible = "zmk,behavior-mod-morph";
      #binding-cells = <0>;
      bindings = <&kp N2>, <&kp EQUAL>;
      mods = <(MOD_LSFT|MOD_RSFT)>;
  };
  engram_N3: engram_shift_N3_TILDE {
      compatible = "zmk,behavior-mod-morph";
      #binding-cells = <0>;
      bindings = <&kp N3>, <&kp TILDE>;
      mods = <(MOD_LSFT|MOD_RSFT)>;
  };
  engram_N4: engram_shift_N4_PLUS {
      compatible = "zmk,behavior-mod-morph";
      #binding-cells = <0>;
      bindings = <&kp N4>, <&kp PLUS>;
      mods = <(MOD_LSFT|MOD_RSFT)>;
  };
  engram_N5: engram_shift_N5_LT {
      compatible = "zmk,behavior-mod-morph";
      #binding-cells = <0>;
      bindings = <&kp N5>, <&kp LT>;
      mods = <(MOD_LSFT|MOD_RSFT)>;
  };
  engram_N6: engram_shift_N6_GT {
      compatible = "zmk,behavior-mod-morph";
      #binding-cells = <0>;
      bindings = <&kp N6>, <&kp GT>;
      mods = <(MOD_LSFT|MOD_RSFT)>;
  };
  engram_N7: engram_shift_N7_CARET {
      compatible = "zmk,behavior-mod-morph";
      #binding-cells = <0>;
      bindings = <&kp N7>, <&kp CARET>;
      mods = <(MOD_LSFT|MOD_RSFT)>;
  };
  engram_N8: engram_shift_N8_AMPS {
      compatible = "zmk,behavior-mod-morph";
      #binding-cells = <0>;
      bindings = <&kp N8>, <&kp AMPS>;
      mods = <(MOD_LSFT|MOD_RSFT)>;
  };
  engram_N9: engram_shift_N9_PRCNT {
      compatible = "zmk,behavior-mod-morph";
      #binding-cells = <0>;
      bindings = <&kp N9>, <&kp PRCNT>;
      mods = <(MOD_LSFT|MOD_RSFT)>;
  };
  engram_N0: engram_shift_N0_STAR {
      compatible = "zmk,behavior-mod-morph";
      #binding-cells = <0>;
      bindings = <&kp N0>, <&kp STAR>;
      mods = <(MOD_LSFT|MOD_RSFT)>;
  };
  engram_SQT: engram_shift_SQT_LPAR {
      compatible = "zmk,behavior-mod-morph";
      #binding-cells = <0>;
      bindings = <&kp SQT>, <&kp LPAR>;
      mods = <(MOD_LSFT|MOD_RSFT)>;
  };
  engram_DQT: engram_shift_DQT_RPAR {
      compatible = "zmk,behavior-mod-morph";
      #binding-cells = <0>;
      bindings = <&kp DQT>, <&kp RPAR>;
      mods = <(MOD_LSFT|MOD_RSFT)>;
  };
  engram_COMMA: engram_shift_COMMA_SEMI {
      compatible = "zmk,behavior-mod-morph";
      #binding-cells = <0>;
      bindings = <&kp COMMA>, <&kp SEMI>;
      mods = <(MOD_LSFT|MOD_RSFT)>;
  };
  engram_DOT: engram_shift_DOT_COLON {
      compatible = "zmk,behavior-mod-morph";
      #binding-cells = <0>;
      bindings = <&kp DOT>, <&kp COLON>;
      mods = <(MOD_LSFT|MOD_RSFT)>;
  };
  engram_QMARK: engram_shift_QMARK_EXCL {
      compatible = "zmk,behavior-mod-morph";
      #binding-cells = <0>;
      bindings = <&kp QMARK>, <&kp EXCL>;
      mods = <(MOD_LSFT|MOD_RSFT)>;
  };
  engram_HASH: engram_shift_HASH_DLLR {
      compatible = "zmk,behavior-mod-morph";
      #binding-cells = <0>;
      bindings = <&kp HASH>, <&kp DLLR>;
      mods = <(MOD_LSFT|MOD_RSFT)>;
  };
  engram_AT: engram_shift_AT_GRAVE {
      compatible = "zmk,behavior-mod-morph";
      #binding-cells = <0>;
      bindings = <&kp AT>, <&kp GRAVE>;
      mods = <(MOD_LSFT|MOD_RSFT)>;
  };
  engram_FSLH: engram_shift_FSLH_BSLH {
      compatible = "zmk,behavior-mod-morph";
      #binding-cells = <0>;
      bindings = <&kp FSLH>, <&kp BSLH>;
      mods = <(MOD_LSFT|MOD_RSFT)>;
  };
  #endif

  //////////////////////////////////////////////////////////////////////////
  //
  // &sk (sticky key) variant that is truly one-shot
  //
  //////////////////////////////////////////////////////////////////////////

  //
  // STICKY_1SHOT_DECAY defines how much time you have left (milliseconds)
  // after tapping a sticky key before it expires (won't apply to next tap).
  //
  #ifndef STICKY_1SHOT_DECAY
  #define STICKY_1SHOT_DECAY 500
  #endif

  //
  // STICKY_HOLDING_TIME defines how long you need to hold (milliseconds)
  // sticky one-shot keys in order to trigger their hold (not tap) action.
  //
  #ifndef STICKY_HOLDING_TIME
  #define STICKY_HOLDING_TIME (TAPPING_RESOLUTION + 50)
  #endif

  sticky_key_modtap: sticky_key_modtap {
    compatible = "zmk,behavior-hold-tap";
    flavor = "tap-preferred";
    tapping-term-ms = <STICKY_HOLDING_TIME>;
    #binding-cells = <2>;
    bindings = <&kp>, <&sticky_key_oneshot>;
  };
  sticky_key_oneshot: sticky_key_oneshot_macro {
    compatible = "zmk,behavior-macro-one-param";
    wait-ms = <0>;
    tap-ms = <0>;
    #binding-cells = <1>;
    bindings
      = <&macro_param_1to1>
      , <&macro_tap &sticky_key_quickrel MACRO_PLACEHOLDER>
      ;
  };
  sticky_key_quickrel: sticky_key_quick_release {
    compatible = "zmk,behavior-sticky-key";
    #binding-cells = <1>;
    bindings = <&kp>;
    release-after-ms = <STICKY_1SHOT_DECAY>;
    quick-release;
    ignore-modifiers;
  };

  //////////////////////////////////////////////////////////////////////////
  //
  // ZMK global overrides
  //
  //////////////////////////////////////////////////////////////////////////

  //
  // CapsWord - ported from Pascal Getreuer's extension for QMK
  // - https://zmk.dev/docs/behaviors/caps-word
  // - https://getreuer.info/posts/keyboards/caps-word/index.html
  //
  caps_word {
    continue-list = <
      UNDERSCORE MINUS
      BACKSPACE DELETE
      N1 N2 N3 N4 N5 N6 N7 N8 N9 N0
    >;
  };

};

macros {

  ZMK_MACRO(dot_dot,
    wait-ms = <0>;
    tap-ms = <0>;
    bindings = <&macro_tap &kp DOT &kp DOT>;
  )

  //
  // Linux Magic System Request Key - hold this down and type REISUB
  // - https://www.kernel.org/doc/html/latest/admin-guide/sysrq.html
  // - https://github.com/manna-harbour/miryoku/discussions/259
  // - https://unix.stackexchange.com/a/143955 (use LALT, not RALT)
  //
  ZMK_MACRO(linux_magic_sysrq,
    wait-ms = <0>;
    tap-ms = <0>;
    bindings
      = <&macro_press &mo 0 &kp LALT>
      , <&macro_tap &kp PRINTSCREEN>
      , <&macro_pause_for_release>
      , <&macro_release &mo 0 &kp LALT>
      ;
  )

  //
  // Mod+Tab application switcher - hold this down to keep menu open
  //
  mod_tab: mod_tab_switcher {
    compatible = "zmk,behavior-macro-one-param";
    wait-ms = <0>;
    tap-ms = <0>;
    #binding-cells = <1>;
    bindings
      = <&macro_param_1to1>
      , <&macro_press &kp MACRO_PLACEHOLDER>
      , <&macro_tap &kp TAB>
      , <&macro_pause_for_release>
      , <&macro_param_1to1>
      , <&macro_release &kp MACRO_PLACEHOLDER>
      ;
  };
  mod_tab_chord: mod_tab_switcher_chord {
    compatible = "zmk,behavior-macro-two-param";
    wait-ms = <0>;
    tap-ms = <0>;
    #binding-cells = <2>;
    bindings
      = <&macro_param_2to1>
      , <&macro_press &mo MACRO_PLACEHOLDER>
      , <&macro_param_1to1>
      , <&macro_press &mod_tab MACRO_PLACEHOLDER>
      , <&macro_pause_for_release>
      , <&macro_param_1to1>
      , <&macro_release &mod_tab MACRO_PLACEHOLDER>
      , <&macro_param_2to1>
      , <&macro_release &mo MACRO_PLACEHOLDER>
      ;
  };

  //////////////////////////////////////////////////////////////////////////
  //
  // Approximation of Pascal Getreuer's Select Word macro from QMK
  // - https://getreuer.info/posts/keyboards/select-word/index.html
  //
  //////////////////////////////////////////////////////////////////////////

  //
  // SELECT_WORD_DELAY defines how long the macro waits (milliseconds)
  // after moving the cursor before it selects a word.  A larger delay
  // may allow the macro to move to the next word upon each invocation.
  //
  #ifndef SELECT_WORD_DELAY
  #define SELECT_WORD_DELAY 1
  #endif

  #define select_all kp _C(A)

  ZMK_MACRO(select_none,
    wait-ms = <SELECT_WORD_DELAY>;
    tap-ms = <SELECT_WORD_DELAY>;
    bindings = <&kp DOWN &kp UP &kp RIGHT &kp LEFT>;
  )

  //
  // select a word (jumps to next word upon each successive invocation)
  //
  select_word: select_word {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&select_word_right>, <&select_word_left>;
    mods = <(MOD_LSFT|MOD_RSFT)>;
  };
  ZMK_MACRO(select_word_right,
    wait-ms = <SELECT_WORD_DELAY>;
    tap-ms = <SELECT_WORD_DELAY>;
    bindings = <&kp _WORD(RIGHT) &kp _WORD(LEFT) &kp _WORD(LS(RIGHT))>;
  )
  ZMK_MACRO(select_word_left,
    wait-ms = <SELECT_WORD_DELAY>;
    tap-ms = <SELECT_WORD_DELAY>;
    bindings = <&kp _WORD(LEFT) &kp _WORD(RIGHT) &kp _WORD(LS(LEFT))>;
  )

  //
  // extend current selection by one word
  //
  extend_word: extend_word {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&extend_word_right>, <&extend_word_left>;
    mods = <(MOD_LSFT|MOD_RSFT)>;
  };
  ZMK_MACRO(extend_word_right,
    wait-ms = <SELECT_WORD_DELAY>;
    tap-ms = <SELECT_WORD_DELAY>;
    bindings = <&kp _WORD(LS(RIGHT))>;
  )
  ZMK_MACRO(extend_word_left,
    wait-ms = <SELECT_WORD_DELAY>;
    tap-ms = <SELECT_WORD_DELAY>;
    bindings = <&kp _WORD(LS(LEFT))>;
  )

  //
  // select current line
  //
  select_line: select_line {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&select_line_right>, <&select_line_left>;
    mods = <(MOD_LSFT|MOD_RSFT)>;
  };
  ZMK_MACRO(select_line_right,
    wait-ms = <SELECT_WORD_DELAY>;
    tap-ms = <SELECT_WORD_DELAY>;
    bindings = <&kp _HOME &kp LS(_END)>;
  )
  ZMK_MACRO(select_line_left,
    wait-ms = <SELECT_WORD_DELAY>;
    tap-ms = <SELECT_WORD_DELAY>;
    bindings = <&kp _END &kp LS(_HOME)>;
  )

  //
  // extend current selection by one line
  //
  extend_line: extend_line {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&extend_line_right>, <&extend_line_left>;
    mods = <(MOD_LSFT|MOD_RSFT)>;
  };
  ZMK_MACRO(extend_line_right,
    wait-ms = <SELECT_WORD_DELAY>;
    tap-ms = <SELECT_WORD_DELAY>;
    bindings = <&kp LS(DOWN) &kp LS(_END)>;
  )
  ZMK_MACRO(extend_line_left,
    wait-ms = <SELECT_WORD_DELAY>;
    tap-ms = <SELECT_WORD_DELAY>;
    bindings = <&kp LS(UP) &kp LS(_HOME)>;
  )

  //////////////////////////////////////////////////////////////////////////
  //
  // World layer - international characters
  //
  //////////////////////////////////////////////////////////////////////////

  //
  // WORLD_USE_COMPOSE uses OS-native Compose keycodes instead of Unicode
  // for characters in the "compositions" section of the `world.yaml` file.
  //
  // NOTE: keep this setting disabled when using UnicodeHexInput in macOS
  // to avoid inconsistent behavior when typing World vs Emoji layer keys.
  //
  //#define WORLD_USE_COMPOSE

  //
  // WORLD_HOST_AZERTY indicates that your computer is set to AZERTY locale.
  //
  //#define WORLD_HOST_AZERTY
  #ifdef WORLD_HOST_AZERTY
    #define WORLD_SHIFT_NUMBER
    #define _NA Q
  #endif

  //
  // WORLD_SHIFT_NUMBER indicates that Shift must be applied when typing out
  // digits from the number row, which is needed for locales such as AZERTY.
  //
  //#define WORLD_SHIFT_NUMBER
  #ifdef WORLD_SHIFT_NUMBER
    #define _N0 LS(N0)
    #define _N1 LS(N1)
    #define _N2 LS(N2)
    #define _N3 LS(N3)
    #define _N4 LS(N4)
    #define _N5 LS(N5)
    #define _N6 LS(N6)
    #define _N7 LS(N7)
    #define _N8 LS(N8)
    #define _N9 LS(N9)
  #endif

  //
  // UNICODE_TAP_DELAY defines how long the macro waits (milliseconds)
  // between keystrokes while inputting the Unicode codepoint shortcut.
  //
  #ifndef UNICODE_TAP_DELAY
  #define UNICODE_TAP_DELAY 1
  #endif

  //
  // UNICODE_SEQ_DELAY defines how long the macro waits (milliseconds)
  // between emitting Unicode codepoints in multi-codepoint characters.
  //
  #ifndef UNICODE_SEQ_DELAY
  #define UNICODE_SEQ_DELAY 10
  #endif

  #define UNICODE(name, ...) \
    ZMK_MACRO(name, \
      wait-ms = <UNICODE_TAP_DELAY>; \
      tap-ms = <UNICODE_TAP_DELAY>; \
      bindings = __VA_ARGS__; \
    )

  //
  // UNICODE_SEQ_LINUX() specifies how Unicode hexadecimal codepoint
  // keystrokes are transformed into Unicode characters under Linux.
  //
  #ifndef UNICODE_SEQ_LINUX
  #define UNICODE_SEQ_LINUX(keystrokes) \
    <&macro_tap &kp LC(LS(U)) keystrokes &kp ENTER>
  #endif

  //
  // UNICODE_SEQ_MACOS() specifies how Unicode hexadecimal codepoint
  // keystrokes are transformed into Unicode characters under macOS.
  //
  #ifndef UNICODE_SEQ_MACOS
  #define UNICODE_SEQ_MACOS(keystrokes) \
    <&macro_press &kp LALT> ,\
    <&macro_tap keystrokes> ,\
    <&macro_release &kp LALT>
  #endif

  //
  // UNICODE_SEQ_WINDOWS() specifies how Unicode hexadecimal codepoint
  // keystrokes are transformed into Unicode characters under Windows.
  //
  // If you've configured WinCompose to use a different trigger hotkey,
  // such as F13 instead of the default RA(U) shortcut, simply override
  // this definition to adapt all UNICODE() function calls accordingly.
  //
  #ifndef UNICODE_SEQ_WINDOWS
  #define UNICODE_SEQ_WINDOWS(keystrokes) \
    <&macro_tap &kp RALT &kp U keystrokes &kp ENTER>
  #endif

  //
  // COMPOSE_KEY_LINUX specifies the keycode for Compose key in Linux,
  // which may be RALT by default but can be reconfigured as follows:
  //
  // $ setxkbmap -option compose:sclk # use ScrollLock as Compose key
  //
  // See xkeyboard-config(7) for possible choices for the Compose key:
  // https://manpages.debian.org/stable/xkb-data/xkeyboard-config.7.en.html#Position_of_Compose_key
  //
  // #define COMPOSE_KEY_LINUX RALT            // compose:ralt
  // #define COMPOSE_KEY_LINUX LGUI            // compose:lwin
  // #define COMPOSE_KEY_LINUX RA(LGUI)        // compose:lwin-altgr
  // #define COMPOSE_KEY_LINUX RGUI            // compose:rwin
  // #define COMPOSE_KEY_LINUX RA(RGUI)        // compose:rwin-altgr
  // #define COMPOSE_KEY_LINUX K_MENU          // compose:menu
  // #define COMPOSE_KEY_LINUX RA(K_MENU)      // compose:menu-altgr
  // #define COMPOSE_KEY_LINUX LCTL            // compose:lctrl
  // #define COMPOSE_KEY_LINUX RA(LCTL)        // compose:lctrl-altgr
  // #define COMPOSE_KEY_LINUX RCTL            // compose:rctrl
  // #define COMPOSE_KEY_LINUX RA(RCTL)        // compose:rctrl-altgr
  // #define COMPOSE_KEY_LINUX CAPS            // compose:caps
  // #define COMPOSE_KEY_LINUX RA(CAPS)        // compose:caps-altgr
  // #define COMPOSE_KEY_LINUX NON_US_BSLH     // compose:102
  // #define COMPOSE_KEY_LINUX RA(NON_US_BSLH) // compose:102-altgr
  // #define COMPOSE_KEY_LINUX PAUSE_BREAK     // compose:paus
  // #define COMPOSE_KEY_LINUX PSCRN           // compose:prsc
  // #define COMPOSE_KEY_LINUX SLCK            // compose:sclk
  //
  #ifndef COMPOSE_KEY_LINUX
  #define COMPOSE_KEY_LINUX RALT
  #endif

  //
  // COMPOSE_SEQ_LINUX() prefixes keystrokes with the Linux Compose key.
  //
  #ifndef COMPOSE_SEQ_LINUX
  #define COMPOSE_SEQ_LINUX(keystrokes) \
    <&macro_tap &kp COMPOSE_KEY_LINUX keystrokes>
  #endif

  //
  // COMPOSE_SEQ_MACOS() formats keystrokes for macOS character entry.
  //
  #ifndef COMPOSE_SEQ_MACOS
  #define COMPOSE_SEQ_MACOS(keystrokes) \
    <&macro_tap keystrokes>
  #endif

  //
  // COMPOSE_SEQ_WINDOWS() wraps keystrokes in Windows AltCode sequence.
  //
  #ifndef COMPOSE_SEQ_WINDOWS
  #define COMPOSE_SEQ_WINDOWS(keystrokes) \
    <&macro_press &kp LALT>, \
    <&macro_tap keystrokes>, \
    <&macro_release &kp LALT>
  #endif
  #if OPERATING_SYSTEM == 'L'
    #define UNICODE_MORPH_MODS (MOD_LCTL|MOD_LSFT)
  #elif OPERATING_SYSTEM == 'M'
    #define UNICODE_MORPH_MODS MOD_LALT
  #elif OPERATING_SYSTEM == 'W'
    #define UNICODE_MORPH_MODS MOD_RALT
  #endif
  #if OPERATING_SYSTEM == 'L'
    // $ grep "compose:" /usr/share/X11/xkb/rules/base.lst
    // compose:ralt         Right Alt
    #if COMPOSE_KEY_LINUX == RALT
      #define COMPOSE_MORPH_MODS MOD_RALT
    // compose:lwin         Left Win
    #elif COMPOSE_KEY_LINUX == LGUI
      #define COMPOSE_MORPH_MODS MOD_LGUI
    // compose:lwin-altgr   3rd level of Left Win
    #elif COMPOSE_KEY_LINUX == RA(LGUI)
      #define COMPOSE_MORPH_MODS (MOD_LGUI|MOD_RALT)
    // compose:rwin         Right Win
    #elif COMPOSE_KEY_LINUX == RGUI
      #define COMPOSE_MORPH_MODS MOD_RGUI
    // compose:rwin-altgr   3rd level of Right Win
    #elif COMPOSE_KEY_LINUX == RA(RGUI)
      #define COMPOSE_MORPH_MODS (MOD_RGUI|MOD_RALT)
    // compose:menu         Menu
    // compose:menu-altgr   3rd level of Menu
    #elif COMPOSE_KEY_LINUX == RA(K_MENU)
      #define COMPOSE_MORPH_MODS MOD_RALT
    // compose:lctrl        Left Ctrl
    #elif COMPOSE_KEY_LINUX == LCTL
      #define COMPOSE_MORPH_MODS MOD_LCTL
    // compose:lctrl-altgr  3rd level of Left Ctrl
    #elif COMPOSE_KEY_LINUX == RA(LCTL)
      #define COMPOSE_MORPH_MODS (MOD_LCTL|MOD_RALT)
    // compose:rctrl        Right Ctrl
    #elif COMPOSE_KEY_LINUX == RCTL
      #define COMPOSE_MORPH_MODS MOD_RCTL
    // compose:rctrl-altgr  3rd level of Right Ctrl
    #elif COMPOSE_KEY_LINUX == RA(RCTL)
      #define COMPOSE_MORPH_MODS (MOD_RCTL|MOD_RALT)
    // compose:caps         Caps Lock
    // compose:caps-altgr   3rd level of Caps Lock
    #elif COMPOSE_KEY_LINUX == RA(CAPS)
      #define COMPOSE_MORPH_MODS MOD_RALT
    // compose:102          The "&lt; &gt;" key
    // compose:102-altgr    3rd level of the "&lt; &gt;" key
    #elif COMPOSE_KEY_LINUX == RA(NON_US_BSLH)
      #define COMPOSE_MORPH_MODS MOD_RALT
    // compose:paus         Pause
    // compose:prsc         PrtSc
    // compose:sclk         Scroll Lock
    #else
      #define COMPOSE_MORPH_MODS 0
    #endif
  #elif OPERATING_SYSTEM == 'M'
    #define COMPOSE_MORPH_MODS 0
  #elif OPERATING_SYSTEM == 'W'
    #define COMPOSE_MORPH_MODS MOD_LALT
  #endif
  #ifndef _N0
  #define _N0 N0
  #endif
  #ifndef _N1
  #define _N1 N1
  #endif
  #ifndef _N2
  #define _N2 N2
  #endif
  #ifndef _N3
  #define _N3 N3
  #endif
  #ifndef _N4
  #define _N4 N4
  #endif
  #ifndef _N5
  #define _N5 N5
  #endif
  #ifndef _N6
  #define _N6 N6
  #endif
  #ifndef _N7
  #define _N7 N7
  #endif
  #ifndef _N8
  #define _N8 N8
  #endif
  #ifndef _N9
  #define _N9 N9
  #endif
  #ifndef _NA
  #define _NA A
  #endif
  #ifndef _NB
  #define _NB B
  #endif
  #ifndef _NC
  #define _NC C
  #endif
  #ifndef _ND
  #define _ND D
  #endif
  #ifndef _NE
  #define _NE E
  #endif
  #ifndef _NF
  #define _NF F
  #endif

  //
  // NOTE: edit the world.yaml file and run `rake` to generate this:
  //

  //
  // codepoints
  //
  UNICODE(world_currency_crypto_macro, /* ₿ */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N2 &kp _N0 &kp _NB &kp _NF)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _N2 &kp _N0 &kp _NB &kp _NF)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N2 &kp _N0 &kp _NB &kp _NF)
    #endif
  )
  world_currency_crypto: world_currency_crypto {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_currency_crypto_macro>, <&world_currency_crypto_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_currency_crypto
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(world_currency_cent_macro, /* ¢ */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _NA &kp _N2)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _N0 &kp _N0 &kp _NA &kp _N2)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _NA &kp _N2)
    #endif
  )
  world_currency_cent: world_currency_cent {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_currency_cent_macro>, <&world_currency_cent_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_currency_cent
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(world_currency_sign_macro, /* ¤ */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _NA &kp _N4)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _N0 &kp _N0 &kp _NA &kp _N4)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _NA &kp _N4)
    #endif
  )
  world_currency_sign: world_currency_sign {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_currency_sign_macro>, <&world_currency_sign_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_currency_sign
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };

  //
  // characters
  //
  UNICODE(world_i_acute_lower_macro, /* í */
    #if OPERATING_SYSTEM == 'L'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_i_acute_lower
        COMPOSE_SEQ_LINUX(&kp SQT &kp I)
      #else
        UNICODE_SEQ_LINUX(&kp _NE &kp _ND)
      #endif
    #elif OPERATING_SYSTEM == 'M'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_i_acute_lower
        COMPOSE_SEQ_MACOS(&kp LA(E) &kp I)
      #else
        UNICODE_SEQ_MACOS(&kp _N0 &kp _N0 &kp _NE &kp _ND)
      #endif
    #elif OPERATING_SYSTEM == 'W'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_i_acute_lower
        COMPOSE_SEQ_WINDOWS(&kp KP_N0 &kp KP_N2 &kp KP_N3 &kp KP_N7)
      #else
        UNICODE_SEQ_WINDOWS(&kp _N0 &kp _NE &kp _ND)
      #endif
    #endif
  )
  world_i_acute_lower: world_i_acute_lower {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_i_acute_lower_macro>, <&world_i_acute_lower_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_i_acute_lower
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(world_i_acute_upper_macro, /* Í */
    #if OPERATING_SYSTEM == 'L'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_i_acute_upper
        COMPOSE_SEQ_LINUX(&kp SQT &kp LS(I))
      #else
        UNICODE_SEQ_LINUX(&kp _NC &kp _ND)
      #endif
    #elif OPERATING_SYSTEM == 'M'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_i_acute_upper
        COMPOSE_SEQ_MACOS(&kp LA(E) &kp LS(I))
      #else
        UNICODE_SEQ_MACOS(&kp _N0 &kp _N0 &kp _NC &kp _ND)
      #endif
    #elif OPERATING_SYSTEM == 'W'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_i_acute_upper
        COMPOSE_SEQ_WINDOWS(&kp KP_N0 &kp KP_N2 &kp KP_N0 &kp KP_N5)
      #else
        UNICODE_SEQ_WINDOWS(&kp _N0 &kp _NC &kp _ND)
      #endif
    #endif
  )
  world_i_acute_upper: world_i_acute_upper {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_i_acute_upper_macro>, <&world_i_acute_upper_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_i_acute_upper
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  world_i_acute: world_i_acute {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_i_acute_lower>, <&world_i_acute_upper>;
    mods = <MOD_LSFT>;
  };
  UNICODE(world_i_diaeresis_lower_macro, /* ï */
    #if OPERATING_SYSTEM == 'L'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_i_diaeresis_lower
        COMPOSE_SEQ_LINUX(&kp DQT &kp I)
      #else
        UNICODE_SEQ_LINUX(&kp _NE &kp _NF)
      #endif
    #elif OPERATING_SYSTEM == 'M'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_i_diaeresis_lower
        COMPOSE_SEQ_MACOS(&kp LA(U) &kp I)
      #else
        UNICODE_SEQ_MACOS(&kp _N0 &kp _N0 &kp _NE &kp _NF)
      #endif
    #elif OPERATING_SYSTEM == 'W'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_i_diaeresis_lower
        COMPOSE_SEQ_WINDOWS(&kp KP_N0 &kp KP_N2 &kp KP_N3 &kp KP_N9)
      #else
        UNICODE_SEQ_WINDOWS(&kp _N0 &kp _NE &kp _NF)
      #endif
    #endif
  )
  world_i_diaeresis_lower: world_i_diaeresis_lower {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_i_diaeresis_lower_macro>, <&world_i_diaeresis_lower_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_i_diaeresis_lower
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(world_i_diaeresis_upper_macro, /* Ï */
    #if OPERATING_SYSTEM == 'L'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_i_diaeresis_upper
        COMPOSE_SEQ_LINUX(&kp DQT &kp LS(I))
      #else
        UNICODE_SEQ_LINUX(&kp _NC &kp _NF)
      #endif
    #elif OPERATING_SYSTEM == 'M'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_i_diaeresis_upper
        COMPOSE_SEQ_MACOS(&kp LA(U) &kp LS(I))
      #else
        UNICODE_SEQ_MACOS(&kp _N0 &kp _N0 &kp _NC &kp _NF)
      #endif
    #elif OPERATING_SYSTEM == 'W'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_i_diaeresis_upper
        COMPOSE_SEQ_WINDOWS(&kp KP_N0 &kp KP_N2 &kp KP_N0 &kp KP_N7)
      #else
        UNICODE_SEQ_WINDOWS(&kp _N0 &kp _NC &kp _NF)
      #endif
    #endif
  )
  world_i_diaeresis_upper: world_i_diaeresis_upper {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_i_diaeresis_upper_macro>, <&world_i_diaeresis_upper_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_i_diaeresis_upper
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  world_i_diaeresis: world_i_diaeresis {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_i_diaeresis_lower>, <&world_i_diaeresis_upper>;
    mods = <MOD_LSFT>;
  };
  UNICODE(world_i_circumflex_lower_macro, /* î */
    #if OPERATING_SYSTEM == 'L'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_i_circumflex_lower
        COMPOSE_SEQ_LINUX(&kp CARET &kp I)
      #else
        UNICODE_SEQ_LINUX(&kp _NE &kp _NE)
      #endif
    #elif OPERATING_SYSTEM == 'M'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_i_circumflex_lower
        COMPOSE_SEQ_MACOS(&kp LA(I) &kp I)
      #else
        UNICODE_SEQ_MACOS(&kp _N0 &kp _N0 &kp _NE &kp _NE)
      #endif
    #elif OPERATING_SYSTEM == 'W'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_i_circumflex_lower
        COMPOSE_SEQ_WINDOWS(&kp KP_N0 &kp KP_N2 &kp KP_N3 &kp KP_N8)
      #else
        UNICODE_SEQ_WINDOWS(&kp _N0 &kp _NE &kp _NE)
      #endif
    #endif
  )
  world_i_circumflex_lower: world_i_circumflex_lower {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_i_circumflex_lower_macro>, <&world_i_circumflex_lower_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_i_circumflex_lower
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(world_i_circumflex_upper_macro, /* Î */
    #if OPERATING_SYSTEM == 'L'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_i_circumflex_upper
        COMPOSE_SEQ_LINUX(&kp CARET &kp LS(I))
      #else
        UNICODE_SEQ_LINUX(&kp _NC &kp _NE)
      #endif
    #elif OPERATING_SYSTEM == 'M'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_i_circumflex_upper
        COMPOSE_SEQ_MACOS(&kp LA(I) &kp LS(I))
      #else
        UNICODE_SEQ_MACOS(&kp _N0 &kp _N0 &kp _NC &kp _NE)
      #endif
    #elif OPERATING_SYSTEM == 'W'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_i_circumflex_upper
        COMPOSE_SEQ_WINDOWS(&kp KP_N0 &kp KP_N2 &kp KP_N0 &kp KP_N6)
      #else
        UNICODE_SEQ_WINDOWS(&kp _N0 &kp _NC &kp _NE)
      #endif
    #endif
  )
  world_i_circumflex_upper: world_i_circumflex_upper {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_i_circumflex_upper_macro>, <&world_i_circumflex_upper_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_i_circumflex_upper
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  world_i_circumflex: world_i_circumflex {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_i_circumflex_lower>, <&world_i_circumflex_upper>;
    mods = <MOD_LSFT>;
  };
  UNICODE(world_i_grave_lower_macro, /* ì */
    #if OPERATING_SYSTEM == 'L'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_i_grave_lower
        COMPOSE_SEQ_LINUX(&kp GRAVE &kp I)
      #else
        UNICODE_SEQ_LINUX(&kp _NE &kp _NC)
      #endif
    #elif OPERATING_SYSTEM == 'M'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_i_grave_lower
        COMPOSE_SEQ_MACOS(&kp LA(GRAVE) &kp I)
      #else
        UNICODE_SEQ_MACOS(&kp _N0 &kp _N0 &kp _NE &kp _NC)
      #endif
    #elif OPERATING_SYSTEM == 'W'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_i_grave_lower
        COMPOSE_SEQ_WINDOWS(&kp KP_N0 &kp KP_N2 &kp KP_N3 &kp KP_N6)
      #else
        UNICODE_SEQ_WINDOWS(&kp _N0 &kp _NE &kp _NC)
      #endif
    #endif
  )
  world_i_grave_lower: world_i_grave_lower {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_i_grave_lower_macro>, <&world_i_grave_lower_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_i_grave_lower
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(world_i_grave_upper_macro, /* Ì */
    #if OPERATING_SYSTEM == 'L'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_i_grave_upper
        COMPOSE_SEQ_LINUX(&kp GRAVE &kp LS(I))
      #else
        UNICODE_SEQ_LINUX(&kp _NC &kp _NC)
      #endif
    #elif OPERATING_SYSTEM == 'M'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_i_grave_upper
        COMPOSE_SEQ_MACOS(&kp LA(GRAVE) &kp LS(I))
      #else
        UNICODE_SEQ_MACOS(&kp _N0 &kp _N0 &kp _NC &kp _NC)
      #endif
    #elif OPERATING_SYSTEM == 'W'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_i_grave_upper
        COMPOSE_SEQ_WINDOWS(&kp KP_N0 &kp KP_N2 &kp KP_N0 &kp KP_N6)
      #else
        UNICODE_SEQ_WINDOWS(&kp _N0 &kp _NC &kp _NC)
      #endif
    #endif
  )
  world_i_grave_upper: world_i_grave_upper {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_i_grave_upper_macro>, <&world_i_grave_upper_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_i_grave_upper
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  world_i_grave: world_i_grave {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_i_grave_lower>, <&world_i_grave_upper>;
    mods = <MOD_LSFT>;
  };
  UNICODE(world_e_acute_lower_macro, /* é */
    #if OPERATING_SYSTEM == 'L'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_e_acute_lower
        COMPOSE_SEQ_LINUX(&kp SQT &kp E)
      #else
        UNICODE_SEQ_LINUX(&kp _NE &kp _N9)
      #endif
    #elif OPERATING_SYSTEM == 'M'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_e_acute_lower
        COMPOSE_SEQ_MACOS(&kp LA(E) &kp E)
      #else
        UNICODE_SEQ_MACOS(&kp _N0 &kp _N0 &kp _NE &kp _N9)
      #endif
    #elif OPERATING_SYSTEM == 'W'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_e_acute_lower
        COMPOSE_SEQ_WINDOWS(&kp KP_N0 &kp KP_N2 &kp KP_N3 &kp KP_N3)
      #else
        UNICODE_SEQ_WINDOWS(&kp _N0 &kp _NE &kp _N9)
      #endif
    #endif
  )
  world_e_acute_lower: world_e_acute_lower {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_e_acute_lower_macro>, <&world_e_acute_lower_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_e_acute_lower
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(world_e_acute_upper_macro, /* É */
    #if OPERATING_SYSTEM == 'L'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_e_acute_upper
        COMPOSE_SEQ_LINUX(&kp SQT &kp LS(E))
      #else
        UNICODE_SEQ_LINUX(&kp _NC &kp _N9)
      #endif
    #elif OPERATING_SYSTEM == 'M'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_e_acute_upper
        COMPOSE_SEQ_MACOS(&kp LA(E) &kp LS(E))
      #else
        UNICODE_SEQ_MACOS(&kp _N0 &kp _N0 &kp _NC &kp _N9)
      #endif
    #elif OPERATING_SYSTEM == 'W'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_e_acute_upper
        COMPOSE_SEQ_WINDOWS(&kp KP_N0 &kp KP_N2 &kp KP_N0 &kp KP_N1)
      #else
        UNICODE_SEQ_WINDOWS(&kp _N0 &kp _NC &kp _N9)
      #endif
    #endif
  )
  world_e_acute_upper: world_e_acute_upper {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_e_acute_upper_macro>, <&world_e_acute_upper_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_e_acute_upper
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  world_e_acute: world_e_acute {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_e_acute_lower>, <&world_e_acute_upper>;
    mods = <MOD_LSFT>;
  };
  UNICODE(world_e_diaeresis_lower_macro, /* ë */
    #if OPERATING_SYSTEM == 'L'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_e_diaeresis_lower
        COMPOSE_SEQ_LINUX(&kp DQT &kp E)
      #else
        UNICODE_SEQ_LINUX(&kp _NE &kp _NB)
      #endif
    #elif OPERATING_SYSTEM == 'M'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_e_diaeresis_lower
        COMPOSE_SEQ_MACOS(&kp LA(U) &kp E)
      #else
        UNICODE_SEQ_MACOS(&kp _N0 &kp _N0 &kp _NE &kp _NB)
      #endif
    #elif OPERATING_SYSTEM == 'W'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_e_diaeresis_lower
        COMPOSE_SEQ_WINDOWS(&kp KP_N0 &kp KP_N2 &kp KP_N3 &kp KP_N5)
      #else
        UNICODE_SEQ_WINDOWS(&kp _N0 &kp _NE &kp _NB)
      #endif
    #endif
  )
  world_e_diaeresis_lower: world_e_diaeresis_lower {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_e_diaeresis_lower_macro>, <&world_e_diaeresis_lower_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_e_diaeresis_lower
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(world_e_diaeresis_upper_macro, /* Ë */
    #if OPERATING_SYSTEM == 'L'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_e_diaeresis_upper
        COMPOSE_SEQ_LINUX(&kp DQT &kp LS(E))
      #else
        UNICODE_SEQ_LINUX(&kp _NC &kp _NB)
      #endif
    #elif OPERATING_SYSTEM == 'M'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_e_diaeresis_upper
        COMPOSE_SEQ_MACOS(&kp LA(U) &kp LS(E))
      #else
        UNICODE_SEQ_MACOS(&kp _N0 &kp _N0 &kp _NC &kp _NB)
      #endif
    #elif OPERATING_SYSTEM == 'W'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_e_diaeresis_upper
        COMPOSE_SEQ_WINDOWS(&kp KP_N0 &kp KP_N2 &kp KP_N0 &kp KP_N3)
      #else
        UNICODE_SEQ_WINDOWS(&kp _N0 &kp _NC &kp _NB)
      #endif
    #endif
  )
  world_e_diaeresis_upper: world_e_diaeresis_upper {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_e_diaeresis_upper_macro>, <&world_e_diaeresis_upper_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_e_diaeresis_upper
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  world_e_diaeresis: world_e_diaeresis {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_e_diaeresis_lower>, <&world_e_diaeresis_upper>;
    mods = <MOD_LSFT>;
  };
  UNICODE(world_e_circumflex_lower_macro, /* ê */
    #if OPERATING_SYSTEM == 'L'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_e_circumflex_lower
        COMPOSE_SEQ_LINUX(&kp CARET &kp E)
      #else
        UNICODE_SEQ_LINUX(&kp _NE &kp _NA)
      #endif
    #elif OPERATING_SYSTEM == 'M'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_e_circumflex_lower
        COMPOSE_SEQ_MACOS(&kp LA(I) &kp E)
      #else
        UNICODE_SEQ_MACOS(&kp _N0 &kp _N0 &kp _NE &kp _NA)
      #endif
    #elif OPERATING_SYSTEM == 'W'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_e_circumflex_lower
        COMPOSE_SEQ_WINDOWS(&kp KP_N0 &kp KP_N2 &kp KP_N3 &kp KP_N4)
      #else
        UNICODE_SEQ_WINDOWS(&kp _N0 &kp _NE &kp _NA)
      #endif
    #endif
  )
  world_e_circumflex_lower: world_e_circumflex_lower {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_e_circumflex_lower_macro>, <&world_e_circumflex_lower_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_e_circumflex_lower
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(world_e_circumflex_upper_macro, /* Ê */
    #if OPERATING_SYSTEM == 'L'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_e_circumflex_upper
        COMPOSE_SEQ_LINUX(&kp CARET &kp LS(E))
      #else
        UNICODE_SEQ_LINUX(&kp _NC &kp _NA)
      #endif
    #elif OPERATING_SYSTEM == 'M'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_e_circumflex_upper
        COMPOSE_SEQ_MACOS(&kp LA(I) &kp LS(E))
      #else
        UNICODE_SEQ_MACOS(&kp _N0 &kp _N0 &kp _NC &kp _NA)
      #endif
    #elif OPERATING_SYSTEM == 'W'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_e_circumflex_upper
        COMPOSE_SEQ_WINDOWS(&kp KP_N0 &kp KP_N2 &kp KP_N0 &kp KP_N2)
      #else
        UNICODE_SEQ_WINDOWS(&kp _N0 &kp _NC &kp _NA)
      #endif
    #endif
  )
  world_e_circumflex_upper: world_e_circumflex_upper {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_e_circumflex_upper_macro>, <&world_e_circumflex_upper_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_e_circumflex_upper
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  world_e_circumflex: world_e_circumflex {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_e_circumflex_lower>, <&world_e_circumflex_upper>;
    mods = <MOD_LSFT>;
  };
  UNICODE(world_e_grave_lower_macro, /* è */
    #if OPERATING_SYSTEM == 'L'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_e_grave_lower
        COMPOSE_SEQ_LINUX(&kp GRAVE &kp E)
      #else
        UNICODE_SEQ_LINUX(&kp _NE &kp _N8)
      #endif
    #elif OPERATING_SYSTEM == 'M'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_e_grave_lower
        COMPOSE_SEQ_MACOS(&kp LA(GRAVE) &kp E)
      #else
        UNICODE_SEQ_MACOS(&kp _N0 &kp _N0 &kp _NE &kp _N8)
      #endif
    #elif OPERATING_SYSTEM == 'W'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_e_grave_lower
        COMPOSE_SEQ_WINDOWS(&kp KP_N0 &kp KP_N2 &kp KP_N3 &kp KP_N2)
      #else
        UNICODE_SEQ_WINDOWS(&kp _N0 &kp _NE &kp _N8)
      #endif
    #endif
  )
  world_e_grave_lower: world_e_grave_lower {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_e_grave_lower_macro>, <&world_e_grave_lower_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_e_grave_lower
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(world_e_grave_upper_macro, /* È */
    #if OPERATING_SYSTEM == 'L'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_e_grave_upper
        COMPOSE_SEQ_LINUX(&kp GRAVE &kp LS(E))
      #else
        UNICODE_SEQ_LINUX(&kp _NC &kp _N8)
      #endif
    #elif OPERATING_SYSTEM == 'M'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_e_grave_upper
        COMPOSE_SEQ_MACOS(&kp LA(GRAVE) &kp LS(E))
      #else
        UNICODE_SEQ_MACOS(&kp _N0 &kp _N0 &kp _NC &kp _N8)
      #endif
    #elif OPERATING_SYSTEM == 'W'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_e_grave_upper
        COMPOSE_SEQ_WINDOWS(&kp KP_N0 &kp KP_N2 &kp KP_N0 &kp KP_N0)
      #else
        UNICODE_SEQ_WINDOWS(&kp _N0 &kp _NC &kp _N8)
      #endif
    #endif
  )
  world_e_grave_upper: world_e_grave_upper {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_e_grave_upper_macro>, <&world_e_grave_upper_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_e_grave_upper
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  world_e_grave: world_e_grave {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_e_grave_lower>, <&world_e_grave_upper>;
    mods = <MOD_LSFT>;
  };
  UNICODE(world_e_oe_lower_macro, /* œ */
    #if OPERATING_SYSTEM == 'L'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_e_oe_lower
        COMPOSE_SEQ_LINUX(&kp O &kp E)
      #else
        UNICODE_SEQ_LINUX(&kp _N1 &kp _N5 &kp _N3)
      #endif
    #elif OPERATING_SYSTEM == 'M'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_e_oe_lower
        COMPOSE_SEQ_MACOS(&kp LA(Q))
      #else
        UNICODE_SEQ_MACOS(&kp _N0 &kp _N1 &kp _N5 &kp _N3)
      #endif
    #elif OPERATING_SYSTEM == 'W'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_e_oe_lower
        COMPOSE_SEQ_WINDOWS(&kp KP_N0 &kp KP_N1 &kp KP_N5 &kp KP_N6)
      #else
        UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N1 &kp _N5 &kp _N3)
      #endif
    #endif
  )
  world_e_oe_lower: world_e_oe_lower {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_e_oe_lower_macro>, <&world_e_oe_lower_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_e_oe_lower
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(world_e_oe_upper_macro, /* Œ */
    #if OPERATING_SYSTEM == 'L'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_e_oe_upper
        COMPOSE_SEQ_LINUX(&kp LS(O) &kp LS(E))
      #else
        UNICODE_SEQ_LINUX(&kp _N1 &kp _N5 &kp _N2)
      #endif
    #elif OPERATING_SYSTEM == 'M'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_e_oe_upper
        COMPOSE_SEQ_MACOS(&kp LA(LS(Q)))
      #else
        UNICODE_SEQ_MACOS(&kp _N0 &kp _N1 &kp _N5 &kp _N2)
      #endif
    #elif OPERATING_SYSTEM == 'W'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_e_oe_upper
        COMPOSE_SEQ_WINDOWS(&kp KP_N0 &kp KP_N1 &kp KP_N4 &kp KP_N0)
      #else
        UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N1 &kp _N5 &kp _N2)
      #endif
    #endif
  )
  world_e_oe_upper: world_e_oe_upper {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_e_oe_upper_macro>, <&world_e_oe_upper_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_e_oe_upper
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  world_e_oe: world_e_oe {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_e_oe_lower>, <&world_e_oe_upper>;
    mods = <MOD_LSFT>;
  };
  UNICODE(world_e_ae_lower_macro, /* æ */
    #if OPERATING_SYSTEM == 'L'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_e_ae_lower
        COMPOSE_SEQ_LINUX(&kp A &kp E)
      #else
        UNICODE_SEQ_LINUX(&kp _NE &kp _N6)
      #endif
    #elif OPERATING_SYSTEM == 'M'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_e_ae_lower
        COMPOSE_SEQ_MACOS(&kp LA(SQT))
      #else
        UNICODE_SEQ_MACOS(&kp _N0 &kp _N0 &kp _NE &kp _N6)
      #endif
    #elif OPERATING_SYSTEM == 'W'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_e_ae_lower
        COMPOSE_SEQ_WINDOWS(&kp KP_N0 &kp KP_N2 &kp KP_N3 &kp KP_N0)
      #else
        UNICODE_SEQ_WINDOWS(&kp _N0 &kp _NE &kp _N6)
      #endif
    #endif
  )
  world_e_ae_lower: world_e_ae_lower {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_e_ae_lower_macro>, <&world_e_ae_lower_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_e_ae_lower
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(world_e_ae_upper_macro, /* Æ */
    #if OPERATING_SYSTEM == 'L'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_e_ae_upper
        COMPOSE_SEQ_LINUX(&kp LS(A) &kp LS(E))
      #else
        UNICODE_SEQ_LINUX(&kp _NC &kp _N6)
      #endif
    #elif OPERATING_SYSTEM == 'M'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_e_ae_upper
        COMPOSE_SEQ_MACOS(&kp LA(LS(SQT)))
      #else
        UNICODE_SEQ_MACOS(&kp _N0 &kp _N0 &kp _NC &kp _N6)
      #endif
    #elif OPERATING_SYSTEM == 'W'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_e_ae_upper
        COMPOSE_SEQ_WINDOWS(&kp KP_N0 &kp KP_N1 &kp KP_N9 &kp KP_N8)
      #else
        UNICODE_SEQ_WINDOWS(&kp _N0 &kp _NC &kp _N6)
      #endif
    #endif
  )
  world_e_ae_upper: world_e_ae_upper {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_e_ae_upper_macro>, <&world_e_ae_upper_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_e_ae_upper
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  world_e_ae: world_e_ae {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_e_ae_lower>, <&world_e_ae_upper>;
    mods = <MOD_LSFT>;
  };
  UNICODE(world_a_acute_lower_macro, /* á */
    #if OPERATING_SYSTEM == 'L'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_a_acute_lower
        COMPOSE_SEQ_LINUX(&kp SQT &kp A)
      #else
        UNICODE_SEQ_LINUX(&kp _NE &kp _N1)
      #endif
    #elif OPERATING_SYSTEM == 'M'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_a_acute_lower
        COMPOSE_SEQ_MACOS(&kp LA(E) &kp A)
      #else
        UNICODE_SEQ_MACOS(&kp _N0 &kp _N0 &kp _NE &kp _N1)
      #endif
    #elif OPERATING_SYSTEM == 'W'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_a_acute_lower
        COMPOSE_SEQ_WINDOWS(&kp KP_N0 &kp KP_N2 &kp KP_N2 &kp KP_N5)
      #else
        UNICODE_SEQ_WINDOWS(&kp _N0 &kp _NE &kp _N1)
      #endif
    #endif
  )
  world_a_acute_lower: world_a_acute_lower {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_a_acute_lower_macro>, <&world_a_acute_lower_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_a_acute_lower
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(world_a_acute_upper_macro, /* Á */
    #if OPERATING_SYSTEM == 'L'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_a_acute_upper
        COMPOSE_SEQ_LINUX(&kp SQT &kp LS(A))
      #else
        UNICODE_SEQ_LINUX(&kp _NC &kp _N1)
      #endif
    #elif OPERATING_SYSTEM == 'M'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_a_acute_upper
        COMPOSE_SEQ_MACOS(&kp LA(E) &kp LS(A))
      #else
        UNICODE_SEQ_MACOS(&kp _N0 &kp _N0 &kp _NC &kp _N1)
      #endif
    #elif OPERATING_SYSTEM == 'W'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_a_acute_upper
        COMPOSE_SEQ_WINDOWS(&kp KP_N0 &kp KP_N1 &kp KP_N9 &kp KP_N3)
      #else
        UNICODE_SEQ_WINDOWS(&kp _N0 &kp _NC &kp _N1)
      #endif
    #endif
  )
  world_a_acute_upper: world_a_acute_upper {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_a_acute_upper_macro>, <&world_a_acute_upper_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_a_acute_upper
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  world_a_acute: world_a_acute {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_a_acute_lower>, <&world_a_acute_upper>;
    mods = <MOD_LSFT>;
  };
  UNICODE(world_a_diaeresis_lower_macro, /* ä */
    #if OPERATING_SYSTEM == 'L'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_a_diaeresis_lower
        COMPOSE_SEQ_LINUX(&kp DQT &kp A)
      #else
        UNICODE_SEQ_LINUX(&kp _NE &kp _N4)
      #endif
    #elif OPERATING_SYSTEM == 'M'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_a_diaeresis_lower
        COMPOSE_SEQ_MACOS(&kp LA(U) &kp A)
      #else
        UNICODE_SEQ_MACOS(&kp _N0 &kp _N0 &kp _NE &kp _N4)
      #endif
    #elif OPERATING_SYSTEM == 'W'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_a_diaeresis_lower
        COMPOSE_SEQ_WINDOWS(&kp KP_N0 &kp KP_N2 &kp KP_N2 &kp KP_N8)
      #else
        UNICODE_SEQ_WINDOWS(&kp _N0 &kp _NE &kp _N4)
      #endif
    #endif
  )
  world_a_diaeresis_lower: world_a_diaeresis_lower {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_a_diaeresis_lower_macro>, <&world_a_diaeresis_lower_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_a_diaeresis_lower
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(world_a_diaeresis_upper_macro, /* Ä */
    #if OPERATING_SYSTEM == 'L'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_a_diaeresis_upper
        COMPOSE_SEQ_LINUX(&kp DQT &kp LS(A))
      #else
        UNICODE_SEQ_LINUX(&kp _NC &kp _N4)
      #endif
    #elif OPERATING_SYSTEM == 'M'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_a_diaeresis_upper
        COMPOSE_SEQ_MACOS(&kp LA(U) &kp LS(A))
      #else
        UNICODE_SEQ_MACOS(&kp _N0 &kp _N0 &kp _NC &kp _N4)
      #endif
    #elif OPERATING_SYSTEM == 'W'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_a_diaeresis_upper
        COMPOSE_SEQ_WINDOWS(&kp KP_N0 &kp KP_N1 &kp KP_N9 &kp KP_N6)
      #else
        UNICODE_SEQ_WINDOWS(&kp _N0 &kp _NC &kp _N4)
      #endif
    #endif
  )
  world_a_diaeresis_upper: world_a_diaeresis_upper {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_a_diaeresis_upper_macro>, <&world_a_diaeresis_upper_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_a_diaeresis_upper
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  world_a_diaeresis: world_a_diaeresis {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_a_diaeresis_lower>, <&world_a_diaeresis_upper>;
    mods = <MOD_LSFT>;
  };
  UNICODE(world_a_circumflex_lower_macro, /* â */
    #if OPERATING_SYSTEM == 'L'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_a_circumflex_lower
        COMPOSE_SEQ_LINUX(&kp CARET &kp A)
      #else
        UNICODE_SEQ_LINUX(&kp _NE &kp _N2)
      #endif
    #elif OPERATING_SYSTEM == 'M'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_a_circumflex_lower
        COMPOSE_SEQ_MACOS(&kp LA(I) &kp A)
      #else
        UNICODE_SEQ_MACOS(&kp _N0 &kp _N0 &kp _NE &kp _N2)
      #endif
    #elif OPERATING_SYSTEM == 'W'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_a_circumflex_lower
        COMPOSE_SEQ_WINDOWS(&kp KP_N0 &kp KP_N2 &kp KP_N2 &kp KP_N6)
      #else
        UNICODE_SEQ_WINDOWS(&kp _N0 &kp _NE &kp _N2)
      #endif
    #endif
  )
  world_a_circumflex_lower: world_a_circumflex_lower {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_a_circumflex_lower_macro>, <&world_a_circumflex_lower_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_a_circumflex_lower
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(world_a_circumflex_upper_macro, /* Â */
    #if OPERATING_SYSTEM == 'L'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_a_circumflex_upper
        COMPOSE_SEQ_LINUX(&kp CARET &kp LS(A))
      #else
        UNICODE_SEQ_LINUX(&kp _NC &kp _N2)
      #endif
    #elif OPERATING_SYSTEM == 'M'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_a_circumflex_upper
        COMPOSE_SEQ_MACOS(&kp LA(I) &kp LS(A))
      #else
        UNICODE_SEQ_MACOS(&kp _N0 &kp _N0 &kp _NC &kp _N2)
      #endif
    #elif OPERATING_SYSTEM == 'W'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_a_circumflex_upper
        COMPOSE_SEQ_WINDOWS(&kp KP_N0 &kp KP_N1 &kp KP_N9 &kp KP_N4)
      #else
        UNICODE_SEQ_WINDOWS(&kp _N0 &kp _NC &kp _N2)
      #endif
    #endif
  )
  world_a_circumflex_upper: world_a_circumflex_upper {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_a_circumflex_upper_macro>, <&world_a_circumflex_upper_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_a_circumflex_upper
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  world_a_circumflex: world_a_circumflex {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_a_circumflex_lower>, <&world_a_circumflex_upper>;
    mods = <MOD_LSFT>;
  };
  UNICODE(world_a_grave_lower_macro, /* à */
    #if OPERATING_SYSTEM == 'L'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_a_grave_lower
        COMPOSE_SEQ_LINUX(&kp GRAVE &kp A)
      #else
        UNICODE_SEQ_LINUX(&kp _NE &kp _N0)
      #endif
    #elif OPERATING_SYSTEM == 'M'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_a_grave_lower
        COMPOSE_SEQ_MACOS(&kp LA(GRAVE) &kp A)
      #else
        UNICODE_SEQ_MACOS(&kp _N0 &kp _N0 &kp _NE &kp _N0)
      #endif
    #elif OPERATING_SYSTEM == 'W'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_a_grave_lower
        COMPOSE_SEQ_WINDOWS(&kp KP_N0 &kp KP_N2 &kp KP_N2 &kp KP_N4)
      #else
        UNICODE_SEQ_WINDOWS(&kp _N0 &kp _NE &kp _N0)
      #endif
    #endif
  )
  world_a_grave_lower: world_a_grave_lower {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_a_grave_lower_macro>, <&world_a_grave_lower_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_a_grave_lower
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(world_a_grave_upper_macro, /* À */
    #if OPERATING_SYSTEM == 'L'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_a_grave_upper
        COMPOSE_SEQ_LINUX(&kp GRAVE &kp LS(A))
      #else
        UNICODE_SEQ_LINUX(&kp _NC &kp _N0)
      #endif
    #elif OPERATING_SYSTEM == 'M'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_a_grave_upper
        COMPOSE_SEQ_MACOS(&kp LA(GRAVE) &kp LS(A))
      #else
        UNICODE_SEQ_MACOS(&kp _N0 &kp _N0 &kp _NC &kp _N0)
      #endif
    #elif OPERATING_SYSTEM == 'W'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_a_grave_upper
        COMPOSE_SEQ_WINDOWS(&kp KP_N0 &kp KP_N1 &kp KP_N9 &kp KP_N2)
      #else
        UNICODE_SEQ_WINDOWS(&kp _N0 &kp _NC &kp _N0)
      #endif
    #endif
  )
  world_a_grave_upper: world_a_grave_upper {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_a_grave_upper_macro>, <&world_a_grave_upper_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_a_grave_upper
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  world_a_grave: world_a_grave {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_a_grave_lower>, <&world_a_grave_upper>;
    mods = <MOD_LSFT>;
  };
  UNICODE(world_a_tilde_lower_macro, /* ã */
    #if OPERATING_SYSTEM == 'L'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_a_tilde_lower
        COMPOSE_SEQ_LINUX(&kp TILDE &kp A)
      #else
        UNICODE_SEQ_LINUX(&kp _NE &kp _N3)
      #endif
    #elif OPERATING_SYSTEM == 'M'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_a_tilde_lower
        COMPOSE_SEQ_MACOS(&kp LA(N) &kp A)
      #else
        UNICODE_SEQ_MACOS(&kp _N0 &kp _N0 &kp _NE &kp _N3)
      #endif
    #elif OPERATING_SYSTEM == 'W'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_a_tilde_lower
        COMPOSE_SEQ_WINDOWS(&kp KP_N0 &kp KP_N2 &kp KP_N2 &kp KP_N7)
      #else
        UNICODE_SEQ_WINDOWS(&kp _N0 &kp _NE &kp _N3)
      #endif
    #endif
  )
  world_a_tilde_lower: world_a_tilde_lower {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_a_tilde_lower_macro>, <&world_a_tilde_lower_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_a_tilde_lower
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(world_a_tilde_upper_macro, /* Ã */
    #if OPERATING_SYSTEM == 'L'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_a_tilde_upper
        COMPOSE_SEQ_LINUX(&kp TILDE &kp LS(A))
      #else
        UNICODE_SEQ_LINUX(&kp _NC &kp _N3)
      #endif
    #elif OPERATING_SYSTEM == 'M'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_a_tilde_upper
        COMPOSE_SEQ_MACOS(&kp LA(N) &kp LS(A))
      #else
        UNICODE_SEQ_MACOS(&kp _N0 &kp _N0 &kp _NC &kp _N3)
      #endif
    #elif OPERATING_SYSTEM == 'W'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_a_tilde_upper
        COMPOSE_SEQ_WINDOWS(&kp KP_N0 &kp KP_N1 &kp KP_N9 &kp KP_N5)
      #else
        UNICODE_SEQ_WINDOWS(&kp _N0 &kp _NC &kp _N3)
      #endif
    #endif
  )
  world_a_tilde_upper: world_a_tilde_upper {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_a_tilde_upper_macro>, <&world_a_tilde_upper_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_a_tilde_upper
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  world_a_tilde: world_a_tilde {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_a_tilde_lower>, <&world_a_tilde_upper>;
    mods = <MOD_LSFT>;
  };
  UNICODE(world_a_ring_lower_macro, /* å */
    #if OPERATING_SYSTEM == 'L'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_a_ring_lower
        COMPOSE_SEQ_LINUX(&kp O &kp A)
      #else
        UNICODE_SEQ_LINUX(&kp _NE &kp _N5)
      #endif
    #elif OPERATING_SYSTEM == 'M'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_a_ring_lower
        COMPOSE_SEQ_MACOS(&kp LA(A))
      #else
        UNICODE_SEQ_MACOS(&kp _N0 &kp _N0 &kp _NE &kp _N5)
      #endif
    #elif OPERATING_SYSTEM == 'W'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_a_ring_lower
        COMPOSE_SEQ_WINDOWS(&kp KP_N0 &kp KP_N2 &kp KP_N2 &kp KP_N9)
      #else
        UNICODE_SEQ_WINDOWS(&kp _N0 &kp _NE &kp _N5)
      #endif
    #endif
  )
  world_a_ring_lower: world_a_ring_lower {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_a_ring_lower_macro>, <&world_a_ring_lower_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_a_ring_lower
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(world_a_ring_upper_macro, /* Å */
    #if OPERATING_SYSTEM == 'L'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_a_ring_upper
        COMPOSE_SEQ_LINUX(&kp O &kp LS(A))
      #else
        UNICODE_SEQ_LINUX(&kp _NC &kp _N5)
      #endif
    #elif OPERATING_SYSTEM == 'M'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_a_ring_upper
        COMPOSE_SEQ_MACOS(&kp LA(LS(A)))
      #else
        UNICODE_SEQ_MACOS(&kp _N0 &kp _N0 &kp _NC &kp _N5)
      #endif
    #elif OPERATING_SYSTEM == 'W'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_a_ring_upper
        COMPOSE_SEQ_WINDOWS(&kp KP_N0 &kp KP_N1 &kp KP_N9 &kp KP_N7)
      #else
        UNICODE_SEQ_WINDOWS(&kp _N0 &kp _NC &kp _N5)
      #endif
    #endif
  )
  world_a_ring_upper: world_a_ring_upper {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_a_ring_upper_macro>, <&world_a_ring_upper_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_a_ring_upper
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  world_a_ring: world_a_ring {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_a_ring_lower>, <&world_a_ring_upper>;
    mods = <MOD_LSFT>;
  };
  UNICODE(world_y_acute_lower_macro, /* ý */
    #if OPERATING_SYSTEM == 'L'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_y_acute_lower
        COMPOSE_SEQ_LINUX(&kp SQT &kp Y)
      #else
        UNICODE_SEQ_LINUX(&kp _NF &kp _ND)
      #endif
    #elif OPERATING_SYSTEM == 'M'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_y_acute_lower
        COMPOSE_SEQ_MACOS(&kp LA(E) &kp Y)
      #else
        UNICODE_SEQ_MACOS(&kp _N0 &kp _N0 &kp _NF &kp _ND)
      #endif
    #elif OPERATING_SYSTEM == 'W'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_y_acute_lower
        COMPOSE_SEQ_WINDOWS(&kp KP_N0 &kp KP_N2 &kp KP_N5 &kp KP_N3)
      #else
        UNICODE_SEQ_WINDOWS(&kp _N0 &kp _NF &kp _ND)
      #endif
    #endif
  )
  world_y_acute_lower: world_y_acute_lower {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_y_acute_lower_macro>, <&world_y_acute_lower_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_y_acute_lower
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(world_y_acute_upper_macro, /* Ý */
    #if OPERATING_SYSTEM == 'L'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_y_acute_upper
        COMPOSE_SEQ_LINUX(&kp SQT &kp LS(Y))
      #else
        UNICODE_SEQ_LINUX(&kp _ND &kp _ND)
      #endif
    #elif OPERATING_SYSTEM == 'M'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_y_acute_upper
        COMPOSE_SEQ_MACOS(&kp LA(E) &kp LS(Y))
      #else
        UNICODE_SEQ_MACOS(&kp _N0 &kp _N0 &kp _ND &kp _ND)
      #endif
    #elif OPERATING_SYSTEM == 'W'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_y_acute_upper
        COMPOSE_SEQ_WINDOWS(&kp KP_N0 &kp KP_N2 &kp KP_N2 &kp KP_N1)
      #else
        UNICODE_SEQ_WINDOWS(&kp _N0 &kp _ND &kp _ND)
      #endif
    #endif
  )
  world_y_acute_upper: world_y_acute_upper {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_y_acute_upper_macro>, <&world_y_acute_upper_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_y_acute_upper
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  world_y_acute: world_y_acute {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_y_acute_lower>, <&world_y_acute_upper>;
    mods = <MOD_LSFT>;
  };
  UNICODE(world_y_diaeresis_lower_macro, /* ÿ */
    #if OPERATING_SYSTEM == 'L'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_y_diaeresis_lower
        COMPOSE_SEQ_LINUX(&kp DQT &kp Y)
      #else
        UNICODE_SEQ_LINUX(&kp _NF &kp _NF)
      #endif
    #elif OPERATING_SYSTEM == 'M'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_y_diaeresis_lower
        COMPOSE_SEQ_MACOS(&kp LA(U) &kp Y)
      #else
        UNICODE_SEQ_MACOS(&kp _N0 &kp _N0 &kp _NF &kp _NF)
      #endif
    #elif OPERATING_SYSTEM == 'W'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_y_diaeresis_lower
        COMPOSE_SEQ_WINDOWS(&kp KP_N0 &kp KP_N2 &kp KP_N5 &kp KP_N5)
      #else
        UNICODE_SEQ_WINDOWS(&kp _N0 &kp _NF &kp _NF)
      #endif
    #endif
  )
  world_y_diaeresis_lower: world_y_diaeresis_lower {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_y_diaeresis_lower_macro>, <&world_y_diaeresis_lower_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_y_diaeresis_lower
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(world_y_diaeresis_upper_macro, /* Ÿ */
    #if OPERATING_SYSTEM == 'L'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_y_diaeresis_upper
        COMPOSE_SEQ_LINUX(&kp DQT &kp LS(Y))
      #else
        UNICODE_SEQ_LINUX(&kp _N1 &kp _N7 &kp _N8)
      #endif
    #elif OPERATING_SYSTEM == 'M'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_y_diaeresis_upper
        COMPOSE_SEQ_MACOS(&kp LA(U) &kp LS(Y))
      #else
        UNICODE_SEQ_MACOS(&kp _N0 &kp _N1 &kp _N7 &kp _N8)
      #endif
    #elif OPERATING_SYSTEM == 'W'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_y_diaeresis_upper
        COMPOSE_SEQ_WINDOWS(&kp KP_N0 &kp KP_N1 &kp KP_N5 &kp KP_N9)
      #else
        UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N1 &kp _N7 &kp _N8)
      #endif
    #endif
  )
  world_y_diaeresis_upper: world_y_diaeresis_upper {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_y_diaeresis_upper_macro>, <&world_y_diaeresis_upper_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_y_diaeresis_upper
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  world_y_diaeresis: world_y_diaeresis {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_y_diaeresis_lower>, <&world_y_diaeresis_upper>;
    mods = <MOD_LSFT>;
  };
  UNICODE(world_o_acute_lower_macro, /* ó */
    #if OPERATING_SYSTEM == 'L'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_o_acute_lower
        COMPOSE_SEQ_LINUX(&kp SQT &kp O)
      #else
        UNICODE_SEQ_LINUX(&kp _NF &kp _N3)
      #endif
    #elif OPERATING_SYSTEM == 'M'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_o_acute_lower
        COMPOSE_SEQ_MACOS(&kp LA(E) &kp O)
      #else
        UNICODE_SEQ_MACOS(&kp _N0 &kp _N0 &kp _NF &kp _N3)
      #endif
    #elif OPERATING_SYSTEM == 'W'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_o_acute_lower
        COMPOSE_SEQ_WINDOWS(&kp KP_N0 &kp KP_N2 &kp KP_N4 &kp KP_N3)
      #else
        UNICODE_SEQ_WINDOWS(&kp _N0 &kp _NF &kp _N3)
      #endif
    #endif
  )
  world_o_acute_lower: world_o_acute_lower {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_o_acute_lower_macro>, <&world_o_acute_lower_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_o_acute_lower
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(world_o_acute_upper_macro, /* Ó */
    #if OPERATING_SYSTEM == 'L'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_o_acute_upper
        COMPOSE_SEQ_LINUX(&kp SQT &kp LS(O))
      #else
        UNICODE_SEQ_LINUX(&kp _ND &kp _N3)
      #endif
    #elif OPERATING_SYSTEM == 'M'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_o_acute_upper
        COMPOSE_SEQ_MACOS(&kp LA(E) &kp LS(O))
      #else
        UNICODE_SEQ_MACOS(&kp _N0 &kp _N0 &kp _ND &kp _N3)
      #endif
    #elif OPERATING_SYSTEM == 'W'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_o_acute_upper
        COMPOSE_SEQ_WINDOWS(&kp KP_N0 &kp KP_N2 &kp KP_N1 &kp KP_N1)
      #else
        UNICODE_SEQ_WINDOWS(&kp _N0 &kp _ND &kp _N3)
      #endif
    #endif
  )
  world_o_acute_upper: world_o_acute_upper {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_o_acute_upper_macro>, <&world_o_acute_upper_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_o_acute_upper
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  world_o_acute: world_o_acute {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_o_acute_lower>, <&world_o_acute_upper>;
    mods = <MOD_LSFT>;
  };
  UNICODE(world_o_diaeresis_lower_macro, /* ö */
    #if OPERATING_SYSTEM == 'L'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_o_diaeresis_lower
        COMPOSE_SEQ_LINUX(&kp DQT &kp O)
      #else
        UNICODE_SEQ_LINUX(&kp _NF &kp _N6)
      #endif
    #elif OPERATING_SYSTEM == 'M'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_o_diaeresis_lower
        COMPOSE_SEQ_MACOS(&kp LA(U) &kp O)
      #else
        UNICODE_SEQ_MACOS(&kp _N0 &kp _N0 &kp _NF &kp _N6)
      #endif
    #elif OPERATING_SYSTEM == 'W'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_o_diaeresis_lower
        COMPOSE_SEQ_WINDOWS(&kp KP_N0 &kp KP_N2 &kp KP_N4 &kp KP_N6)
      #else
        UNICODE_SEQ_WINDOWS(&kp _N0 &kp _NF &kp _N6)
      #endif
    #endif
  )
  world_o_diaeresis_lower: world_o_diaeresis_lower {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_o_diaeresis_lower_macro>, <&world_o_diaeresis_lower_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_o_diaeresis_lower
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(world_o_diaeresis_upper_macro, /* Ö */
    #if OPERATING_SYSTEM == 'L'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_o_diaeresis_upper
        COMPOSE_SEQ_LINUX(&kp DQT &kp LS(O))
      #else
        UNICODE_SEQ_LINUX(&kp _ND &kp _N6)
      #endif
    #elif OPERATING_SYSTEM == 'M'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_o_diaeresis_upper
        COMPOSE_SEQ_MACOS(&kp LA(U) &kp LS(O))
      #else
        UNICODE_SEQ_MACOS(&kp _N0 &kp _N0 &kp _ND &kp _N6)
      #endif
    #elif OPERATING_SYSTEM == 'W'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_o_diaeresis_upper
        COMPOSE_SEQ_WINDOWS(&kp KP_N0 &kp KP_N2 &kp KP_N1 &kp KP_N4)
      #else
        UNICODE_SEQ_WINDOWS(&kp _N0 &kp _ND &kp _N6)
      #endif
    #endif
  )
  world_o_diaeresis_upper: world_o_diaeresis_upper {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_o_diaeresis_upper_macro>, <&world_o_diaeresis_upper_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_o_diaeresis_upper
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  world_o_diaeresis: world_o_diaeresis {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_o_diaeresis_lower>, <&world_o_diaeresis_upper>;
    mods = <MOD_LSFT>;
  };
  UNICODE(world_o_circumflex_lower_macro, /* ô */
    #if OPERATING_SYSTEM == 'L'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_o_circumflex_lower
        COMPOSE_SEQ_LINUX(&kp CARET &kp O)
      #else
        UNICODE_SEQ_LINUX(&kp _NF &kp _N4)
      #endif
    #elif OPERATING_SYSTEM == 'M'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_o_circumflex_lower
        COMPOSE_SEQ_MACOS(&kp LA(I) &kp O)
      #else
        UNICODE_SEQ_MACOS(&kp _N0 &kp _N0 &kp _NF &kp _N4)
      #endif
    #elif OPERATING_SYSTEM == 'W'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_o_circumflex_lower
        COMPOSE_SEQ_WINDOWS(&kp KP_N0 &kp KP_N2 &kp KP_N4 &kp KP_N4)
      #else
        UNICODE_SEQ_WINDOWS(&kp _N0 &kp _NF &kp _N4)
      #endif
    #endif
  )
  world_o_circumflex_lower: world_o_circumflex_lower {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_o_circumflex_lower_macro>, <&world_o_circumflex_lower_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_o_circumflex_lower
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(world_o_circumflex_upper_macro, /* Ô */
    #if OPERATING_SYSTEM == 'L'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_o_circumflex_upper
        COMPOSE_SEQ_LINUX(&kp CARET &kp LS(O))
      #else
        UNICODE_SEQ_LINUX(&kp _ND &kp _N4)
      #endif
    #elif OPERATING_SYSTEM == 'M'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_o_circumflex_upper
        COMPOSE_SEQ_MACOS(&kp LA(I) &kp LS(O))
      #else
        UNICODE_SEQ_MACOS(&kp _N0 &kp _N0 &kp _ND &kp _N4)
      #endif
    #elif OPERATING_SYSTEM == 'W'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_o_circumflex_upper
        COMPOSE_SEQ_WINDOWS(&kp KP_N0 &kp KP_N2 &kp KP_N1 &kp KP_N2)
      #else
        UNICODE_SEQ_WINDOWS(&kp _N0 &kp _ND &kp _N4)
      #endif
    #endif
  )
  world_o_circumflex_upper: world_o_circumflex_upper {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_o_circumflex_upper_macro>, <&world_o_circumflex_upper_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_o_circumflex_upper
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  world_o_circumflex: world_o_circumflex {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_o_circumflex_lower>, <&world_o_circumflex_upper>;
    mods = <MOD_LSFT>;
  };
  UNICODE(world_o_grave_lower_macro, /* ò */
    #if OPERATING_SYSTEM == 'L'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_o_grave_lower
        COMPOSE_SEQ_LINUX(&kp GRAVE &kp O)
      #else
        UNICODE_SEQ_LINUX(&kp _NF &kp _N2)
      #endif
    #elif OPERATING_SYSTEM == 'M'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_o_grave_lower
        COMPOSE_SEQ_MACOS(&kp LA(GRAVE) &kp O)
      #else
        UNICODE_SEQ_MACOS(&kp _N0 &kp _N0 &kp _NF &kp _N2)
      #endif
    #elif OPERATING_SYSTEM == 'W'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_o_grave_lower
        COMPOSE_SEQ_WINDOWS(&kp KP_N0 &kp KP_N2 &kp KP_N4 &kp KP_N2)
      #else
        UNICODE_SEQ_WINDOWS(&kp _N0 &kp _NF &kp _N2)
      #endif
    #endif
  )
  world_o_grave_lower: world_o_grave_lower {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_o_grave_lower_macro>, <&world_o_grave_lower_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_o_grave_lower
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(world_o_grave_upper_macro, /* Ò */
    #if OPERATING_SYSTEM == 'L'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_o_grave_upper
        COMPOSE_SEQ_LINUX(&kp GRAVE &kp LS(O))
      #else
        UNICODE_SEQ_LINUX(&kp _ND &kp _N2)
      #endif
    #elif OPERATING_SYSTEM == 'M'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_o_grave_upper
        COMPOSE_SEQ_MACOS(&kp LA(GRAVE) &kp LS(O))
      #else
        UNICODE_SEQ_MACOS(&kp _N0 &kp _N0 &kp _ND &kp _N2)
      #endif
    #elif OPERATING_SYSTEM == 'W'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_o_grave_upper
        COMPOSE_SEQ_WINDOWS(&kp KP_N0 &kp KP_N2 &kp KP_N1 &kp KP_N0)
      #else
        UNICODE_SEQ_WINDOWS(&kp _N0 &kp _ND &kp _N2)
      #endif
    #endif
  )
  world_o_grave_upper: world_o_grave_upper {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_o_grave_upper_macro>, <&world_o_grave_upper_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_o_grave_upper
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  world_o_grave: world_o_grave {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_o_grave_lower>, <&world_o_grave_upper>;
    mods = <MOD_LSFT>;
  };
  UNICODE(world_o_tilde_lower_macro, /* õ */
    #if OPERATING_SYSTEM == 'L'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_o_tilde_lower
        COMPOSE_SEQ_LINUX(&kp TILDE &kp O)
      #else
        UNICODE_SEQ_LINUX(&kp _NF &kp _N5)
      #endif
    #elif OPERATING_SYSTEM == 'M'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_o_tilde_lower
        COMPOSE_SEQ_MACOS(&kp LA(N) &kp O)
      #else
        UNICODE_SEQ_MACOS(&kp _N0 &kp _N0 &kp _NF &kp _N5)
      #endif
    #elif OPERATING_SYSTEM == 'W'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_o_tilde_lower
        COMPOSE_SEQ_WINDOWS(&kp KP_N0 &kp KP_N2 &kp KP_N4 &kp KP_N5)
      #else
        UNICODE_SEQ_WINDOWS(&kp _N0 &kp _NF &kp _N5)
      #endif
    #endif
  )
  world_o_tilde_lower: world_o_tilde_lower {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_o_tilde_lower_macro>, <&world_o_tilde_lower_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_o_tilde_lower
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(world_o_tilde_upper_macro, /* Õ */
    #if OPERATING_SYSTEM == 'L'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_o_tilde_upper
        COMPOSE_SEQ_LINUX(&kp TILDE &kp LS(O))
      #else
        UNICODE_SEQ_LINUX(&kp _ND &kp _N5)
      #endif
    #elif OPERATING_SYSTEM == 'M'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_o_tilde_upper
        COMPOSE_SEQ_MACOS(&kp LA(N) &kp LS(O))
      #else
        UNICODE_SEQ_MACOS(&kp _N0 &kp _N0 &kp _ND &kp _N5)
      #endif
    #elif OPERATING_SYSTEM == 'W'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_o_tilde_upper
        COMPOSE_SEQ_WINDOWS(&kp KP_N0 &kp KP_N2 &kp KP_N1 &kp KP_N3)
      #else
        UNICODE_SEQ_WINDOWS(&kp _N0 &kp _ND &kp _N5)
      #endif
    #endif
  )
  world_o_tilde_upper: world_o_tilde_upper {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_o_tilde_upper_macro>, <&world_o_tilde_upper_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_o_tilde_upper
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  world_o_tilde: world_o_tilde {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_o_tilde_lower>, <&world_o_tilde_upper>;
    mods = <MOD_LSFT>;
  };
  UNICODE(world_o_slash_lower_macro, /* ø */
    #if OPERATING_SYSTEM == 'L'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_o_slash_lower
        COMPOSE_SEQ_LINUX(&kp FSLH &kp O)
      #else
        UNICODE_SEQ_LINUX(&kp _NF &kp _N8)
      #endif
    #elif OPERATING_SYSTEM == 'M'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_o_slash_lower
        COMPOSE_SEQ_MACOS(&kp LA(O))
      #else
        UNICODE_SEQ_MACOS(&kp _N0 &kp _N0 &kp _NF &kp _N8)
      #endif
    #elif OPERATING_SYSTEM == 'W'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_o_slash_lower
        COMPOSE_SEQ_WINDOWS(&kp KP_N0 &kp KP_N2 &kp KP_N4 &kp KP_N8)
      #else
        UNICODE_SEQ_WINDOWS(&kp _N0 &kp _NF &kp _N8)
      #endif
    #endif
  )
  world_o_slash_lower: world_o_slash_lower {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_o_slash_lower_macro>, <&world_o_slash_lower_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_o_slash_lower
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(world_o_slash_upper_macro, /* Ø */
    #if OPERATING_SYSTEM == 'L'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_o_slash_upper
        COMPOSE_SEQ_LINUX(&kp FSLH &kp LS(O))
      #else
        UNICODE_SEQ_LINUX(&kp _ND &kp _N8)
      #endif
    #elif OPERATING_SYSTEM == 'M'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_o_slash_upper
        COMPOSE_SEQ_MACOS(&kp LA(LS(O)))
      #else
        UNICODE_SEQ_MACOS(&kp _N0 &kp _N0 &kp _ND &kp _N8)
      #endif
    #elif OPERATING_SYSTEM == 'W'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_o_slash_upper
        COMPOSE_SEQ_WINDOWS(&kp KP_N0 &kp KP_N2 &kp KP_N1 &kp KP_N6)
      #else
        UNICODE_SEQ_WINDOWS(&kp _N0 &kp _ND &kp _N8)
      #endif
    #endif
  )
  world_o_slash_upper: world_o_slash_upper {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_o_slash_upper_macro>, <&world_o_slash_upper_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_o_slash_upper
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  world_o_slash: world_o_slash {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_o_slash_lower>, <&world_o_slash_upper>;
    mods = <MOD_LSFT>;
  };
  UNICODE(world_u_acute_lower_macro, /* ú */
    #if OPERATING_SYSTEM == 'L'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_u_acute_lower
        COMPOSE_SEQ_LINUX(&kp SQT &kp U)
      #else
        UNICODE_SEQ_LINUX(&kp _NF &kp _NA)
      #endif
    #elif OPERATING_SYSTEM == 'M'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_u_acute_lower
        COMPOSE_SEQ_MACOS(&kp LA(E) &kp U)
      #else
        UNICODE_SEQ_MACOS(&kp _N0 &kp _N0 &kp _NF &kp _NA)
      #endif
    #elif OPERATING_SYSTEM == 'W'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_u_acute_lower
        COMPOSE_SEQ_WINDOWS(&kp KP_N0 &kp KP_N2 &kp KP_N5 &kp KP_N0)
      #else
        UNICODE_SEQ_WINDOWS(&kp _N0 &kp _NF &kp _NA)
      #endif
    #endif
  )
  world_u_acute_lower: world_u_acute_lower {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_u_acute_lower_macro>, <&world_u_acute_lower_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_u_acute_lower
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(world_u_acute_upper_macro, /* Ú */
    #if OPERATING_SYSTEM == 'L'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_u_acute_upper
        COMPOSE_SEQ_LINUX(&kp SQT &kp LS(U))
      #else
        UNICODE_SEQ_LINUX(&kp _ND &kp _NA)
      #endif
    #elif OPERATING_SYSTEM == 'M'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_u_acute_upper
        COMPOSE_SEQ_MACOS(&kp LA(E) &kp LS(U))
      #else
        UNICODE_SEQ_MACOS(&kp _N0 &kp _N0 &kp _ND &kp _NA)
      #endif
    #elif OPERATING_SYSTEM == 'W'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_u_acute_upper
        COMPOSE_SEQ_WINDOWS(&kp KP_N0 &kp KP_N2 &kp KP_N1 &kp KP_N8)
      #else
        UNICODE_SEQ_WINDOWS(&kp _N0 &kp _ND &kp _NA)
      #endif
    #endif
  )
  world_u_acute_upper: world_u_acute_upper {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_u_acute_upper_macro>, <&world_u_acute_upper_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_u_acute_upper
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  world_u_acute: world_u_acute {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_u_acute_lower>, <&world_u_acute_upper>;
    mods = <MOD_LSFT>;
  };
  UNICODE(world_u_diaeresis_lower_macro, /* ü */
    #if OPERATING_SYSTEM == 'L'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_u_diaeresis_lower
        COMPOSE_SEQ_LINUX(&kp DQT &kp U)
      #else
        UNICODE_SEQ_LINUX(&kp _NF &kp _NC)
      #endif
    #elif OPERATING_SYSTEM == 'M'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_u_diaeresis_lower
        COMPOSE_SEQ_MACOS(&kp LA(U) &kp U)
      #else
        UNICODE_SEQ_MACOS(&kp _N0 &kp _N0 &kp _NF &kp _NC)
      #endif
    #elif OPERATING_SYSTEM == 'W'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_u_diaeresis_lower
        COMPOSE_SEQ_WINDOWS(&kp KP_N0 &kp KP_N2 &kp KP_N5 &kp KP_N2)
      #else
        UNICODE_SEQ_WINDOWS(&kp _N0 &kp _NF &kp _NC)
      #endif
    #endif
  )
  world_u_diaeresis_lower: world_u_diaeresis_lower {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_u_diaeresis_lower_macro>, <&world_u_diaeresis_lower_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_u_diaeresis_lower
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(world_u_diaeresis_upper_macro, /* Ü */
    #if OPERATING_SYSTEM == 'L'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_u_diaeresis_upper
        COMPOSE_SEQ_LINUX(&kp DQT &kp LS(U))
      #else
        UNICODE_SEQ_LINUX(&kp _ND &kp _NC)
      #endif
    #elif OPERATING_SYSTEM == 'M'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_u_diaeresis_upper
        COMPOSE_SEQ_MACOS(&kp LA(U) &kp LS(U))
      #else
        UNICODE_SEQ_MACOS(&kp _N0 &kp _N0 &kp _ND &kp _NC)
      #endif
    #elif OPERATING_SYSTEM == 'W'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_u_diaeresis_upper
        COMPOSE_SEQ_WINDOWS(&kp KP_N0 &kp KP_N2 &kp KP_N2 &kp KP_N0)
      #else
        UNICODE_SEQ_WINDOWS(&kp _N0 &kp _ND &kp _NC)
      #endif
    #endif
  )
  world_u_diaeresis_upper: world_u_diaeresis_upper {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_u_diaeresis_upper_macro>, <&world_u_diaeresis_upper_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_u_diaeresis_upper
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  world_u_diaeresis: world_u_diaeresis {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_u_diaeresis_lower>, <&world_u_diaeresis_upper>;
    mods = <MOD_LSFT>;
  };
  UNICODE(world_u_circumflex_lower_macro, /* û */
    #if OPERATING_SYSTEM == 'L'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_u_circumflex_lower
        COMPOSE_SEQ_LINUX(&kp CARET &kp U)
      #else
        UNICODE_SEQ_LINUX(&kp _NF &kp _NB)
      #endif
    #elif OPERATING_SYSTEM == 'M'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_u_circumflex_lower
        COMPOSE_SEQ_MACOS(&kp LA(I) &kp U)
      #else
        UNICODE_SEQ_MACOS(&kp _N0 &kp _N0 &kp _NF &kp _NB)
      #endif
    #elif OPERATING_SYSTEM == 'W'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_u_circumflex_lower
        COMPOSE_SEQ_WINDOWS(&kp KP_N0 &kp KP_N2 &kp KP_N5 &kp KP_N1)
      #else
        UNICODE_SEQ_WINDOWS(&kp _N0 &kp _NF &kp _NB)
      #endif
    #endif
  )
  world_u_circumflex_lower: world_u_circumflex_lower {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_u_circumflex_lower_macro>, <&world_u_circumflex_lower_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_u_circumflex_lower
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(world_u_circumflex_upper_macro, /* Û */
    #if OPERATING_SYSTEM == 'L'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_u_circumflex_upper
        COMPOSE_SEQ_LINUX(&kp CARET &kp LS(U))
      #else
        UNICODE_SEQ_LINUX(&kp _ND &kp _NB)
      #endif
    #elif OPERATING_SYSTEM == 'M'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_u_circumflex_upper
        COMPOSE_SEQ_MACOS(&kp LA(I) &kp LS(U))
      #else
        UNICODE_SEQ_MACOS(&kp _N0 &kp _N0 &kp _ND &kp _NB)
      #endif
    #elif OPERATING_SYSTEM == 'W'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_u_circumflex_upper
        COMPOSE_SEQ_WINDOWS(&kp KP_N0 &kp KP_N2 &kp KP_N1 &kp KP_N9)
      #else
        UNICODE_SEQ_WINDOWS(&kp _N0 &kp _ND &kp _NB)
      #endif
    #endif
  )
  world_u_circumflex_upper: world_u_circumflex_upper {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_u_circumflex_upper_macro>, <&world_u_circumflex_upper_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_u_circumflex_upper
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  world_u_circumflex: world_u_circumflex {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_u_circumflex_lower>, <&world_u_circumflex_upper>;
    mods = <MOD_LSFT>;
  };
  UNICODE(world_u_grave_lower_macro, /* ù */
    #if OPERATING_SYSTEM == 'L'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_u_grave_lower
        COMPOSE_SEQ_LINUX(&kp GRAVE &kp U)
      #else
        UNICODE_SEQ_LINUX(&kp _NF &kp _N9)
      #endif
    #elif OPERATING_SYSTEM == 'M'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_u_grave_lower
        COMPOSE_SEQ_MACOS(&kp LA(GRAVE) &kp U)
      #else
        UNICODE_SEQ_MACOS(&kp _N0 &kp _N0 &kp _NF &kp _N9)
      #endif
    #elif OPERATING_SYSTEM == 'W'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_u_grave_lower
        COMPOSE_SEQ_WINDOWS(&kp KP_N0 &kp KP_N2 &kp KP_N4 &kp KP_N9)
      #else
        UNICODE_SEQ_WINDOWS(&kp _N0 &kp _NF &kp _N9)
      #endif
    #endif
  )
  world_u_grave_lower: world_u_grave_lower {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_u_grave_lower_macro>, <&world_u_grave_lower_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_u_grave_lower
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(world_u_grave_upper_macro, /* Ù */
    #if OPERATING_SYSTEM == 'L'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_u_grave_upper
        COMPOSE_SEQ_LINUX(&kp GRAVE &kp LS(U))
      #else
        UNICODE_SEQ_LINUX(&kp _ND &kp _N9)
      #endif
    #elif OPERATING_SYSTEM == 'M'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_u_grave_upper
        COMPOSE_SEQ_MACOS(&kp LA(GRAVE) &kp LS(U))
      #else
        UNICODE_SEQ_MACOS(&kp _N0 &kp _N0 &kp _ND &kp _N9)
      #endif
    #elif OPERATING_SYSTEM == 'W'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_u_grave_upper
        COMPOSE_SEQ_WINDOWS(&kp KP_N0 &kp KP_N2 &kp KP_N1 &kp KP_N7)
      #else
        UNICODE_SEQ_WINDOWS(&kp _N0 &kp _ND &kp _N9)
      #endif
    #endif
  )
  world_u_grave_upper: world_u_grave_upper {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_u_grave_upper_macro>, <&world_u_grave_upper_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_u_grave_upper
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  world_u_grave: world_u_grave {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_u_grave_lower>, <&world_u_grave_upper>;
    mods = <MOD_LSFT>;
  };
  UNICODE(world_consonants_cedilla_lower_macro, /* ç */
    #if OPERATING_SYSTEM == 'L'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_consonants_cedilla_lower
        COMPOSE_SEQ_LINUX(&kp COMMA &kp C)
      #else
        UNICODE_SEQ_LINUX(&kp _NE &kp _N7)
      #endif
    #elif OPERATING_SYSTEM == 'M'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_consonants_cedilla_lower
        COMPOSE_SEQ_MACOS(&kp LA(C))
      #else
        UNICODE_SEQ_MACOS(&kp _N0 &kp _N0 &kp _NE &kp _N7)
      #endif
    #elif OPERATING_SYSTEM == 'W'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_consonants_cedilla_lower
        COMPOSE_SEQ_WINDOWS(&kp KP_N0 &kp KP_N2 &kp KP_N3 &kp KP_N1)
      #else
        UNICODE_SEQ_WINDOWS(&kp _N0 &kp _NE &kp _N7)
      #endif
    #endif
  )
  world_consonants_cedilla_lower: world_consonants_cedilla_lower {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_consonants_cedilla_lower_macro>, <&world_consonants_cedilla_lower_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_consonants_cedilla_lower
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(world_consonants_cedilla_upper_macro, /* Ç */
    #if OPERATING_SYSTEM == 'L'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_consonants_cedilla_upper
        COMPOSE_SEQ_LINUX(&kp COMMA &kp LS(C))
      #else
        UNICODE_SEQ_LINUX(&kp _NC &kp _N7)
      #endif
    #elif OPERATING_SYSTEM == 'M'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_consonants_cedilla_upper
        COMPOSE_SEQ_MACOS(&kp LA(LS(C)))
      #else
        UNICODE_SEQ_MACOS(&kp _N0 &kp _N0 &kp _NC &kp _N7)
      #endif
    #elif OPERATING_SYSTEM == 'W'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_consonants_cedilla_upper
        COMPOSE_SEQ_WINDOWS(&kp KP_N0 &kp KP_N1 &kp KP_N9 &kp KP_N9)
      #else
        UNICODE_SEQ_WINDOWS(&kp _N0 &kp _NC &kp _N7)
      #endif
    #endif
  )
  world_consonants_cedilla_upper: world_consonants_cedilla_upper {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_consonants_cedilla_upper_macro>, <&world_consonants_cedilla_upper_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_consonants_cedilla_upper
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  world_consonants_cedilla: world_consonants_cedilla {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_consonants_cedilla_lower>, <&world_consonants_cedilla_upper>;
    mods = <MOD_LSFT>;
  };
  UNICODE(world_consonants_eszett_lower_macro, /* ß */
    #if OPERATING_SYSTEM == 'L'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_consonants_eszett_lower
        COMPOSE_SEQ_LINUX(&kp S &kp S)
      #else
        UNICODE_SEQ_LINUX(&kp _ND &kp _NF)
      #endif
    #elif OPERATING_SYSTEM == 'M'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_consonants_eszett_lower
        COMPOSE_SEQ_MACOS(&kp LA(S))
      #else
        UNICODE_SEQ_MACOS(&kp _N0 &kp _N0 &kp _ND &kp _NF)
      #endif
    #elif OPERATING_SYSTEM == 'W'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_consonants_eszett_lower
        COMPOSE_SEQ_WINDOWS(&kp KP_N0 &kp KP_N2 &kp KP_N2 &kp KP_N3)
      #else
        UNICODE_SEQ_WINDOWS(&kp _N0 &kp _ND &kp _NF)
      #endif
    #endif
  )
  world_consonants_eszett_lower: world_consonants_eszett_lower {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_consonants_eszett_lower_macro>, <&world_consonants_eszett_lower_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_consonants_eszett_lower
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(world_consonants_eszett_upper_macro, /* ẞ */
    #if OPERATING_SYSTEM == 'L'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_consonants_eszett_upper
        COMPOSE_SEQ_LINUX(&kp LS(S) &kp LS(S))
      #else
        UNICODE_SEQ_LINUX(&kp _N1 &kp _NE &kp _N9 &kp _NE)
      #endif
    #elif OPERATING_SYSTEM == 'M'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_consonants_eszett_upper
        COMPOSE_SEQ_MACOS(&kp LA(LS(S)))
      #else
        UNICODE_SEQ_MACOS(&kp _N1 &kp _NE &kp _N9 &kp _NE)
      #endif
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N1 &kp _NE &kp _N9 &kp _NE)
    #endif
  )
  world_consonants_eszett_upper: world_consonants_eszett_upper {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_consonants_eszett_upper_macro>, <&world_consonants_eszett_upper_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_consonants_eszett_upper
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  world_consonants_eszett: world_consonants_eszett {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_consonants_eszett_lower>, <&world_consonants_eszett_upper>;
    mods = <MOD_LSFT>;
  };
  UNICODE(world_consonants_ntilde_lower_macro, /* ñ */
    #if OPERATING_SYSTEM == 'L'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_consonants_ntilde_lower
        COMPOSE_SEQ_LINUX(&kp TILDE &kp N)
      #else
        UNICODE_SEQ_LINUX(&kp _NF &kp _N1)
      #endif
    #elif OPERATING_SYSTEM == 'M'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_consonants_ntilde_lower
        COMPOSE_SEQ_MACOS(&kp LA(N) &kp N)
      #else
        UNICODE_SEQ_MACOS(&kp _N0 &kp _N0 &kp _NF &kp _N1)
      #endif
    #elif OPERATING_SYSTEM == 'W'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_consonants_ntilde_lower
        COMPOSE_SEQ_WINDOWS(&kp KP_N0 &kp KP_N2 &kp KP_N4 &kp KP_N1)
      #else
        UNICODE_SEQ_WINDOWS(&kp _N0 &kp _NF &kp _N1)
      #endif
    #endif
  )
  world_consonants_ntilde_lower: world_consonants_ntilde_lower {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_consonants_ntilde_lower_macro>, <&world_consonants_ntilde_lower_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_consonants_ntilde_lower
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(world_consonants_ntilde_upper_macro, /* Ñ */
    #if OPERATING_SYSTEM == 'L'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_consonants_ntilde_upper
        COMPOSE_SEQ_LINUX(&kp TILDE &kp LS(N))
      #else
        UNICODE_SEQ_LINUX(&kp _ND &kp _N1)
      #endif
    #elif OPERATING_SYSTEM == 'M'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_consonants_ntilde_upper
        COMPOSE_SEQ_MACOS(&kp LA(N) &kp LS(N))
      #else
        UNICODE_SEQ_MACOS(&kp _N0 &kp _N0 &kp _ND &kp _N1)
      #endif
    #elif OPERATING_SYSTEM == 'W'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_consonants_ntilde_upper
        COMPOSE_SEQ_WINDOWS(&kp KP_N0 &kp KP_N2 &kp KP_N0 &kp KP_N9)
      #else
        UNICODE_SEQ_WINDOWS(&kp _N0 &kp _ND &kp _N1)
      #endif
    #endif
  )
  world_consonants_ntilde_upper: world_consonants_ntilde_upper {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_consonants_ntilde_upper_macro>, <&world_consonants_ntilde_upper_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_consonants_ntilde_upper
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  world_consonants_ntilde: world_consonants_ntilde {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_consonants_ntilde_lower>, <&world_consonants_ntilde_upper>;
    mods = <MOD_LSFT>;
  };
  UNICODE(world_consonants_micro_macro, /* µ */
    #if OPERATING_SYSTEM == 'L'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_consonants_micro
        COMPOSE_SEQ_LINUX(&kp M &kp U)
      #else
        UNICODE_SEQ_LINUX(&kp _NB &kp _N5)
      #endif
    #elif OPERATING_SYSTEM == 'M'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_consonants_micro
        COMPOSE_SEQ_MACOS(&kp LA(M))
      #else
        UNICODE_SEQ_MACOS(&kp _N0 &kp _N0 &kp _NB &kp _N5)
      #endif
    #elif OPERATING_SYSTEM == 'W'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_consonants_micro
        COMPOSE_SEQ_WINDOWS(&kp KP_N0 &kp KP_N1 &kp KP_N8 &kp KP_N1)
      #else
        UNICODE_SEQ_WINDOWS(&kp _N0 &kp _NB &kp _N5)
      #endif
    #endif
  )
  world_consonants_micro: world_consonants_micro {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_consonants_micro_macro>, <&world_consonants_micro_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_consonants_micro
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(world_quotes_left_angle_lower_macro, /* ‹ */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N2 &kp _N0 &kp _N3 &kp _N9)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _N2 &kp _N0 &kp _N3 &kp _N9)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N2 &kp _N0 &kp _N3 &kp _N9)
    #endif
  )
  world_quotes_left_angle_lower: world_quotes_left_angle_lower {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_quotes_left_angle_lower_macro>, <&world_quotes_left_angle_lower_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_quotes_left_angle_lower
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(world_quotes_left_angle_upper_macro, /* « */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _NA &kp _NB)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _N0 &kp _N0 &kp _NA &kp _NB)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _NA &kp _NB)
    #endif
  )
  world_quotes_left_angle_upper: world_quotes_left_angle_upper {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_quotes_left_angle_upper_macro>, <&world_quotes_left_angle_upper_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_quotes_left_angle_upper
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  world_quotes_left_angle: world_quotes_left_angle {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_quotes_left_angle_lower>, <&world_quotes_left_angle_upper>;
    mods = <MOD_LSFT>;
  };
  UNICODE(world_quotes_left_curly_lower_macro, /* ‘ */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N2 &kp _N0 &kp _N1 &kp _N8)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _N2 &kp _N0 &kp _N1 &kp _N8)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N2 &kp _N0 &kp _N1 &kp _N8)
    #endif
  )
  world_quotes_left_curly_lower: world_quotes_left_curly_lower {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_quotes_left_curly_lower_macro>, <&world_quotes_left_curly_lower_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_quotes_left_curly_lower
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(world_quotes_left_curly_upper_macro, /* “ */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N2 &kp _N0 &kp _N1 &kp _NC)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _N2 &kp _N0 &kp _N1 &kp _NC)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N2 &kp _N0 &kp _N1 &kp _NC)
    #endif
  )
  world_quotes_left_curly_upper: world_quotes_left_curly_upper {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_quotes_left_curly_upper_macro>, <&world_quotes_left_curly_upper_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_quotes_left_curly_upper
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  world_quotes_left_curly: world_quotes_left_curly {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_quotes_left_curly_lower>, <&world_quotes_left_curly_upper>;
    mods = <MOD_LSFT>;
  };
  UNICODE(world_quotes_left_low_lower_macro, /* ‚ */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N2 &kp _N0 &kp _N1 &kp _NA)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _N2 &kp _N0 &kp _N1 &kp _NA)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N2 &kp _N0 &kp _N1 &kp _NA)
    #endif
  )
  world_quotes_left_low_lower: world_quotes_left_low_lower {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_quotes_left_low_lower_macro>, <&world_quotes_left_low_lower_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_quotes_left_low_lower
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(world_quotes_left_low_upper_macro, /* „ */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N2 &kp _N0 &kp _N1 &kp _NE)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _N2 &kp _N0 &kp _N1 &kp _NE)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N2 &kp _N0 &kp _N1 &kp _NE)
    #endif
  )
  world_quotes_left_low_upper: world_quotes_left_low_upper {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_quotes_left_low_upper_macro>, <&world_quotes_left_low_upper_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_quotes_left_low_upper
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  world_quotes_left_low: world_quotes_left_low {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_quotes_left_low_lower>, <&world_quotes_left_low_upper>;
    mods = <MOD_LSFT>;
  };
  UNICODE(world_quotes_left_corner1_lower_macro, /* 「 */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N3 &kp _N0 &kp _N0 &kp _NC)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _N3 &kp _N0 &kp _N0 &kp _NC)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N3 &kp _N0 &kp _N0 &kp _NC)
    #endif
  )
  world_quotes_left_corner1_lower: world_quotes_left_corner1_lower {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_quotes_left_corner1_lower_macro>, <&world_quotes_left_corner1_lower_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_quotes_left_corner1_lower
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(world_quotes_left_corner1_upper_macro, /* ﹁ */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _NF &kp _NE &kp _N4 &kp _N1)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _NF &kp _NE &kp _N4 &kp _N1)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _NF &kp _NE &kp _N4 &kp _N1)
    #endif
  )
  world_quotes_left_corner1_upper: world_quotes_left_corner1_upper {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_quotes_left_corner1_upper_macro>, <&world_quotes_left_corner1_upper_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_quotes_left_corner1_upper
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  world_quotes_left_corner1: world_quotes_left_corner1 {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_quotes_left_corner1_lower>, <&world_quotes_left_corner1_upper>;
    mods = <MOD_LSFT>;
  };
  UNICODE(world_quotes_left_corner2_lower_macro, /* 『 */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N3 &kp _N0 &kp _N0 &kp _NE)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _N3 &kp _N0 &kp _N0 &kp _NE)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N3 &kp _N0 &kp _N0 &kp _NE)
    #endif
  )
  world_quotes_left_corner2_lower: world_quotes_left_corner2_lower {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_quotes_left_corner2_lower_macro>, <&world_quotes_left_corner2_lower_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_quotes_left_corner2_lower
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(world_quotes_left_corner2_upper_macro, /* ﹃ */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _NF &kp _NE &kp _N4 &kp _N3)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _NF &kp _NE &kp _N4 &kp _N3)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _NF &kp _NE &kp _N4 &kp _N3)
    #endif
  )
  world_quotes_left_corner2_upper: world_quotes_left_corner2_upper {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_quotes_left_corner2_upper_macro>, <&world_quotes_left_corner2_upper_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_quotes_left_corner2_upper
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  world_quotes_left_corner2: world_quotes_left_corner2 {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_quotes_left_corner2_lower>, <&world_quotes_left_corner2_upper>;
    mods = <MOD_LSFT>;
  };
  UNICODE(world_quotes_left_grave_macro, /* ` */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N6 &kp _N0)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _N0 &kp _N0 &kp _N6 &kp _N0)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N6 &kp _N0)
    #endif
  )
  world_quotes_left_grave: world_quotes_left_grave {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_quotes_left_grave_macro>, <&world_quotes_left_grave_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_quotes_left_grave
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(world_quotes_right_angle_lower_macro, /* › */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N2 &kp _N0 &kp _N3 &kp _NA)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _N2 &kp _N0 &kp _N3 &kp _NA)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N2 &kp _N0 &kp _N3 &kp _NA)
    #endif
  )
  world_quotes_right_angle_lower: world_quotes_right_angle_lower {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_quotes_right_angle_lower_macro>, <&world_quotes_right_angle_lower_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_quotes_right_angle_lower
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(world_quotes_right_angle_upper_macro, /* » */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _NB &kp _NB)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _N0 &kp _N0 &kp _NB &kp _NB)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _NB &kp _NB)
    #endif
  )
  world_quotes_right_angle_upper: world_quotes_right_angle_upper {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_quotes_right_angle_upper_macro>, <&world_quotes_right_angle_upper_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_quotes_right_angle_upper
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  world_quotes_right_angle: world_quotes_right_angle {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_quotes_right_angle_lower>, <&world_quotes_right_angle_upper>;
    mods = <MOD_LSFT>;
  };
  UNICODE(world_quotes_right_curly_lower_macro, /* ’ */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N2 &kp _N0 &kp _N1 &kp _N9)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _N2 &kp _N0 &kp _N1 &kp _N9)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N2 &kp _N0 &kp _N1 &kp _N9)
    #endif
  )
  world_quotes_right_curly_lower: world_quotes_right_curly_lower {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_quotes_right_curly_lower_macro>, <&world_quotes_right_curly_lower_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_quotes_right_curly_lower
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(world_quotes_right_curly_upper_macro, /* ” */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N2 &kp _N0 &kp _N1 &kp _ND)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _N2 &kp _N0 &kp _N1 &kp _ND)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N2 &kp _N0 &kp _N1 &kp _ND)
    #endif
  )
  world_quotes_right_curly_upper: world_quotes_right_curly_upper {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_quotes_right_curly_upper_macro>, <&world_quotes_right_curly_upper_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_quotes_right_curly_upper
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  world_quotes_right_curly: world_quotes_right_curly {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_quotes_right_curly_lower>, <&world_quotes_right_curly_upper>;
    mods = <MOD_LSFT>;
  };
  world_quotes_right_low: world_quotes_right_low {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_quotes_left_low_lower>, <&world_quotes_left_low_upper>;
    mods = <MOD_LSFT>;
  };
  UNICODE(world_quotes_right_corner1_lower_macro, /* 」 */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N3 &kp _N0 &kp _N0 &kp _ND)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _N3 &kp _N0 &kp _N0 &kp _ND)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N3 &kp _N0 &kp _N0 &kp _ND)
    #endif
  )
  world_quotes_right_corner1_lower: world_quotes_right_corner1_lower {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_quotes_right_corner1_lower_macro>, <&world_quotes_right_corner1_lower_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_quotes_right_corner1_lower
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(world_quotes_right_corner1_upper_macro, /* ﹂ */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _NF &kp _NE &kp _N4 &kp _N2)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _NF &kp _NE &kp _N4 &kp _N2)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _NF &kp _NE &kp _N4 &kp _N2)
    #endif
  )
  world_quotes_right_corner1_upper: world_quotes_right_corner1_upper {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_quotes_right_corner1_upper_macro>, <&world_quotes_right_corner1_upper_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_quotes_right_corner1_upper
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  world_quotes_right_corner1: world_quotes_right_corner1 {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_quotes_right_corner1_lower>, <&world_quotes_right_corner1_upper>;
    mods = <MOD_LSFT>;
  };
  UNICODE(world_quotes_right_corner2_lower_macro, /* 』 */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N3 &kp _N0 &kp _N0 &kp _NF)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _N3 &kp _N0 &kp _N0 &kp _NF)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N3 &kp _N0 &kp _N0 &kp _NF)
    #endif
  )
  world_quotes_right_corner2_lower: world_quotes_right_corner2_lower {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_quotes_right_corner2_lower_macro>, <&world_quotes_right_corner2_lower_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_quotes_right_corner2_lower
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(world_quotes_right_corner2_upper_macro, /* ﹄ */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _NF &kp _NE &kp _N4 &kp _N4)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _NF &kp _NE &kp _N4 &kp _N4)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _NF &kp _NE &kp _N4 &kp _N4)
    #endif
  )
  world_quotes_right_corner2_upper: world_quotes_right_corner2_upper {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_quotes_right_corner2_upper_macro>, <&world_quotes_right_corner2_upper_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_quotes_right_corner2_upper
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  world_quotes_right_corner2: world_quotes_right_corner2 {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_quotes_right_corner2_lower>, <&world_quotes_right_corner2_upper>;
    mods = <MOD_LSFT>;
  };
  UNICODE(world_quotes_right_grave_macro, /* ´ */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _NB &kp _N4)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _N0 &kp _N0 &kp _NB &kp _N4)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _NB &kp _N4)
    #endif
  )
  world_quotes_right_grave: world_quotes_right_grave {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_quotes_right_grave_macro>, <&world_quotes_right_grave_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_quotes_right_grave
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(world_currency_dollar_lower_macro, /* $ */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N2 &kp _N4)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _N0 &kp _N0 &kp _N2 &kp _N4)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N2 &kp _N4)
    #endif
  )
  world_currency_dollar_lower: world_currency_dollar_lower {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_currency_dollar_lower_macro>, <&world_currency_dollar_lower_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_currency_dollar_lower
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  world_currency_dollar: world_currency_dollar {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_currency_dollar_lower>, <&world_currency_cent>;
    mods = <MOD_LSFT>;
  };
  UNICODE(world_currency_yen_macro, /* ¥ */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _NA &kp _N5)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _N0 &kp _N0 &kp _NA &kp _N5)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _NA &kp _N5)
    #endif
  )
  world_currency_yen: world_currency_yen {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_currency_yen_macro>, <&world_currency_yen_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_currency_yen
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(world_currency_euro_macro, /* € */
    #if OPERATING_SYSTEM == 'L'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_currency_euro
        COMPOSE_SEQ_LINUX(&kp E &kp EQUAL)
      #else
        UNICODE_SEQ_LINUX(&kp _N2 &kp _N0 &kp _NA &kp _NC)
      #endif
    #elif OPERATING_SYSTEM == 'M'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_currency_euro
        COMPOSE_SEQ_MACOS(&kp LA(LS(N2)))
      #else
        UNICODE_SEQ_MACOS(&kp _N2 &kp _N0 &kp _NA &kp _NC)
      #endif
    #elif OPERATING_SYSTEM == 'W'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_currency_euro
        COMPOSE_SEQ_WINDOWS(&kp KP_N0 &kp KP_N1 &kp KP_N2 &kp KP_N8)
      #else
        UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N2 &kp _N0 &kp _NA &kp _NC)
      #endif
    #endif
  )
  world_currency_euro: world_currency_euro {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_currency_euro_macro>, <&world_currency_euro_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_currency_euro
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(world_currency_won_macro, /* ₩ */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N2 &kp _N0 &kp _NA &kp _N9)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _N2 &kp _N0 &kp _NA &kp _N9)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N2 &kp _N0 &kp _NA &kp _N9)
    #endif
  )
  world_currency_won: world_currency_won {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_currency_won_macro>, <&world_currency_won_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_currency_won
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(world_currency_pound_macro, /* £ */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _NA &kp _N3)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _N0 &kp _N0 &kp _NA &kp _N3)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _NA &kp _N3)
    #endif
  )
  world_currency_pound: world_currency_pound {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_currency_pound_macro>, <&world_currency_pound_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_currency_pound
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  world_currency_generic: world_currency_generic {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_currency_sign>, <&world_currency_crypto>;
    mods = <MOD_LSFT>;
  };
  UNICODE(world_sign_copyright_regular_macro, /* © */
    #if OPERATING_SYSTEM == 'L'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_sign_copyright_regular
        COMPOSE_SEQ_LINUX(&kp O &kp C)
      #else
        UNICODE_SEQ_LINUX(&kp _NA &kp _N9)
      #endif
    #elif OPERATING_SYSTEM == 'M'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_sign_copyright_regular
        COMPOSE_SEQ_MACOS(&kp LA(G))
      #else
        UNICODE_SEQ_MACOS(&kp _N0 &kp _N0 &kp _NA &kp _N9)
      #endif
    #elif OPERATING_SYSTEM == 'W'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_sign_copyright_regular
        COMPOSE_SEQ_WINDOWS(&kp KP_N0 &kp KP_N1 &kp KP_N6 &kp KP_N9)
      #else
        UNICODE_SEQ_WINDOWS(&kp _N0 &kp _NA &kp _N9)
      #endif
    #endif
  )
  world_sign_copyright_regular: world_sign_copyright_regular {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_sign_copyright_regular_macro>, <&world_sign_copyright_regular_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_sign_copyright_regular
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(world_sign_copyright_shifted_macro, /* ® */
    #if OPERATING_SYSTEM == 'L'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_sign_copyright_shifted
        COMPOSE_SEQ_LINUX(&kp O &kp R)
      #else
        UNICODE_SEQ_LINUX(&kp _NA &kp _NE)
      #endif
    #elif OPERATING_SYSTEM == 'M'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_sign_copyright_shifted
        COMPOSE_SEQ_MACOS(&kp LA(R))
      #else
        UNICODE_SEQ_MACOS(&kp _N0 &kp _N0 &kp _NA &kp _NE)
      #endif
    #elif OPERATING_SYSTEM == 'W'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_sign_copyright_shifted
        COMPOSE_SEQ_WINDOWS(&kp KP_N0 &kp KP_N1 &kp KP_N7 &kp KP_N4)
      #else
        UNICODE_SEQ_WINDOWS(&kp _N0 &kp _NA &kp _NE)
      #endif
    #endif
  )
  world_sign_copyright_shifted: world_sign_copyright_shifted {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_sign_copyright_shifted_macro>, <&world_sign_copyright_shifted_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_sign_copyright_shifted
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  world_sign_copyright: world_sign_copyright {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_sign_copyright_regular>, <&world_sign_copyright_shifted>;
    mods = <MOD_LSFT>;
  };
  UNICODE(world_sign_trademark_regular_macro, /* ™ */
    #if OPERATING_SYSTEM == 'L'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_sign_trademark_regular
        COMPOSE_SEQ_LINUX(&kp T &kp M)
      #else
        UNICODE_SEQ_LINUX(&kp _N2 &kp _N1 &kp _N2 &kp _N2)
      #endif
    #elif OPERATING_SYSTEM == 'M'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_sign_trademark_regular
        COMPOSE_SEQ_MACOS(&kp LA(N2))
      #else
        UNICODE_SEQ_MACOS(&kp _N2 &kp _N1 &kp _N2 &kp _N2)
      #endif
    #elif OPERATING_SYSTEM == 'W'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_sign_trademark_regular
        COMPOSE_SEQ_WINDOWS(&kp KP_N0 &kp KP_N1 &kp KP_N5 &kp KP_N3)
      #else
        UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N2 &kp _N1 &kp _N2 &kp _N2)
      #endif
    #endif
  )
  world_sign_trademark_regular: world_sign_trademark_regular {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_sign_trademark_regular_macro>, <&world_sign_trademark_regular_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_sign_trademark_regular
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(world_sign_trademark_shifted_macro, /* ℠ */
    #if OPERATING_SYSTEM == 'L'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_sign_trademark_shifted
        COMPOSE_SEQ_LINUX(&kp S &kp M)
      #else
        UNICODE_SEQ_LINUX(&kp _N2 &kp _N1 &kp _N2 &kp _N0)
      #endif
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _N2 &kp _N1 &kp _N2 &kp _N0)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N2 &kp _N1 &kp _N2 &kp _N0)
    #endif
  )
  world_sign_trademark_shifted: world_sign_trademark_shifted {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_sign_trademark_shifted_macro>, <&world_sign_trademark_shifted_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_sign_trademark_shifted
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  world_sign_trademark: world_sign_trademark {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_sign_trademark_regular>, <&world_sign_trademark_shifted>;
    mods = <MOD_LSFT>;
  };
  UNICODE(world_sign_landmark_section_macro, /* § */
    #if OPERATING_SYSTEM == 'L'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_sign_landmark_section
        COMPOSE_SEQ_LINUX(&kp S &kp O)
      #else
        UNICODE_SEQ_LINUX(&kp _NA &kp _N7)
      #endif
    #elif OPERATING_SYSTEM == 'M'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_sign_landmark_section
        COMPOSE_SEQ_MACOS(&kp LA(N6))
      #else
        UNICODE_SEQ_MACOS(&kp _N0 &kp _N0 &kp _NA &kp _N7)
      #endif
    #elif OPERATING_SYSTEM == 'W'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_sign_landmark_section
        COMPOSE_SEQ_WINDOWS(&kp KP_N0 &kp KP_N1 &kp KP_N6 &kp KP_N7)
      #else
        UNICODE_SEQ_WINDOWS(&kp _N0 &kp _NA &kp _N7)
      #endif
    #endif
  )
  world_sign_landmark_section: world_sign_landmark_section {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_sign_landmark_section_macro>, <&world_sign_landmark_section_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_sign_landmark_section
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(world_sign_landmark_pilcrow_macro, /* ¶ */
    #if OPERATING_SYSTEM == 'L'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_sign_landmark_pilcrow
        COMPOSE_SEQ_LINUX(&kp P &kp EXCL)
      #else
        UNICODE_SEQ_LINUX(&kp _NB &kp _N6)
      #endif
    #elif OPERATING_SYSTEM == 'M'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_sign_landmark_pilcrow
        COMPOSE_SEQ_MACOS(&kp LA(N7))
      #else
        UNICODE_SEQ_MACOS(&kp _N0 &kp _N0 &kp _NB &kp _N6)
      #endif
    #elif OPERATING_SYSTEM == 'W'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_sign_landmark_pilcrow
        COMPOSE_SEQ_WINDOWS(&kp KP_N0 &kp KP_N1 &kp KP_N8 &kp KP_N2)
      #else
        UNICODE_SEQ_WINDOWS(&kp _N0 &kp _NB &kp _N6)
      #endif
    #endif
  )
  world_sign_landmark_pilcrow: world_sign_landmark_pilcrow {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_sign_landmark_pilcrow_macro>, <&world_sign_landmark_pilcrow_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_sign_landmark_pilcrow
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  world_sign_landmark: world_sign_landmark {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_sign_landmark_section>, <&world_sign_landmark_pilcrow>;
    mods = <MOD_LSFT>;
  };
  UNICODE(world_sign_exclaim_left_macro, /* ¡ */
    #if OPERATING_SYSTEM == 'L'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_sign_exclaim_left
        COMPOSE_SEQ_LINUX(&kp EXCL &kp EXCL)
      #else
        UNICODE_SEQ_LINUX(&kp _NA &kp _N1)
      #endif
    #elif OPERATING_SYSTEM == 'M'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_sign_exclaim_left
        COMPOSE_SEQ_MACOS(&kp LA(N1))
      #else
        UNICODE_SEQ_MACOS(&kp _N0 &kp _N0 &kp _NA &kp _N1)
      #endif
    #elif OPERATING_SYSTEM == 'W'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_sign_exclaim_left
        COMPOSE_SEQ_WINDOWS(&kp KP_N0 &kp KP_N1 &kp KP_N6 &kp KP_N1)
      #else
        UNICODE_SEQ_WINDOWS(&kp _N0 &kp _NA &kp _N1)
      #endif
    #endif
  )
  world_sign_exclaim_left: world_sign_exclaim_left {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_sign_exclaim_left_macro>, <&world_sign_exclaim_left_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_sign_exclaim_left
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(world_sign_exclaim_right_macro, /* ! */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N2 &kp _N1)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _N0 &kp _N0 &kp _N2 &kp _N1)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N2 &kp _N1)
    #endif
  )
  world_sign_exclaim_right: world_sign_exclaim_right {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_sign_exclaim_right_macro>, <&world_sign_exclaim_right_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_sign_exclaim_right
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  world_sign_exclaim: world_sign_exclaim {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_sign_exclaim_left>, <&world_sign_exclaim_right>;
    mods = <MOD_LSFT>;
  };
  UNICODE(world_sign_question_left_macro, /* ¿ */
    #if OPERATING_SYSTEM == 'L'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_sign_question_left
        COMPOSE_SEQ_LINUX(&kp QMARK &kp QMARK)
      #else
        UNICODE_SEQ_LINUX(&kp _NB &kp _NF)
      #endif
    #elif OPERATING_SYSTEM == 'M'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_sign_question_left
        COMPOSE_SEQ_MACOS(&kp LA(LS(FSLH)))
      #else
        UNICODE_SEQ_MACOS(&kp _N0 &kp _N0 &kp _NB &kp _NF)
      #endif
    #elif OPERATING_SYSTEM == 'W'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_sign_question_left
        COMPOSE_SEQ_WINDOWS(&kp KP_N0 &kp KP_N1 &kp KP_N9 &kp KP_N1)
      #else
        UNICODE_SEQ_WINDOWS(&kp _N0 &kp _NB &kp _NF)
      #endif
    #endif
  )
  world_sign_question_left: world_sign_question_left {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_sign_question_left_macro>, <&world_sign_question_left_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_sign_question_left
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(world_sign_question_right_macro, /* ? */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N3 &kp _NF)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _N0 &kp _N0 &kp _N3 &kp _NF)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N3 &kp _NF)
    #endif
  )
  world_sign_question_right: world_sign_question_right {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_sign_question_right_macro>, <&world_sign_question_right_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_sign_question_right
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  world_sign_question: world_sign_question {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_sign_question_left>, <&world_sign_question_right>;
    mods = <MOD_LSFT>;
  };
  UNICODE(world_sign_ordinal_o_macro, /* º */
    #if OPERATING_SYSTEM == 'L'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_sign_ordinal_o
        COMPOSE_SEQ_LINUX(&kp CARET &kp UNDER &kp O)
      #else
        UNICODE_SEQ_LINUX(&kp _NB &kp _NA)
      #endif
    #elif OPERATING_SYSTEM == 'M'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_sign_ordinal_o
        COMPOSE_SEQ_MACOS(&kp LA(N0))
      #else
        UNICODE_SEQ_MACOS(&kp _N0 &kp _N0 &kp _NB &kp _NA)
      #endif
    #elif OPERATING_SYSTEM == 'W'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_sign_ordinal_o
        COMPOSE_SEQ_WINDOWS(&kp KP_N0 &kp KP_N1 &kp KP_N8 &kp KP_N6)
      #else
        UNICODE_SEQ_WINDOWS(&kp _N0 &kp _NB &kp _NA)
      #endif
    #endif
  )
  world_sign_ordinal_o: world_sign_ordinal_o {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_sign_ordinal_o_macro>, <&world_sign_ordinal_o_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_sign_ordinal_o
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(world_sign_ordinal_a_macro, /* ª */
    #if OPERATING_SYSTEM == 'L'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_sign_ordinal_a
        COMPOSE_SEQ_LINUX(&kp CARET &kp UNDER &kp A)
      #else
        UNICODE_SEQ_LINUX(&kp _NA &kp _NA)
      #endif
    #elif OPERATING_SYSTEM == 'M'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_sign_ordinal_a
        COMPOSE_SEQ_MACOS(&kp LA(N9))
      #else
        UNICODE_SEQ_MACOS(&kp _N0 &kp _N0 &kp _NA &kp _NA)
      #endif
    #elif OPERATING_SYSTEM == 'W'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_sign_ordinal_a
        COMPOSE_SEQ_WINDOWS(&kp KP_N0 &kp KP_N1 &kp KP_N7 &kp KP_N0)
      #else
        UNICODE_SEQ_WINDOWS(&kp _N0 &kp _NA &kp _NA)
      #endif
    #endif
  )
  world_sign_ordinal_a: world_sign_ordinal_a {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_sign_ordinal_a_macro>, <&world_sign_ordinal_a_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_sign_ordinal_a
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  world_sign_ordinal: world_sign_ordinal {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_sign_ordinal_o>, <&world_sign_ordinal_a>;
    mods = <MOD_LSFT>;
  };
  UNICODE(world_sign_angle_degree_macro, /* ° */
    #if OPERATING_SYSTEM == 'L'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_sign_angle_degree
        COMPOSE_SEQ_LINUX(&kp O &kp O)
      #else
        UNICODE_SEQ_LINUX(&kp _NB &kp _N0)
      #endif
    #elif OPERATING_SYSTEM == 'M'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_sign_angle_degree
        COMPOSE_SEQ_MACOS(&kp LA(LS(N8)))
      #else
        UNICODE_SEQ_MACOS(&kp _N0 &kp _N0 &kp _NB &kp _N0)
      #endif
    #elif OPERATING_SYSTEM == 'W'
      #ifdef WORLD_USE_COMPOSE
        #define WORLD_USE_COMPOSE_FOR_world_sign_angle_degree
        COMPOSE_SEQ_WINDOWS(&kp KP_N0 &kp KP_N1 &kp KP_N7 &kp KP_N6)
      #else
        UNICODE_SEQ_WINDOWS(&kp _N0 &kp _NB &kp _N0)
      #endif
    #endif
  )
  world_sign_angle_degree: world_sign_angle_degree {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_sign_angle_degree_macro>, <&world_sign_angle_degree_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_sign_angle_degree
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(world_sign_angle_pi_macro, /* π */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N3 &kp _NC &kp _N0)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _N0 &kp _N3 &kp _NC &kp _N0)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N3 &kp _NC &kp _N0)
    #endif
  )
  world_sign_angle_pi: world_sign_angle_pi {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_sign_angle_pi_macro>, <&world_sign_angle_pi_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_sign_angle_pi
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  world_sign_angle: world_sign_angle {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_sign_angle_degree>, <&world_sign_angle_pi>;
    mods = <MOD_LSFT>;
  };
  UNICODE(world_sign_dash_emdash_macro, /* — */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N2 &kp _N0 &kp _N1 &kp _N4)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _N2 &kp _N0 &kp _N1 &kp _N4)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N2 &kp _N0 &kp _N1 &kp _N4)
    #endif
  )
  world_sign_dash_emdash: world_sign_dash_emdash {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_sign_dash_emdash_macro>, <&world_sign_dash_emdash_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_sign_dash_emdash
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(world_sign_dash_endash_macro, /* – */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N2 &kp _N0 &kp _N1 &kp _N3)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _N2 &kp _N0 &kp _N1 &kp _N3)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N2 &kp _N0 &kp _N1 &kp _N3)
    #endif
  )
  world_sign_dash_endash: world_sign_dash_endash {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_sign_dash_endash_macro>, <&world_sign_dash_endash_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_world_sign_dash_endash
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  world_sign_dash: world_sign_dash {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_sign_dash_emdash>, <&world_sign_dash_endash>;
    mods = <MOD_LSFT>;
  };

  //
  // transforms
  //
  world_i_base: world_i_base {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_i_acute>, <&world_i_LCTL>;
    mods = <(MOD_LCTL|MOD_RCTL|MOD_RSFT)>;
  };
  world_i_LCTL: world_i_LCTL {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_i_diaeresis>, <&world_i_RCTL>;
    mods = <(MOD_RCTL|MOD_RSFT)>;
  };
  world_i_RCTL: world_i_RCTL {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_i_circumflex>, <&world_i_grave>;
    mods = <(MOD_RSFT)>;
  };
  world_e_base: world_e_base {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_e_acute>, <&world_e_LALT>;
    mods = <(MOD_LALT|MOD_RALT|MOD_LCTL|MOD_RCTL|MOD_RSFT)>;
  };
  world_e_LALT: world_e_LALT {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_e_oe>, <&world_e_RALT>;
    mods = <(MOD_RALT|MOD_LCTL|MOD_RCTL|MOD_RSFT)>;
  };
  world_e_RALT: world_e_RALT {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_e_ae>, <&world_e_LCTL>;
    mods = <(MOD_LCTL|MOD_RCTL|MOD_RSFT)>;
  };
  world_e_LCTL: world_e_LCTL {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_e_diaeresis>, <&world_e_RCTL>;
    mods = <(MOD_RCTL|MOD_RSFT)>;
  };
  world_e_RCTL: world_e_RCTL {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_e_circumflex>, <&world_e_RSFT>;
    mods = <(MOD_RSFT)>;
  };
  world_e_RSFT: world_e_RSFT {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_e_grave>, <&world_e_LCTL_RSFT>;
    mods = <(MOD_LCTL|MOD_RCTL)>;
  };
  world_e_LCTL_RSFT: world_e_LCTL_RSFT {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_e_oe>, <&world_e_ae>;
    mods = <(MOD_RCTL)>;
  };
  world_a_base: world_a_base {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_a_acute>, <&world_a_LALT>;
    mods = <(MOD_LALT|MOD_RALT|MOD_LCTL|MOD_RCTL|MOD_RSFT)>;
  };
  world_a_LALT: world_a_LALT {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_a_tilde>, <&world_a_RALT>;
    mods = <(MOD_RALT|MOD_LCTL|MOD_RCTL|MOD_RSFT)>;
  };
  world_a_RALT: world_a_RALT {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_a_ring>, <&world_a_LCTL>;
    mods = <(MOD_LCTL|MOD_RCTL|MOD_RSFT)>;
  };
  world_a_LCTL: world_a_LCTL {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_a_diaeresis>, <&world_a_RCTL>;
    mods = <(MOD_RCTL|MOD_RSFT)>;
  };
  world_a_RCTL: world_a_RCTL {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_a_circumflex>, <&world_a_RSFT>;
    mods = <(MOD_RSFT)>;
  };
  world_a_RSFT: world_a_RSFT {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_a_grave>, <&world_a_LCTL_RSFT>;
    mods = <(MOD_LCTL|MOD_RCTL)>;
  };
  world_a_LCTL_RSFT: world_a_LCTL_RSFT {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_a_tilde>, <&world_a_ring>;
    mods = <(MOD_RCTL)>;
  };
  world_y_base: world_y_base {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_y_acute>, <&world_y_diaeresis>;
    mods = <(MOD_LCTL)>;
  };
  world_o_base: world_o_base {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_o_acute>, <&world_o_LALT>;
    mods = <(MOD_LALT|MOD_RALT|MOD_LCTL|MOD_RCTL|MOD_RSFT)>;
  };
  world_o_LALT: world_o_LALT {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_o_tilde>, <&world_o_RALT>;
    mods = <(MOD_RALT|MOD_LCTL|MOD_RCTL|MOD_RSFT)>;
  };
  world_o_RALT: world_o_RALT {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_o_slash>, <&world_o_LCTL>;
    mods = <(MOD_LCTL|MOD_RCTL|MOD_RSFT)>;
  };
  world_o_LCTL: world_o_LCTL {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_o_diaeresis>, <&world_o_RCTL>;
    mods = <(MOD_RCTL|MOD_RSFT)>;
  };
  world_o_RCTL: world_o_RCTL {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_o_circumflex>, <&world_o_RSFT>;
    mods = <(MOD_RSFT)>;
  };
  world_o_RSFT: world_o_RSFT {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_o_grave>, <&world_o_LCTL_RSFT>;
    mods = <(MOD_LCTL|MOD_RCTL)>;
  };
  world_o_LCTL_RSFT: world_o_LCTL_RSFT {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_o_tilde>, <&world_o_slash>;
    mods = <(MOD_RCTL)>;
  };
  world_u_base: world_u_base {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_u_acute>, <&world_u_LCTL>;
    mods = <(MOD_LCTL|MOD_RCTL|MOD_RSFT)>;
  };
  world_u_LCTL: world_u_LCTL {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_u_diaeresis>, <&world_u_RCTL>;
    mods = <(MOD_RCTL|MOD_RSFT)>;
  };
  world_u_RCTL: world_u_RCTL {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_u_circumflex>, <&world_u_grave>;
    mods = <(MOD_RSFT)>;
  };
  world_consonants_base: world_consonants_base {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_consonants_cedilla>, <&world_consonants_LCTL>;
    mods = <(MOD_LCTL|MOD_RCTL|MOD_RSFT)>;
  };
  world_consonants_LCTL: world_consonants_LCTL {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_consonants_eszett>, <&world_consonants_RCTL>;
    mods = <(MOD_RCTL|MOD_RSFT)>;
  };
  world_consonants_RCTL: world_consonants_RCTL {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_consonants_ntilde>, <&world_consonants_micro>;
    mods = <(MOD_RSFT)>;
  };
  world_quotes_left_base: world_quotes_left_base {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_quotes_left_angle>, <&world_quotes_left_LALT>;
    mods = <(MOD_LALT|MOD_RALT|MOD_LCTL|MOD_RCTL|MOD_RSFT)>;
  };
  world_quotes_left_LALT: world_quotes_left_LALT {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_quotes_left_corner1>, <&world_quotes_left_RALT>;
    mods = <(MOD_RALT|MOD_LCTL|MOD_RCTL|MOD_RSFT)>;
  };
  world_quotes_left_RALT: world_quotes_left_RALT {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_quotes_left_corner2>, <&world_quotes_left_LCTL>;
    mods = <(MOD_LCTL|MOD_RCTL|MOD_RSFT)>;
  };
  world_quotes_left_LCTL: world_quotes_left_LCTL {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_quotes_left_curly>, <&world_quotes_left_RCTL>;
    mods = <(MOD_RCTL|MOD_RSFT)>;
  };
  world_quotes_left_RCTL: world_quotes_left_RCTL {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_quotes_left_low>, <&world_quotes_left_RSFT>;
    mods = <(MOD_RSFT)>;
  };
  world_quotes_left_RSFT: world_quotes_left_RSFT {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_quotes_left_grave>, <&world_quotes_left_LCTL_RSFT>;
    mods = <(MOD_LCTL|MOD_RCTL)>;
  };
  world_quotes_left_LCTL_RSFT: world_quotes_left_LCTL_RSFT {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_quotes_left_corner1>, <&world_quotes_left_corner2>;
    mods = <(MOD_RCTL)>;
  };
  world_quotes_right_base: world_quotes_right_base {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_quotes_right_angle>, <&world_quotes_right_LALT>;
    mods = <(MOD_LALT|MOD_RALT|MOD_LCTL|MOD_RCTL|MOD_RSFT)>;
  };
  world_quotes_right_LALT: world_quotes_right_LALT {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_quotes_right_corner1>, <&world_quotes_right_RALT>;
    mods = <(MOD_RALT|MOD_LCTL|MOD_RCTL|MOD_RSFT)>;
  };
  world_quotes_right_RALT: world_quotes_right_RALT {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_quotes_right_corner2>, <&world_quotes_right_LCTL>;
    mods = <(MOD_LCTL|MOD_RCTL|MOD_RSFT)>;
  };
  world_quotes_right_LCTL: world_quotes_right_LCTL {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_quotes_right_curly>, <&world_quotes_right_RCTL>;
    mods = <(MOD_RCTL|MOD_RSFT)>;
  };
  world_quotes_right_RCTL: world_quotes_right_RCTL {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_quotes_right_low>, <&world_quotes_right_RSFT>;
    mods = <(MOD_RSFT)>;
  };
  world_quotes_right_RSFT: world_quotes_right_RSFT {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_quotes_right_grave>, <&world_quotes_right_LCTL_RSFT>;
    mods = <(MOD_LCTL|MOD_RCTL)>;
  };
  world_quotes_right_LCTL_RSFT: world_quotes_right_LCTL_RSFT {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_quotes_right_corner1>, <&world_quotes_right_corner2>;
    mods = <(MOD_RCTL)>;
  };
  world_currency_base: world_currency_base {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_currency_dollar>, <&world_currency_LALT>;
    mods = <(MOD_LALT|MOD_RALT|MOD_LCTL|MOD_RCTL|MOD_RSFT)>;
  };
  world_currency_LALT: world_currency_LALT {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_currency_yen>, <&world_currency_RALT>;
    mods = <(MOD_RALT|MOD_LCTL|MOD_RCTL|MOD_RSFT)>;
  };
  world_currency_RALT: world_currency_RALT {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_currency_won>, <&world_currency_LCTL>;
    mods = <(MOD_LCTL|MOD_RCTL|MOD_RSFT)>;
  };
  world_currency_LCTL: world_currency_LCTL {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_currency_euro>, <&world_currency_RCTL>;
    mods = <(MOD_RCTL|MOD_RSFT)>;
  };
  world_currency_RCTL: world_currency_RCTL {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_currency_pound>, <&world_currency_RSFT>;
    mods = <(MOD_RSFT)>;
  };
  world_currency_RSFT: world_currency_RSFT {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_currency_generic>, <&world_currency_LCTL_RSFT>;
    mods = <(MOD_LCTL|MOD_RCTL)>;
  };
  world_currency_LCTL_RSFT: world_currency_LCTL_RSFT {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_currency_yen>, <&world_currency_won>;
    mods = <(MOD_RCTL)>;
  };
  world_sign_base: world_sign_base {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&world_sign_copyright>, <&world_sign_trademark>;
    mods = <(MOD_LCTL)>;
  };

  //////////////////////////////////////////////////////////////////////////
  //
  // Emoji layer - modern age pictograms
  //
  //////////////////////////////////////////////////////////////////////////

  //
  // EMOJI_GENDER_SIGN_PRESET defines an Emoji gender sign for use as a
  // convenient inward-rolling shortcut on the home row of the layer.
  //
  #ifndef EMOJI_GENDER_SIGN_PRESET
  #define EMOJI_GENDER_SIGN_PRESET 'N' // neutral
  //#define EMOJI_GENDER_SIGN_PRESET 'M' // male
  //#define EMOJI_GENDER_SIGN_PRESET 'F' // female
  #endif

  //
  // EMOJI_SKIN_TONE_PRESET defines an Emoji skin tone for use as a
  // convenient inward-rolling shortcut on the home row of the layer.
  //
  #ifndef EMOJI_SKIN_TONE_PRESET
  #define EMOJI_SKIN_TONE_PRESET 'N' // neutral
  //#define EMOJI_SKIN_TONE_PRESET 'L' // light_skin_tone
  //#define EMOJI_SKIN_TONE_PRESET 'l' // medium_light_skin_tone
  //#define EMOJI_SKIN_TONE_PRESET 'M' // medium_skin_tone
  //#define EMOJI_SKIN_TONE_PRESET 'd' // medium_dark_skin_tone
  //#define EMOJI_SKIN_TONE_PRESET 'D' // dark_skin_tone
  #endif

  //
  // EMOJI_HAIR_STYLE_PRESET defines an Emoji hair style for use as a
  // convenient inward-rolling shortcut on the home row of the layer.
  //
  #ifndef EMOJI_HAIR_STYLE_PRESET
  #define EMOJI_HAIR_STYLE_PRESET 'N' // neutral
  //#define EMOJI_HAIR_STYLE_PRESET 'B' // bald
  //#define EMOJI_HAIR_STYLE_PRESET 'R' // red_hair
  //#define EMOJI_HAIR_STYLE_PRESET 'C' // curly_hair
  //#define EMOJI_HAIR_STYLE_PRESET 'W' // white_hair
  #endif

  //
  // NOTE: edit the emoji.yaml file and run `rake` to generate this:
  //

  //
  // codepoints
  //
  UNICODE(emoji_zwj_macro, /* ‍ */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N2 &kp _N0 &kp _N0 &kp _ND)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _N2 &kp _N0 &kp _N0 &kp _ND)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N2 &kp _N0 &kp _N0 &kp _ND)
    #endif
  )
  emoji_zwj: emoji_zwj {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_zwj_macro>, <&emoji_zwj_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_zwj
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(emoji_male_sign_macro, /* ♂️ */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N2 &kp _N6 &kp _N4 &kp _N2), <&macro_wait_time UNICODE_SEQ_DELAY>, UNICODE_SEQ_LINUX(&kp _NF &kp _NE &kp _N0 &kp _NF)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _N2 &kp _N6 &kp _N4 &kp _N2), <&macro_wait_time UNICODE_SEQ_DELAY>, UNICODE_SEQ_MACOS(&kp _NF &kp _NE &kp _N0 &kp _NF)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N2 &kp _N6 &kp _N4 &kp _N2), <&macro_wait_time UNICODE_SEQ_DELAY>, UNICODE_SEQ_WINDOWS(&kp _N0 &kp _NF &kp _NE &kp _N0 &kp _NF)
    #endif
  )
  emoji_male_sign: emoji_male_sign {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_male_sign_macro>, <&emoji_male_sign_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_male_sign
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(emoji_female_sign_macro, /* ♀️ */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N2 &kp _N6 &kp _N4 &kp _N0), <&macro_wait_time UNICODE_SEQ_DELAY>, UNICODE_SEQ_LINUX(&kp _NF &kp _NE &kp _N0 &kp _NF)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _N2 &kp _N6 &kp _N4 &kp _N0), <&macro_wait_time UNICODE_SEQ_DELAY>, UNICODE_SEQ_MACOS(&kp _NF &kp _NE &kp _N0 &kp _NF)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N2 &kp _N6 &kp _N4 &kp _N0), <&macro_wait_time UNICODE_SEQ_DELAY>, UNICODE_SEQ_WINDOWS(&kp _N0 &kp _NF &kp _NE &kp _N0 &kp _NF)
    #endif
  )
  emoji_female_sign: emoji_female_sign {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_female_sign_macro>, <&emoji_female_sign_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_female_sign
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(emoji_right_arrow_macro, /* ➡️ */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N2 &kp _N7 &kp _NA &kp _N1), <&macro_wait_time UNICODE_SEQ_DELAY>, UNICODE_SEQ_LINUX(&kp _NF &kp _NE &kp _N0 &kp _NF)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _N2 &kp _N7 &kp _NA &kp _N1), <&macro_wait_time UNICODE_SEQ_DELAY>, UNICODE_SEQ_MACOS(&kp _NF &kp _NE &kp _N0 &kp _NF)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N2 &kp _N7 &kp _NA &kp _N1), <&macro_wait_time UNICODE_SEQ_DELAY>, UNICODE_SEQ_WINDOWS(&kp _N0 &kp _NF &kp _NE &kp _N0 &kp _NF)
    #endif
  )
  emoji_right_arrow: emoji_right_arrow {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_right_arrow_macro>, <&emoji_right_arrow_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_right_arrow
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(emoji_left_arrow_macro, /* ⬅️ */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N2 &kp _NB &kp _N0 &kp _N5), <&macro_wait_time UNICODE_SEQ_DELAY>, UNICODE_SEQ_LINUX(&kp _NF &kp _NE &kp _N0 &kp _NF)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _N2 &kp _NB &kp _N0 &kp _N5), <&macro_wait_time UNICODE_SEQ_DELAY>, UNICODE_SEQ_MACOS(&kp _NF &kp _NE &kp _N0 &kp _NF)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N2 &kp _NB &kp _N0 &kp _N5), <&macro_wait_time UNICODE_SEQ_DELAY>, UNICODE_SEQ_WINDOWS(&kp _N0 &kp _NF &kp _NE &kp _N0 &kp _NF)
    #endif
  )
  emoji_left_arrow: emoji_left_arrow {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_left_arrow_macro>, <&emoji_left_arrow_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_left_arrow
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(emoji_rainbow_macro, /* 🌈 */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N1 &kp _NF &kp _N3 &kp _N0 &kp _N8)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _ND &kp _N8 &kp _N3 &kp _NC &kp _ND &kp _NF &kp _N0 &kp _N8)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N1 &kp _NF &kp _N3 &kp _N0 &kp _N8)
    #endif
  )
  emoji_rainbow: emoji_rainbow {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_rainbow_macro>, <&emoji_rainbow_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_rainbow
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(emoji_cloudy_macro, /* ️☁️ */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _NF &kp _NE &kp _N0 &kp _NF), <&macro_wait_time UNICODE_SEQ_DELAY>, UNICODE_SEQ_LINUX(&kp _N2 &kp _N6 &kp _N0 &kp _N1), UNICODE_SEQ_LINUX(&kp _NF &kp _NE &kp _N0 &kp _NF)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _NF &kp _NE &kp _N0 &kp _NF), <&macro_wait_time UNICODE_SEQ_DELAY>, UNICODE_SEQ_MACOS(&kp _N2 &kp _N6 &kp _N0 &kp _N1), UNICODE_SEQ_MACOS(&kp _NF &kp _NE &kp _N0 &kp _NF)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _NF &kp _NE &kp _N0 &kp _NF), <&macro_wait_time UNICODE_SEQ_DELAY>, UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N2 &kp _N6 &kp _N0 &kp _N1), UNICODE_SEQ_WINDOWS(&kp _N0 &kp _NF &kp _NE &kp _N0 &kp _NF)
    #endif
  )
  emoji_cloudy: emoji_cloudy {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_cloudy_macro>, <&emoji_cloudy_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_cloudy
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(emoji_mostly_cloudy_macro, /* 🌥 */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N1 &kp _NF &kp _N3 &kp _N2 &kp _N5)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _ND &kp _N8 &kp _N3 &kp _NC &kp _ND &kp _NF &kp _N2 &kp _N5)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N1 &kp _NF &kp _N3 &kp _N2 &kp _N5)
    #endif
  )
  emoji_mostly_cloudy: emoji_mostly_cloudy {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_mostly_cloudy_macro>, <&emoji_mostly_cloudy_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_mostly_cloudy
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(emoji_partly_cloudy_macro, /* ⛅ */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N2 &kp _N6 &kp _NC &kp _N5)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _N2 &kp _N6 &kp _NC &kp _N5)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N2 &kp _N6 &kp _NC &kp _N5)
    #endif
  )
  emoji_partly_cloudy: emoji_partly_cloudy {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_partly_cloudy_macro>, <&emoji_partly_cloudy_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_partly_cloudy
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(emoji_mostly_sunny_macro, /* ️🌤️ */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _NF &kp _NE &kp _N0 &kp _NF), <&macro_wait_time UNICODE_SEQ_DELAY>, UNICODE_SEQ_LINUX(&kp _N1 &kp _NF &kp _N3 &kp _N2 &kp _N4), UNICODE_SEQ_LINUX(&kp _NF &kp _NE &kp _N0 &kp _NF)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _NF &kp _NE &kp _N0 &kp _NF), <&macro_wait_time UNICODE_SEQ_DELAY>, UNICODE_SEQ_MACOS(&kp _ND &kp _N8 &kp _N3 &kp _NC &kp _ND &kp _NF &kp _N2 &kp _N4), UNICODE_SEQ_MACOS(&kp _NF &kp _NE &kp _N0 &kp _NF)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _NF &kp _NE &kp _N0 &kp _NF), <&macro_wait_time UNICODE_SEQ_DELAY>, UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N1 &kp _NF &kp _N3 &kp _N2 &kp _N4), UNICODE_SEQ_WINDOWS(&kp _N0 &kp _NF &kp _NE &kp _N0 &kp _NF)
    #endif
  )
  emoji_mostly_sunny: emoji_mostly_sunny {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_mostly_sunny_macro>, <&emoji_mostly_sunny_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_mostly_sunny
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(emoji_sunny_macro, /* ☀️ */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N2 &kp _N6 &kp _N0 &kp _N0), <&macro_wait_time UNICODE_SEQ_DELAY>, UNICODE_SEQ_LINUX(&kp _NF &kp _NE &kp _N0 &kp _NF)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _N2 &kp _N6 &kp _N0 &kp _N0), <&macro_wait_time UNICODE_SEQ_DELAY>, UNICODE_SEQ_MACOS(&kp _NF &kp _NE &kp _N0 &kp _NF)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N2 &kp _N6 &kp _N0 &kp _N0), <&macro_wait_time UNICODE_SEQ_DELAY>, UNICODE_SEQ_WINDOWS(&kp _N0 &kp _NF &kp _NE &kp _N0 &kp _NF)
    #endif
  )
  emoji_sunny: emoji_sunny {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_sunny_macro>, <&emoji_sunny_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_sunny
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(emoji_sunrise_macro, /* 🌅 */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N1 &kp _NF &kp _N3 &kp _N0 &kp _N5)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _ND &kp _N8 &kp _N3 &kp _NC &kp _ND &kp _NF &kp _N0 &kp _N5)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N1 &kp _NF &kp _N3 &kp _N0 &kp _N5)
    #endif
  )
  emoji_sunrise: emoji_sunrise {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_sunrise_macro>, <&emoji_sunrise_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_sunrise
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(emoji_sunrise_mountains_macro, /* 🌄 */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N1 &kp _NF &kp _N3 &kp _N0 &kp _N4)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _ND &kp _N8 &kp _N3 &kp _NC &kp _ND &kp _NF &kp _N0 &kp _N4)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N1 &kp _NF &kp _N3 &kp _N0 &kp _N4)
    #endif
  )
  emoji_sunrise_mountains: emoji_sunrise_mountains {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_sunrise_mountains_macro>, <&emoji_sunrise_mountains_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_sunrise_mountains
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(emoji_cityscape_macro, /* ️🏙️ */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _NF &kp _NE &kp _N0 &kp _NF), <&macro_wait_time UNICODE_SEQ_DELAY>, UNICODE_SEQ_LINUX(&kp _N1 &kp _NF &kp _N3 &kp _ND &kp _N9), UNICODE_SEQ_LINUX(&kp _NF &kp _NE &kp _N0 &kp _NF)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _NF &kp _NE &kp _N0 &kp _NF), <&macro_wait_time UNICODE_SEQ_DELAY>, UNICODE_SEQ_MACOS(&kp _ND &kp _N8 &kp _N3 &kp _NC &kp _ND &kp _NF &kp _ND &kp _N9), UNICODE_SEQ_MACOS(&kp _NF &kp _NE &kp _N0 &kp _NF)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _NF &kp _NE &kp _N0 &kp _NF), <&macro_wait_time UNICODE_SEQ_DELAY>, UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N1 &kp _NF &kp _N3 &kp _ND &kp _N9), UNICODE_SEQ_WINDOWS(&kp _N0 &kp _NF &kp _NE &kp _N0 &kp _NF)
    #endif
  )
  emoji_cityscape: emoji_cityscape {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_cityscape_macro>, <&emoji_cityscape_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_cityscape
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(emoji_cityscape_dusk_macro, /* ️🌇 */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _NF &kp _NE &kp _N0 &kp _NF), <&macro_wait_time UNICODE_SEQ_DELAY>, UNICODE_SEQ_LINUX(&kp _N1 &kp _NF &kp _N3 &kp _N0 &kp _N7)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _NF &kp _NE &kp _N0 &kp _NF), <&macro_wait_time UNICODE_SEQ_DELAY>, UNICODE_SEQ_MACOS(&kp _ND &kp _N8 &kp _N3 &kp _NC &kp _ND &kp _NF &kp _N0 &kp _N7)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _NF &kp _NE &kp _N0 &kp _NF), <&macro_wait_time UNICODE_SEQ_DELAY>, UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N1 &kp _NF &kp _N3 &kp _N0 &kp _N7)
    #endif
  )
  emoji_cityscape_dusk: emoji_cityscape_dusk {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_cityscape_dusk_macro>, <&emoji_cityscape_dusk_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_cityscape_dusk
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(emoji_cityscape_night_macro, /* 🌃 */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N1 &kp _NF &kp _N3 &kp _N0 &kp _N3)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _ND &kp _N8 &kp _N3 &kp _NC &kp _ND &kp _NF &kp _N0 &kp _N3)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N1 &kp _NF &kp _N3 &kp _N0 &kp _N3)
    #endif
  )
  emoji_cityscape_night: emoji_cityscape_night {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_cityscape_night_macro>, <&emoji_cityscape_night_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_cityscape_night
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(emoji_light_skin_tone_macro, /* 🏻 */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N1 &kp _NF &kp _N3 &kp _NF &kp _NB)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _ND &kp _N8 &kp _N3 &kp _NC &kp _ND &kp _NF &kp _NF &kp _NB)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N1 &kp _NF &kp _N3 &kp _NF &kp _NB)
    #endif
  )
  emoji_light_skin_tone: emoji_light_skin_tone {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_light_skin_tone_macro>, <&emoji_light_skin_tone_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_light_skin_tone
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(emoji_medium_light_skin_tone_macro, /* 🏼 */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N1 &kp _NF &kp _N3 &kp _NF &kp _NC)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _ND &kp _N8 &kp _N3 &kp _NC &kp _ND &kp _NF &kp _NF &kp _NC)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N1 &kp _NF &kp _N3 &kp _NF &kp _NC)
    #endif
  )
  emoji_medium_light_skin_tone: emoji_medium_light_skin_tone {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_medium_light_skin_tone_macro>, <&emoji_medium_light_skin_tone_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_medium_light_skin_tone
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(emoji_medium_skin_tone_macro, /* 🏽 */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N1 &kp _NF &kp _N3 &kp _NF &kp _ND)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _ND &kp _N8 &kp _N3 &kp _NC &kp _ND &kp _NF &kp _NF &kp _ND)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N1 &kp _NF &kp _N3 &kp _NF &kp _ND)
    #endif
  )
  emoji_medium_skin_tone: emoji_medium_skin_tone {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_medium_skin_tone_macro>, <&emoji_medium_skin_tone_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_medium_skin_tone
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(emoji_medium_dark_skin_tone_macro, /* 🏾 */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N1 &kp _NF &kp _N3 &kp _NF &kp _NE)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _ND &kp _N8 &kp _N3 &kp _NC &kp _ND &kp _NF &kp _NF &kp _NE)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N1 &kp _NF &kp _N3 &kp _NF &kp _NE)
    #endif
  )
  emoji_medium_dark_skin_tone: emoji_medium_dark_skin_tone {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_medium_dark_skin_tone_macro>, <&emoji_medium_dark_skin_tone_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_medium_dark_skin_tone
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(emoji_dark_skin_tone_macro, /* 🏿 */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N1 &kp _NF &kp _N3 &kp _NF &kp _NF)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _ND &kp _N8 &kp _N3 &kp _NC &kp _ND &kp _NF &kp _NF &kp _NF)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N1 &kp _NF &kp _N3 &kp _NF &kp _NF)
    #endif
  )
  emoji_dark_skin_tone: emoji_dark_skin_tone {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_dark_skin_tone_macro>, <&emoji_dark_skin_tone_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_dark_skin_tone
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(emoji_baby_bottle_macro, /* 🍼 */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N1 &kp _NF &kp _N3 &kp _N7 &kp _NC)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _ND &kp _N8 &kp _N3 &kp _NC &kp _ND &kp _NF &kp _N7 &kp _NC)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N1 &kp _NF &kp _N3 &kp _N7 &kp _NC)
    #endif
  )
  emoji_baby_bottle: emoji_baby_bottle {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_baby_bottle_macro>, <&emoji_baby_bottle_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_baby_bottle
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(emoji_baby_macro, /* 👶 */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N1 &kp _NF &kp _N4 &kp _N7 &kp _N6)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _ND &kp _N8 &kp _N3 &kp _ND &kp _ND &kp _NC &kp _N7 &kp _N6)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N1 &kp _NF &kp _N4 &kp _N7 &kp _N6)
    #endif
  )
  emoji_baby: emoji_baby {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_baby_macro>, <&emoji_baby_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_baby
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(emoji_boy_macro, /* 👦 */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N1 &kp _NF &kp _N4 &kp _N6 &kp _N6)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _ND &kp _N8 &kp _N3 &kp _ND &kp _ND &kp _NC &kp _N6 &kp _N6)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N1 &kp _NF &kp _N4 &kp _N6 &kp _N6)
    #endif
  )
  emoji_boy: emoji_boy {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_boy_macro>, <&emoji_boy_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_boy
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(emoji_girl_macro, /* 👧 */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N1 &kp _NF &kp _N4 &kp _N6 &kp _N7)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _ND &kp _N8 &kp _N3 &kp _ND &kp _ND &kp _NC &kp _N6 &kp _N7)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N1 &kp _NF &kp _N4 &kp _N6 &kp _N7)
    #endif
  )
  emoji_girl: emoji_girl {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_girl_macro>, <&emoji_girl_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_girl
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(emoji_man_macro, /* 👨 */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N1 &kp _NF &kp _N4 &kp _N6 &kp _N8)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _ND &kp _N8 &kp _N3 &kp _ND &kp _ND &kp _NC &kp _N6 &kp _N8)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N1 &kp _NF &kp _N4 &kp _N6 &kp _N8)
    #endif
  )
  emoji_man: emoji_man {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_man_macro>, <&emoji_man_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_man
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(emoji_woman_macro, /* 👩 */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N1 &kp _NF &kp _N4 &kp _N6 &kp _N9)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _ND &kp _N8 &kp _N3 &kp _ND &kp _ND &kp _NC &kp _N6 &kp _N9)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N1 &kp _NF &kp _N4 &kp _N6 &kp _N9)
    #endif
  )
  emoji_woman: emoji_woman {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_woman_macro>, <&emoji_woman_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_woman
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(emoji_old_man_macro, /* 👴 */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N1 &kp _NF &kp _N4 &kp _N7 &kp _N4)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _ND &kp _N8 &kp _N3 &kp _ND &kp _ND &kp _NC &kp _N7 &kp _N4)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N1 &kp _NF &kp _N4 &kp _N7 &kp _N4)
    #endif
  )
  emoji_old_man: emoji_old_man {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_old_man_macro>, <&emoji_old_man_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_old_man
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(emoji_old_woman_macro, /* 👵 */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N1 &kp _NF &kp _N4 &kp _N7 &kp _N5)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _ND &kp _N8 &kp _N3 &kp _ND &kp _ND &kp _NC &kp _N7 &kp _N5)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N1 &kp _NF &kp _N4 &kp _N7 &kp _N5)
    #endif
  )
  emoji_old_woman: emoji_old_woman {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_old_woman_macro>, <&emoji_old_woman_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_old_woman
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(emoji_white_hair_macro, /* 🦳 */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N1 &kp _NF &kp _N9 &kp _NB &kp _N3)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _ND &kp _N8 &kp _N3 &kp _NE &kp _ND &kp _ND &kp _NB &kp _N3)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N1 &kp _NF &kp _N9 &kp _NB &kp _N3)
    #endif
  )
  emoji_white_hair: emoji_white_hair {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_white_hair_macro>, <&emoji_white_hair_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_white_hair
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(emoji_curly_hair_macro, /* 🦱 */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N1 &kp _NF &kp _N9 &kp _NB &kp _N1)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _ND &kp _N8 &kp _N3 &kp _NE &kp _ND &kp _ND &kp _NB &kp _N1)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N1 &kp _NF &kp _N9 &kp _NB &kp _N1)
    #endif
  )
  emoji_curly_hair: emoji_curly_hair {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_curly_hair_macro>, <&emoji_curly_hair_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_curly_hair
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(emoji_red_hair_macro, /* 🦰 */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N1 &kp _NF &kp _N9 &kp _NB &kp _N0)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _ND &kp _N8 &kp _N3 &kp _NE &kp _ND &kp _ND &kp _NB &kp _N0)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N1 &kp _NF &kp _N9 &kp _NB &kp _N0)
    #endif
  )
  emoji_red_hair: emoji_red_hair {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_red_hair_macro>, <&emoji_red_hair_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_red_hair
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(emoji_bald_macro, /* 🦲 */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N1 &kp _NF &kp _N9 &kp _NB &kp _N2)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _ND &kp _N8 &kp _N3 &kp _NE &kp _ND &kp _ND &kp _NB &kp _N2)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N1 &kp _NF &kp _N9 &kp _NB &kp _N2)
    #endif
  )
  emoji_bald: emoji_bald {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_bald_macro>, <&emoji_bald_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_bald
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(emoji_new_moon_macro, /* 🌑 */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N1 &kp _NF &kp _N3 &kp _N1 &kp _N1)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _ND &kp _N8 &kp _N3 &kp _NC &kp _ND &kp _NF &kp _N1 &kp _N1)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N1 &kp _NF &kp _N3 &kp _N1 &kp _N1)
    #endif
  )
  emoji_new_moon: emoji_new_moon {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_new_moon_macro>, <&emoji_new_moon_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_new_moon
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(emoji_waxing_crescent_moon_macro, /* 🌒 */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N1 &kp _NF &kp _N3 &kp _N1 &kp _N2)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _ND &kp _N8 &kp _N3 &kp _NC &kp _ND &kp _NF &kp _N1 &kp _N2)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N1 &kp _NF &kp _N3 &kp _N1 &kp _N2)
    #endif
  )
  emoji_waxing_crescent_moon: emoji_waxing_crescent_moon {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_waxing_crescent_moon_macro>, <&emoji_waxing_crescent_moon_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_waxing_crescent_moon
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(emoji_first_quarter_moon_macro, /* 🌓 */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N1 &kp _NF &kp _N3 &kp _N1 &kp _N3)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _ND &kp _N8 &kp _N3 &kp _NC &kp _ND &kp _NF &kp _N1 &kp _N3)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N1 &kp _NF &kp _N3 &kp _N1 &kp _N3)
    #endif
  )
  emoji_first_quarter_moon: emoji_first_quarter_moon {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_first_quarter_moon_macro>, <&emoji_first_quarter_moon_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_first_quarter_moon
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(emoji_waxing_gibbous_moon_macro, /* 🌔 */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N1 &kp _NF &kp _N3 &kp _N1 &kp _N4)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _ND &kp _N8 &kp _N3 &kp _NC &kp _ND &kp _NF &kp _N1 &kp _N4)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N1 &kp _NF &kp _N3 &kp _N1 &kp _N4)
    #endif
  )
  emoji_waxing_gibbous_moon: emoji_waxing_gibbous_moon {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_waxing_gibbous_moon_macro>, <&emoji_waxing_gibbous_moon_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_waxing_gibbous_moon
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(emoji_full_moon_macro, /* 🌕 */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N1 &kp _NF &kp _N3 &kp _N1 &kp _N5)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _ND &kp _N8 &kp _N3 &kp _NC &kp _ND &kp _NF &kp _N1 &kp _N5)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N1 &kp _NF &kp _N3 &kp _N1 &kp _N5)
    #endif
  )
  emoji_full_moon: emoji_full_moon {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_full_moon_macro>, <&emoji_full_moon_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_full_moon
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(emoji_waning_gibbous_moon_macro, /* 🌖 */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N1 &kp _NF &kp _N3 &kp _N1 &kp _N6)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _ND &kp _N8 &kp _N3 &kp _NC &kp _ND &kp _NF &kp _N1 &kp _N6)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N1 &kp _NF &kp _N3 &kp _N1 &kp _N6)
    #endif
  )
  emoji_waning_gibbous_moon: emoji_waning_gibbous_moon {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_waning_gibbous_moon_macro>, <&emoji_waning_gibbous_moon_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_waning_gibbous_moon
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(emoji_last_quarter_moon_macro, /* 🌗 */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N1 &kp _NF &kp _N3 &kp _N1 &kp _N7)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _ND &kp _N8 &kp _N3 &kp _NC &kp _ND &kp _NF &kp _N1 &kp _N7)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N1 &kp _NF &kp _N3 &kp _N1 &kp _N7)
    #endif
  )
  emoji_last_quarter_moon: emoji_last_quarter_moon {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_last_quarter_moon_macro>, <&emoji_last_quarter_moon_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_last_quarter_moon
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(emoji_waning_crescent_moon_macro, /* 🌘 */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N1 &kp _NF &kp _N3 &kp _N1 &kp _N8)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _ND &kp _N8 &kp _N3 &kp _NC &kp _ND &kp _NF &kp _N1 &kp _N8)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N1 &kp _NF &kp _N3 &kp _N1 &kp _N8)
    #endif
  )
  emoji_waning_crescent_moon: emoji_waning_crescent_moon {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_waning_crescent_moon_macro>, <&emoji_waning_crescent_moon_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_waning_crescent_moon
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(emoji_tada_macro, /* 🎉 */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N1 &kp _NF &kp _N3 &kp _N8 &kp _N9)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _ND &kp _N8 &kp _N3 &kp _NC &kp _ND &kp _NF &kp _N8 &kp _N9)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N1 &kp _NF &kp _N3 &kp _N8 &kp _N9)
    #endif
  )
  emoji_tada: emoji_tada {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_tada_macro>, <&emoji_tada_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_tada
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(emoji_heart_macro, /* ️❤️ */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _NF &kp _NE &kp _N0 &kp _NF), <&macro_wait_time UNICODE_SEQ_DELAY>, UNICODE_SEQ_LINUX(&kp _N2 &kp _N7 &kp _N6 &kp _N4), UNICODE_SEQ_LINUX(&kp _NF &kp _NE &kp _N0 &kp _NF)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _NF &kp _NE &kp _N0 &kp _NF), <&macro_wait_time UNICODE_SEQ_DELAY>, UNICODE_SEQ_MACOS(&kp _N2 &kp _N7 &kp _N6 &kp _N4), UNICODE_SEQ_MACOS(&kp _NF &kp _NE &kp _N0 &kp _NF)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _NF &kp _NE &kp _N0 &kp _NF), <&macro_wait_time UNICODE_SEQ_DELAY>, UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N2 &kp _N7 &kp _N6 &kp _N4), UNICODE_SEQ_WINDOWS(&kp _N0 &kp _NF &kp _NE &kp _N0 &kp _NF)
    #endif
  )
  emoji_heart: emoji_heart {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_heart_macro>, <&emoji_heart_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_heart
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(emoji_fire_macro, /* 🔥 */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N1 &kp _NF &kp _N5 &kp _N2 &kp _N5)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _ND &kp _N8 &kp _N3 &kp _ND &kp _ND &kp _ND &kp _N2 &kp _N5)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N1 &kp _NF &kp _N5 &kp _N2 &kp _N5)
    #endif
  )
  emoji_fire: emoji_fire {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_fire_macro>, <&emoji_fire_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_fire
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(emoji_muscle_macro, /* 💪 */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N1 &kp _NF &kp _N4 &kp _NA &kp _NA)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _ND &kp _N8 &kp _N3 &kp _ND &kp _ND &kp _NC &kp _NA &kp _NA)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N1 &kp _NF &kp _N4 &kp _NA &kp _NA)
    #endif
  )
  emoji_muscle: emoji_muscle {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_muscle_macro>, <&emoji_muscle_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_muscle
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(emoji_person_climbing_macro, /* 🧗 */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N1 &kp _NF &kp _N9 &kp _ND &kp _N7)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _ND &kp _N8 &kp _N3 &kp _NE &kp _ND &kp _ND &kp _ND &kp _N7)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N1 &kp _NF &kp _N9 &kp _ND &kp _N7)
    #endif
  )
  emoji_person_climbing: emoji_person_climbing {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_person_climbing_macro>, <&emoji_person_climbing_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_person_climbing
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(emoji_lab_coat_macro, /* 🥼 */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N1 &kp _NF &kp _N9 &kp _N7 &kp _NC)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _ND &kp _N8 &kp _N3 &kp _NE &kp _ND &kp _ND &kp _N7 &kp _NC)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N1 &kp _NF &kp _N9 &kp _N7 &kp _NC)
    #endif
  )
  emoji_lab_coat: emoji_lab_coat {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_lab_coat_macro>, <&emoji_lab_coat_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_lab_coat
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(emoji_rocket_macro, /* 🚀 */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N1 &kp _NF &kp _N6 &kp _N8 &kp _N0)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _ND &kp _N8 &kp _N3 &kp _ND &kp _ND &kp _NE &kp _N8 &kp _N0)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N1 &kp _NF &kp _N6 &kp _N8 &kp _N0)
    #endif
  )
  emoji_rocket: emoji_rocket {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_rocket_macro>, <&emoji_rocket_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_rocket
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(emoji_joy_macro, /* 😂 */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N1 &kp _NF &kp _N6 &kp _N0 &kp _N2)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _ND &kp _N8 &kp _N3 &kp _ND &kp _ND &kp _NE &kp _N0 &kp _N2)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N1 &kp _NF &kp _N6 &kp _N0 &kp _N2)
    #endif
  )
  emoji_joy: emoji_joy {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_joy_macro>, <&emoji_joy_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_joy
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(emoji_rofl_macro, /* 🤣 */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N1 &kp _NF &kp _N9 &kp _N2 &kp _N3)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _ND &kp _N8 &kp _N3 &kp _NE &kp _ND &kp _ND &kp _N2 &kp _N3)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N1 &kp _NF &kp _N9 &kp _N2 &kp _N3)
    #endif
  )
  emoji_rofl: emoji_rofl {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_rofl_macro>, <&emoji_rofl_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_rofl
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(emoji_star_struck_macro, /* 🤩 */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N1 &kp _NF &kp _N9 &kp _N2 &kp _N9)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _ND &kp _N8 &kp _N3 &kp _NE &kp _ND &kp _ND &kp _N2 &kp _N9)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N1 &kp _NF &kp _N9 &kp _N2 &kp _N9)
    #endif
  )
  emoji_star_struck: emoji_star_struck {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_star_struck_macro>, <&emoji_star_struck_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_star_struck
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(emoji_love_struck_macro, /* 😍 */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N1 &kp _NF &kp _N6 &kp _N0 &kp _ND)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _ND &kp _N8 &kp _N3 &kp _ND &kp _ND &kp _NE &kp _N0 &kp _ND)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N1 &kp _NF &kp _N6 &kp _N0 &kp _ND)
    #endif
  )
  emoji_love_struck: emoji_love_struck {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_love_struck_macro>, <&emoji_love_struck_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_love_struck
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(emoji_saluting_face_macro, /* 🫡 */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N1 &kp _NF &kp _NA &kp _NE &kp _N1)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _ND &kp _N8 &kp _N3 &kp _NE &kp _ND &kp _NE &kp _NE &kp _N1)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N1 &kp _NF &kp _NA &kp _NE &kp _N1)
    #endif
  )
  emoji_saluting_face: emoji_saluting_face {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_saluting_face_macro>, <&emoji_saluting_face_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_saluting_face
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(emoji_shocked_face_macro, /* 🤯 */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N1 &kp _NF &kp _N9 &kp _N2 &kp _NF)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _ND &kp _N8 &kp _N3 &kp _NE &kp _ND &kp _ND &kp _N2 &kp _NF)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N1 &kp _NF &kp _N9 &kp _N2 &kp _NF)
    #endif
  )
  emoji_shocked_face: emoji_shocked_face {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_shocked_face_macro>, <&emoji_shocked_face_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_shocked_face
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(emoji_cold_sweat_macro, /* 😰 */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N1 &kp _NF &kp _N6 &kp _N3 &kp _N0)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _ND &kp _N8 &kp _N3 &kp _ND &kp _ND &kp _NE &kp _N3 &kp _N0)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N1 &kp _NF &kp _N6 &kp _N3 &kp _N0)
    #endif
  )
  emoji_cold_sweat: emoji_cold_sweat {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_cold_sweat_macro>, <&emoji_cold_sweat_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_cold_sweat
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(emoji_monocle_face_macro, /* 🧐 */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N1 &kp _NF &kp _N9 &kp _ND &kp _N0)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _ND &kp _N8 &kp _N3 &kp _NE &kp _ND &kp _ND &kp _ND &kp _N0)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N1 &kp _NF &kp _N9 &kp _ND &kp _N0)
    #endif
  )
  emoji_monocle_face: emoji_monocle_face {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_monocle_face_macro>, <&emoji_monocle_face_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_monocle_face
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(emoji_snap_fingers_macro, /* 🫰 */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N1 &kp _NF &kp _NA &kp _NF &kp _N0)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _ND &kp _N8 &kp _N3 &kp _NE &kp _ND &kp _NE &kp _NF &kp _N0)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N1 &kp _NF &kp _NA &kp _NF &kp _N0)
    #endif
  )
  emoji_snap_fingers: emoji_snap_fingers {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_snap_fingers_macro>, <&emoji_snap_fingers_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_snap_fingers
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(emoji_ok_hand_macro, /* 👌 */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N1 &kp _NF &kp _N4 &kp _N4 &kp _NC)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _ND &kp _N8 &kp _N3 &kp _ND &kp _ND &kp _NC &kp _N4 &kp _NC)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N1 &kp _NF &kp _N4 &kp _N4 &kp _NC)
    #endif
  )
  emoji_ok_hand: emoji_ok_hand {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_ok_hand_macro>, <&emoji_ok_hand_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_ok_hand
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(emoji_pray_macro, /* 🙏 */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N1 &kp _NF &kp _N6 &kp _N4 &kp _NF)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _ND &kp _N8 &kp _N3 &kp _ND &kp _ND &kp _NE &kp _N4 &kp _NF)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N1 &kp _NF &kp _N6 &kp _N4 &kp _NF)
    #endif
  )
  emoji_pray: emoji_pray {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_pray_macro>, <&emoji_pray_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_pray
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(emoji_sweat_smile_macro, /* 😅 */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N1 &kp _NF &kp _N6 &kp _N0 &kp _N5)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _ND &kp _N8 &kp _N3 &kp _ND &kp _ND &kp _NE &kp _N0 &kp _N5)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N1 &kp _NF &kp _N6 &kp _N0 &kp _N5)
    #endif
  )
  emoji_sweat_smile: emoji_sweat_smile {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_sweat_smile_macro>, <&emoji_sweat_smile_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_sweat_smile
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(emoji_disappointed_macro, /* 😞 */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N1 &kp _NF &kp _N6 &kp _N1 &kp _NE)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _ND &kp _N8 &kp _N3 &kp _ND &kp _ND &kp _NE &kp _N1 &kp _NE)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N1 &kp _NF &kp _N6 &kp _N1 &kp _NE)
    #endif
  )
  emoji_disappointed: emoji_disappointed {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_disappointed_macro>, <&emoji_disappointed_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_disappointed
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(emoji_thinking_macro, /* 🤔 */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N1 &kp _NF &kp _N9 &kp _N1 &kp _N4)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _ND &kp _N8 &kp _N3 &kp _NE &kp _ND &kp _ND &kp _N1 &kp _N4)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N1 &kp _NF &kp _N9 &kp _N1 &kp _N4)
    #endif
  )
  emoji_thinking: emoji_thinking {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_thinking_macro>, <&emoji_thinking_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_thinking
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(emoji_person_tipping_hand_macro, /* 💁 */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N1 &kp _NF &kp _N4 &kp _N8 &kp _N1)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _ND &kp _N8 &kp _N3 &kp _ND &kp _ND &kp _NC &kp _N8 &kp _N1)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N1 &kp _NF &kp _N4 &kp _N8 &kp _N1)
    #endif
  )
  emoji_person_tipping_hand: emoji_person_tipping_hand {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_person_tipping_hand_macro>, <&emoji_person_tipping_hand_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_person_tipping_hand
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(emoji_person_gesturing_ok_macro, /* 🙆 */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N1 &kp _NF &kp _N6 &kp _N4 &kp _N6)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _ND &kp _N8 &kp _N3 &kp _ND &kp _ND &kp _NE &kp _N4 &kp _N6)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N1 &kp _NF &kp _N6 &kp _N4 &kp _N6)
    #endif
  )
  emoji_person_gesturing_ok: emoji_person_gesturing_ok {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_person_gesturing_ok_macro>, <&emoji_person_gesturing_ok_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_person_gesturing_ok
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(emoji_person_bowing_macro, /* 🙇 */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N1 &kp _NF &kp _N6 &kp _N4 &kp _N7)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _ND &kp _N8 &kp _N3 &kp _ND &kp _ND &kp _NE &kp _N4 &kp _N7)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N1 &kp _NF &kp _N6 &kp _N4 &kp _N7)
    #endif
  )
  emoji_person_bowing: emoji_person_bowing {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_person_bowing_macro>, <&emoji_person_bowing_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_person_bowing
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(emoji_person_raising_hand_macro, /* 🙋 */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N1 &kp _NF &kp _N6 &kp _N4 &kp _NB)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _ND &kp _N8 &kp _N3 &kp _ND &kp _ND &kp _NE &kp _N4 &kp _NB)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N1 &kp _NF &kp _N6 &kp _N4 &kp _NB)
    #endif
  )
  emoji_person_raising_hand: emoji_person_raising_hand {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_person_raising_hand_macro>, <&emoji_person_raising_hand_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_person_raising_hand
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(emoji_person_gesturing_no_macro, /* 🙅 */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N1 &kp _NF &kp _N6 &kp _N4 &kp _N5)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _ND &kp _N8 &kp _N3 &kp _ND &kp _ND &kp _NE &kp _N4 &kp _N5)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N1 &kp _NF &kp _N6 &kp _N4 &kp _N5)
    #endif
  )
  emoji_person_gesturing_no: emoji_person_gesturing_no {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_person_gesturing_no_macro>, <&emoji_person_gesturing_no_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_person_gesturing_no
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(emoji_person_shrugging_macro, /* 🤷 */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N1 &kp _NF &kp _N9 &kp _N3 &kp _N7)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _ND &kp _N8 &kp _N3 &kp _NE &kp _ND &kp _ND &kp _N3 &kp _N7)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N1 &kp _NF &kp _N9 &kp _N3 &kp _N7)
    #endif
  )
  emoji_person_shrugging: emoji_person_shrugging {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_person_shrugging_macro>, <&emoji_person_shrugging_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_person_shrugging
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(emoji_check_macro, /* ✅ */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N2 &kp _N7 &kp _N0 &kp _N5)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _N2 &kp _N7 &kp _N0 &kp _N5)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N2 &kp _N7 &kp _N0 &kp _N5)
    #endif
  )
  emoji_check: emoji_check {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_check_macro>, <&emoji_check_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_check
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(emoji_100_macro, /* 💯 */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N1 &kp _NF &kp _N4 &kp _NA &kp _NF)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _ND &kp _N8 &kp _N3 &kp _ND &kp _ND &kp _NC &kp _NA &kp _NF)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N1 &kp _NF &kp _N4 &kp _NA &kp _NF)
    #endif
  )
  emoji_100: emoji_100 {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_100_macro>, <&emoji_100_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_100
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(emoji_warning_macro, /* ⚠️ */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N2 &kp _N6 &kp _NA &kp _N0), <&macro_wait_time UNICODE_SEQ_DELAY>, UNICODE_SEQ_LINUX(&kp _NF &kp _NE &kp _N0 &kp _NF)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _N2 &kp _N6 &kp _NA &kp _N0), <&macro_wait_time UNICODE_SEQ_DELAY>, UNICODE_SEQ_MACOS(&kp _NF &kp _NE &kp _N0 &kp _NF)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N2 &kp _N6 &kp _NA &kp _N0), <&macro_wait_time UNICODE_SEQ_DELAY>, UNICODE_SEQ_WINDOWS(&kp _N0 &kp _NF &kp _NE &kp _N0 &kp _NF)
    #endif
  )
  emoji_warning: emoji_warning {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_warning_macro>, <&emoji_warning_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_warning
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(emoji_cross_macro, /* ❌ */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N2 &kp _N7 &kp _N4 &kp _NC)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _N2 &kp _N7 &kp _N4 &kp _NC)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N2 &kp _N7 &kp _N4 &kp _NC)
    #endif
  )
  emoji_cross: emoji_cross {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_cross_macro>, <&emoji_cross_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_cross
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(emoji_question_macro, /* ❓ */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N2 &kp _N7 &kp _N5 &kp _N3)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _N2 &kp _N7 &kp _N5 &kp _N3)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N2 &kp _N7 &kp _N5 &kp _N3)
    #endif
  )
  emoji_question: emoji_question {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_question_macro>, <&emoji_question_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_question
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(emoji_astronaut_macro, /* 🧑‍🚀 */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N1 &kp _NF &kp _N9 &kp _ND &kp _N1), <&macro_wait_time UNICODE_SEQ_DELAY>, UNICODE_SEQ_LINUX(&kp _N2 &kp _N0 &kp _N0 &kp _ND), UNICODE_SEQ_LINUX(&kp _N1 &kp _NF &kp _N6 &kp _N8 &kp _N0)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _ND &kp _N8 &kp _N3 &kp _NE &kp _ND &kp _ND &kp _ND &kp _N1), <&macro_wait_time UNICODE_SEQ_DELAY>, UNICODE_SEQ_MACOS(&kp _N2 &kp _N0 &kp _N0 &kp _ND), UNICODE_SEQ_MACOS(&kp _ND &kp _N8 &kp _N3 &kp _ND &kp _ND &kp _NE &kp _N8 &kp _N0)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N1 &kp _NF &kp _N9 &kp _ND &kp _N1), <&macro_wait_time UNICODE_SEQ_DELAY>, UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N2 &kp _N0 &kp _N0 &kp _ND), UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N1 &kp _NF &kp _N6 &kp _N8 &kp _N0)
    #endif
  )
  emoji_astronaut: emoji_astronaut {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_astronaut_macro>, <&emoji_astronaut_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_astronaut
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(emoji_nerd_macro, /* 🤓 */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N1 &kp _NF &kp _N9 &kp _N1 &kp _N3)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _ND &kp _N8 &kp _N3 &kp _NE &kp _ND &kp _ND &kp _N1 &kp _N3)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N1 &kp _NF &kp _N9 &kp _N1 &kp _N3)
    #endif
  )
  emoji_nerd: emoji_nerd {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_nerd_macro>, <&emoji_nerd_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_nerd
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(emoji_sparkles_macro, /* ✨ */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N2 &kp _N7 &kp _N2 &kp _N8)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _N2 &kp _N7 &kp _N2 &kp _N8)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N2 &kp _N7 &kp _N2 &kp _N8)
    #endif
  )
  emoji_sparkles: emoji_sparkles {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_sparkles_macro>, <&emoji_sparkles_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_sparkles
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(emoji_raised_hands_macro, /* 🙌 */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N1 &kp _NF &kp _N6 &kp _N4 &kp _NC)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _ND &kp _N8 &kp _N3 &kp _ND &kp _ND &kp _NE &kp _N4 &kp _NC)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N1 &kp _NF &kp _N6 &kp _N4 &kp _NC)
    #endif
  )
  emoji_raised_hands: emoji_raised_hands {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_raised_hands_macro>, <&emoji_raised_hands_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_raised_hands
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(emoji_point_up_macro, /* ☝️ */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N2 &kp _N6 &kp _N1 &kp _ND), <&macro_wait_time UNICODE_SEQ_DELAY>, UNICODE_SEQ_LINUX(&kp _NF &kp _NE &kp _N0 &kp _NF)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _N2 &kp _N6 &kp _N1 &kp _ND), <&macro_wait_time UNICODE_SEQ_DELAY>, UNICODE_SEQ_MACOS(&kp _NF &kp _NE &kp _N0 &kp _NF)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N2 &kp _N6 &kp _N1 &kp _ND), <&macro_wait_time UNICODE_SEQ_DELAY>, UNICODE_SEQ_WINDOWS(&kp _N0 &kp _NF &kp _NE &kp _N0 &kp _NF)
    #endif
  )
  emoji_point_up: emoji_point_up {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_point_up_macro>, <&emoji_point_up_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_point_up
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(emoji_thumbs_up_macro, /* 👍 */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N1 &kp _NF &kp _N4 &kp _N4 &kp _ND)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _ND &kp _N8 &kp _N3 &kp _ND &kp _ND &kp _NC &kp _N4 &kp _ND)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N1 &kp _NF &kp _N4 &kp _N4 &kp _ND)
    #endif
  )
  emoji_thumbs_up: emoji_thumbs_up {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_thumbs_up_macro>, <&emoji_thumbs_up_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_thumbs_up
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };

  //
  // characters
  //
  emoji_moon_complete: emoji_moon_complete {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_new_moon>, <&emoji_full_moon>;
    mods = <MOD_LSFT>;
  };
  emoji_moon_gibbous: emoji_moon_gibbous {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_waning_gibbous_moon>, <&emoji_waxing_gibbous_moon>;
    mods = <MOD_LSFT>;
  };
  emoji_moon_quarter: emoji_moon_quarter {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_last_quarter_moon>, <&emoji_first_quarter_moon>;
    mods = <MOD_LSFT>;
  };
  emoji_moon_crescent: emoji_moon_crescent {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_waning_crescent_moon>, <&emoji_waxing_crescent_moon>;
    mods = <MOD_LSFT>;
  };
  UNICODE(emoji_face_smile_up_macro, /* 🙂 */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N1 &kp _NF &kp _N6 &kp _N4 &kp _N2)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _ND &kp _N8 &kp _N3 &kp _ND &kp _ND &kp _NE &kp _N4 &kp _N2)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N1 &kp _NF &kp _N6 &kp _N4 &kp _N2)
    #endif
  )
  emoji_face_smile_up: emoji_face_smile_up {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_face_smile_up_macro>, <&emoji_face_smile_up_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_face_smile_up
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(emoji_face_smile_down_macro, /* 🙃 */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N1 &kp _NF &kp _N6 &kp _N4 &kp _N3)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _ND &kp _N8 &kp _N3 &kp _ND &kp _ND &kp _NE &kp _N4 &kp _N3)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N1 &kp _NF &kp _N6 &kp _N4 &kp _N3)
    #endif
  )
  emoji_face_smile_down: emoji_face_smile_down {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_face_smile_down_macro>, <&emoji_face_smile_down_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_face_smile_down
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  emoji_face_smile: emoji_face_smile {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_face_smile_up>, <&emoji_face_smile_down>;
    mods = <MOD_LSFT>;
  };
  emoji_face_laugh: emoji_face_laugh {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_joy>, <&emoji_rofl>;
    mods = <MOD_LSFT>;
  };
  emoji_face_eyes: emoji_face_eyes {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_star_struck>, <&emoji_love_struck>;
    mods = <MOD_LSFT>;
  };
  UNICODE(emoji_face_joke_wink_macro, /* 😉 */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N1 &kp _NF &kp _N6 &kp _N0 &kp _N9)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _ND &kp _N8 &kp _N3 &kp _ND &kp _ND &kp _NE &kp _N0 &kp _N9)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N1 &kp _NF &kp _N6 &kp _N0 &kp _N9)
    #endif
  )
  emoji_face_joke_wink: emoji_face_joke_wink {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_face_joke_wink_macro>, <&emoji_face_joke_wink_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_face_joke_wink
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(emoji_face_joke_tongue_macro, /* 😜 */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N1 &kp _NF &kp _N6 &kp _N1 &kp _NC)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _ND &kp _N8 &kp _N3 &kp _ND &kp _ND &kp _NE &kp _N1 &kp _NC)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N1 &kp _NF &kp _N6 &kp _N1 &kp _NC)
    #endif
  )
  emoji_face_joke_tongue: emoji_face_joke_tongue {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_face_joke_tongue_macro>, <&emoji_face_joke_tongue_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_face_joke_tongue
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  emoji_face_joke: emoji_face_joke {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_face_joke_wink>, <&emoji_face_joke_tongue>;
    mods = <MOD_LSFT>;
  };
  UNICODE(emoji_face_fear_scared_macro, /* 😨 */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N1 &kp _NF &kp _N6 &kp _N2 &kp _N8)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _ND &kp _N8 &kp _N3 &kp _ND &kp _ND &kp _NE &kp _N2 &kp _N8)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N1 &kp _NF &kp _N6 &kp _N2 &kp _N8)
    #endif
  )
  emoji_face_fear_scared: emoji_face_fear_scared {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_face_fear_scared_macro>, <&emoji_face_fear_scared_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_face_fear_scared
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(emoji_face_fear_scream_macro, /* 😱 */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N1 &kp _NF &kp _N6 &kp _N3 &kp _N1)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _ND &kp _N8 &kp _N3 &kp _ND &kp _ND &kp _NE &kp _N3 &kp _N1)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N1 &kp _NF &kp _N6 &kp _N3 &kp _N1)
    #endif
  )
  emoji_face_fear_scream: emoji_face_fear_scream {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_face_fear_scream_macro>, <&emoji_face_fear_scream_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_face_fear_scream
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  emoji_face_fear: emoji_face_fear {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_face_fear_scared>, <&emoji_face_fear_scream>;
    mods = <MOD_LSFT>;
  };
  UNICODE(emoji_face_surprise_dizzy_macro, /* 😵 */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N1 &kp _NF &kp _N6 &kp _N3 &kp _N5)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _ND &kp _N8 &kp _N3 &kp _ND &kp _ND &kp _NE &kp _N3 &kp _N5)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N1 &kp _NF &kp _N6 &kp _N3 &kp _N5)
    #endif
  )
  emoji_face_surprise_dizzy: emoji_face_surprise_dizzy {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_face_surprise_dizzy_macro>, <&emoji_face_surprise_dizzy_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_face_surprise_dizzy
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  emoji_face_surprise: emoji_face_surprise {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_shocked_face>, <&emoji_face_surprise_dizzy>;
    mods = <MOD_LSFT>;
  };
  UNICODE(emoji_gesture_attention_wave_macro, /* 👋 */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N1 &kp _NF &kp _N4 &kp _N4 &kp _NB)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _ND &kp _N8 &kp _N3 &kp _ND &kp _ND &kp _NC &kp _N4 &kp _NB)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N1 &kp _NF &kp _N4 &kp _N4 &kp _NB)
    #endif
  )
  emoji_gesture_attention_wave: emoji_gesture_attention_wave {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_gesture_attention_wave_macro>, <&emoji_gesture_attention_wave_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_gesture_attention_wave
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  emoji_gesture_attention: emoji_gesture_attention {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_snap_fingers>, <&emoji_gesture_attention_wave>;
    mods = <MOD_LSFT>;
  };
  UNICODE(emoji_gesture_approval_cool_macro, /* 😎 */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N1 &kp _NF &kp _N6 &kp _N0 &kp _NE)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _ND &kp _N8 &kp _N3 &kp _ND &kp _ND &kp _NE &kp _N0 &kp _NE)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N1 &kp _NF &kp _N6 &kp _N0 &kp _NE)
    #endif
  )
  emoji_gesture_approval_cool: emoji_gesture_approval_cool {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_gesture_approval_cool_macro>, <&emoji_gesture_approval_cool_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_gesture_approval_cool
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  emoji_gesture_approval: emoji_gesture_approval {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_ok_hand>, <&emoji_gesture_approval_cool>;
    mods = <MOD_LSFT>;
  };
  emoji_gesture_gratitude: emoji_gesture_gratitude {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_pray>, <&emoji_saluting_face>;
    mods = <MOD_LSFT>;
  };
  emoji_gesture_anxiety: emoji_gesture_anxiety {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_sweat_smile>, <&emoji_cold_sweat>;
    mods = <MOD_LSFT>;
  };
  UNICODE(emoji_gesture_despair_cry_macro, /* 😢 */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N1 &kp _NF &kp _N6 &kp _N2 &kp _N2)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _ND &kp _N8 &kp _N3 &kp _ND &kp _ND &kp _NE &kp _N2 &kp _N2)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N1 &kp _NF &kp _N6 &kp _N2 &kp _N2)
    #endif
  )
  emoji_gesture_despair_cry: emoji_gesture_despair_cry {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_gesture_despair_cry_macro>, <&emoji_gesture_despair_cry_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_gesture_despair_cry
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  emoji_gesture_despair: emoji_gesture_despair {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_disappointed>, <&emoji_gesture_despair_cry>;
    mods = <MOD_LSFT>;
  };
  emoji_gesture_curious: emoji_gesture_curious {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_thinking>, <&emoji_monocle_face>;
    mods = <MOD_LSFT>;
  };
  UNICODE(emoji_gesture_point_you_macro, /* 🫵 */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N1 &kp _NF &kp _NA &kp _NF &kp _N5)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _ND &kp _N8 &kp _N3 &kp _NE &kp _ND &kp _NE &kp _NF &kp _N5)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N1 &kp _NF &kp _NA &kp _NF &kp _N5)
    #endif
  )
  emoji_gesture_point_you: emoji_gesture_point_you {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_gesture_point_you_macro>, <&emoji_gesture_point_you_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_gesture_point_you
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  emoji_gesture_point: emoji_gesture_point {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_point_up>, <&emoji_gesture_point_you>;
    mods = <MOD_LSFT>;
  };
  UNICODE(emoji_gesture_thumbs_down_macro, /* 👎 */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N1 &kp _NF &kp _N4 &kp _N4 &kp _NE)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _ND &kp _N8 &kp _N3 &kp _ND &kp _ND &kp _NC &kp _N4 &kp _NE)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N1 &kp _NF &kp _N4 &kp _N4 &kp _NE)
    #endif
  )
  emoji_gesture_thumbs_down: emoji_gesture_thumbs_down {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_gesture_thumbs_down_macro>, <&emoji_gesture_thumbs_down_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_gesture_thumbs_down
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  emoji_gesture_thumbs: emoji_gesture_thumbs {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_thumbs_up>, <&emoji_gesture_thumbs_down>;
    mods = <MOD_LSFT>;
  };
  UNICODE(emoji_gesture_hands_clap_macro, /* 👏 */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N1 &kp _NF &kp _N4 &kp _N4 &kp _NF)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _ND &kp _N8 &kp _N3 &kp _ND &kp _ND &kp _NC &kp _N4 &kp _NF)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N1 &kp _NF &kp _N4 &kp _N4 &kp _NF)
    #endif
  )
  emoji_gesture_hands_clap: emoji_gesture_hands_clap {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_gesture_hands_clap_macro>, <&emoji_gesture_hands_clap_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_gesture_hands_clap
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  emoji_gesture_hands: emoji_gesture_hands {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_raised_hands>, <&emoji_gesture_hands_clap>;
    mods = <MOD_LSFT>;
  };
  UNICODE(emoji_theme_awesome_shine_macro, /* 🌟 */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N1 &kp _NF &kp _N3 &kp _N1 &kp _NF)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _ND &kp _N8 &kp _N3 &kp _NC &kp _ND &kp _NF &kp _N1 &kp _NF)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N1 &kp _NF &kp _N3 &kp _N1 &kp _NF)
    #endif
  )
  emoji_theme_awesome_shine: emoji_theme_awesome_shine {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_theme_awesome_shine_macro>, <&emoji_theme_awesome_shine_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_theme_awesome_shine
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  emoji_theme_awesome: emoji_theme_awesome {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_sparkles>, <&emoji_theme_awesome_shine>;
    mods = <MOD_LSFT>;
  };
  UNICODE(emoji_theme_magic_wand_macro, /* 🪄 */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N1 &kp _NF &kp _NA &kp _N8 &kp _N4)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _ND &kp _N8 &kp _N3 &kp _NE &kp _ND &kp _NE &kp _N8 &kp _N4)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N1 &kp _NF &kp _NA &kp _N8 &kp _N4)
    #endif
  )
  emoji_theme_magic_wand: emoji_theme_magic_wand {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_theme_magic_wand_macro>, <&emoji_theme_magic_wand_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_theme_magic_wand
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(emoji_theme_magic_wizard_macro, /* 🧙 */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N1 &kp _NF &kp _N9 &kp _ND &kp _N9)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _ND &kp _N8 &kp _N3 &kp _NE &kp _ND &kp _ND &kp _ND &kp _N9)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N1 &kp _NF &kp _N9 &kp _ND &kp _N9)
    #endif
  )
  emoji_theme_magic_wizard: emoji_theme_magic_wizard {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_theme_magic_wizard_macro>, <&emoji_theme_magic_wizard_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_theme_magic_wizard
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  emoji_theme_magic: emoji_theme_magic {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_theme_magic_wand>, <&emoji_theme_magic_wizard>;
    mods = <MOD_LSFT>;
  };
  emoji_theme_space: emoji_theme_space {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_rocket>, <&emoji_astronaut>;
    mods = <MOD_LSFT>;
  };
  emoji_theme_science: emoji_theme_science {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_nerd>, <&emoji_lab_coat>;
    mods = <MOD_LSFT>;
  };
  UNICODE(emoji_theme_strength_lifting_macro, /* 🏋️ */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N1 &kp _NF &kp _N3 &kp _NC &kp _NB), <&macro_wait_time UNICODE_SEQ_DELAY>, UNICODE_SEQ_LINUX(&kp _NF &kp _NE &kp _N0 &kp _NF)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _ND &kp _N8 &kp _N3 &kp _NC &kp _ND &kp _NF &kp _NC &kp _NB), <&macro_wait_time UNICODE_SEQ_DELAY>, UNICODE_SEQ_MACOS(&kp _NF &kp _NE &kp _N0 &kp _NF)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N1 &kp _NF &kp _N3 &kp _NC &kp _NB), <&macro_wait_time UNICODE_SEQ_DELAY>, UNICODE_SEQ_WINDOWS(&kp _N0 &kp _NF &kp _NE &kp _N0 &kp _NF)
    #endif
  )
  emoji_theme_strength_lifting: emoji_theme_strength_lifting {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_theme_strength_lifting_macro>, <&emoji_theme_strength_lifting_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_theme_strength_lifting
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  emoji_theme_strength: emoji_theme_strength {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_muscle>, <&emoji_theme_strength_lifting>;
    mods = <MOD_LSFT>;
  };
  UNICODE(emoji_theme_effort_juggle_macro, /* 🤹 */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N1 &kp _NF &kp _N9 &kp _N3 &kp _N9)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _ND &kp _N8 &kp _N3 &kp _NE &kp _ND &kp _ND &kp _N3 &kp _N9)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N1 &kp _NF &kp _N9 &kp _N3 &kp _N9)
    #endif
  )
  emoji_theme_effort_juggle: emoji_theme_effort_juggle {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_theme_effort_juggle_macro>, <&emoji_theme_effort_juggle_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_theme_effort_juggle
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  emoji_theme_effort: emoji_theme_effort {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_person_climbing>, <&emoji_theme_effort_juggle>;
    mods = <MOD_LSFT>;
  };
  UNICODE(emoji_theme_nature_water_macro, /* 🌊 */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N1 &kp _NF &kp _N3 &kp _N0 &kp _NA)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _ND &kp _N8 &kp _N3 &kp _NC &kp _ND &kp _NF &kp _N0 &kp _NA)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N1 &kp _NF &kp _N3 &kp _N0 &kp _NA)
    #endif
  )
  emoji_theme_nature_water: emoji_theme_nature_water {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_theme_nature_water_macro>, <&emoji_theme_nature_water_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_theme_nature_water
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  emoji_theme_nature: emoji_theme_nature {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_fire>, <&emoji_theme_nature_water>;
    mods = <MOD_LSFT>;
  };
  UNICODE(emoji_theme_love_heart_macro, /* ❤️ */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N2 &kp _N7 &kp _N6 &kp _N4), <&macro_wait_time UNICODE_SEQ_DELAY>, UNICODE_SEQ_LINUX(&kp _NF &kp _NE &kp _N0 &kp _NF)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _N2 &kp _N7 &kp _N6 &kp _N4), <&macro_wait_time UNICODE_SEQ_DELAY>, UNICODE_SEQ_MACOS(&kp _NF &kp _NE &kp _N0 &kp _NF)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N2 &kp _N7 &kp _N6 &kp _N4), <&macro_wait_time UNICODE_SEQ_DELAY>, UNICODE_SEQ_WINDOWS(&kp _N0 &kp _NF &kp _NE &kp _N0 &kp _NF)
    #endif
  )
  emoji_theme_love_heart: emoji_theme_love_heart {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_theme_love_heart_macro>, <&emoji_theme_love_heart_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_theme_love_heart
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(emoji_theme_love_face_macro, /* 🥰 */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N1 &kp _NF &kp _N9 &kp _N7 &kp _N0)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _ND &kp _N8 &kp _N3 &kp _NE &kp _ND &kp _ND &kp _N7 &kp _N0)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N1 &kp _NF &kp _N9 &kp _N7 &kp _N0)
    #endif
  )
  emoji_theme_love_face: emoji_theme_love_face {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_theme_love_face_macro>, <&emoji_theme_love_face_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_theme_love_face
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  emoji_theme_love: emoji_theme_love {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_theme_love_heart>, <&emoji_theme_love_face>;
    mods = <MOD_LSFT>;
  };
  UNICODE(emoji_theme_party_face_macro, /* 🥳 */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N1 &kp _NF &kp _N9 &kp _N7 &kp _N3)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _ND &kp _N8 &kp _N3 &kp _NE &kp _ND &kp _ND &kp _N7 &kp _N3)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N1 &kp _NF &kp _N9 &kp _N7 &kp _N3)
    #endif
  )
  emoji_theme_party_face: emoji_theme_party_face {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_theme_party_face_macro>, <&emoji_theme_party_face_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_theme_party_face
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  emoji_theme_party: emoji_theme_party {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_tada>, <&emoji_theme_party_face>;
    mods = <MOD_LSFT>;
  };
  UNICODE(emoji_theme_game_dart_macro, /* 🎯 */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N1 &kp _NF &kp _N3 &kp _NA &kp _NF)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _ND &kp _N8 &kp _N3 &kp _NC &kp _ND &kp _NF &kp _NA &kp _NF)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N1 &kp _NF &kp _N3 &kp _NA &kp _NF)
    #endif
  )
  emoji_theme_game_dart: emoji_theme_game_dart {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_theme_game_dart_macro>, <&emoji_theme_game_dart_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_theme_game_dart
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(emoji_theme_game_dice_macro, /* 🎲 */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N1 &kp _NF &kp _N3 &kp _NB &kp _N2)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _ND &kp _N8 &kp _N3 &kp _NC &kp _ND &kp _NF &kp _NB &kp _N2)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N1 &kp _NF &kp _N3 &kp _NB &kp _N2)
    #endif
  )
  emoji_theme_game_dice: emoji_theme_game_dice {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_theme_game_dice_macro>, <&emoji_theme_game_dice_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_theme_game_dice
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  emoji_theme_game: emoji_theme_game {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_theme_game_dart>, <&emoji_theme_game_dice>;
    mods = <MOD_LSFT>;
  };
  UNICODE(emoji_theme_trend_up_macro, /* 📈 */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N1 &kp _NF &kp _N4 &kp _NC &kp _N8)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _ND &kp _N8 &kp _N3 &kp _ND &kp _ND &kp _NC &kp _NC &kp _N8)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N1 &kp _NF &kp _N4 &kp _NC &kp _N8)
    #endif
  )
  emoji_theme_trend_up: emoji_theme_trend_up {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_theme_trend_up_macro>, <&emoji_theme_trend_up_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_theme_trend_up
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  UNICODE(emoji_theme_trend_down_macro, /* 📉 */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N1 &kp _NF &kp _N4 &kp _NC &kp _N9)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _ND &kp _N8 &kp _N3 &kp _ND &kp _ND &kp _NC &kp _NC &kp _N9)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N1 &kp _NF &kp _N4 &kp _NC &kp _N9)
    #endif
  )
  emoji_theme_trend_down: emoji_theme_trend_down {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_theme_trend_down_macro>, <&emoji_theme_trend_down_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_theme_trend_down
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  emoji_theme_trend: emoji_theme_trend {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_theme_trend_up>, <&emoji_theme_trend_down>;
    mods = <MOD_LSFT>;
  };
  UNICODE(emoji_theme_sigh_fail_macro, /* 🤦 */
    #if OPERATING_SYSTEM == 'L'
      UNICODE_SEQ_LINUX(&kp _N1 &kp _NF &kp _N9 &kp _N2 &kp _N6)
    #elif OPERATING_SYSTEM == 'M'
      UNICODE_SEQ_MACOS(&kp _ND &kp _N8 &kp _N3 &kp _NE &kp _ND &kp _ND &kp _N2 &kp _N6)
    #elif OPERATING_SYSTEM == 'W'
      UNICODE_SEQ_WINDOWS(&kp _N0 &kp _N1 &kp _NF &kp _N9 &kp _N2 &kp _N6)
    #endif
  )
  emoji_theme_sigh_fail: emoji_theme_sigh_fail {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_theme_sigh_fail_macro>, <&emoji_theme_sigh_fail_macro>;
    mods = <(~(
#ifdef WORLD_USE_COMPOSE_FOR_emoji_theme_sigh_fail
  COMPOSE_MORPH_MODS
#else
  UNICODE_MORPH_MODS
#endif
))>;
  };
  emoji_theme_sigh: emoji_theme_sigh {
    compatible = "zmk,behavior-mod-morph";
    #binding-cells = <0>;
    bindings = <&emoji_person_shrugging>, <&emoji_theme_sigh_fail>;
    mods = <MOD_LSFT>;
  };
};
/*HACK*/};
#if EMOJI_GENDER_SIGN_PRESET == 'N'
  emoji_gender_sign_preset: &none {};
#elif EMOJI_GENDER_SIGN_PRESET == 'M'
  emoji_gender_sign_preset: &emoji_male_sign {};
#elif EMOJI_GENDER_SIGN_PRESET == 'F'
  emoji_gender_sign_preset: &emoji_female_sign {};
#endif

#if EMOJI_SKIN_TONE_PRESET == 'N'
  emoji_skin_tone_preset: &none {};
#elif EMOJI_SKIN_TONE_PRESET == 'L'
  emoji_skin_tone_preset: &emoji_light_skin_tone {};
#elif EMOJI_SKIN_TONE_PRESET == 'l'
  emoji_skin_tone_preset: &emoji_medium_light_skin_tone {};
#elif EMOJI_SKIN_TONE_PRESET == 'M'
  emoji_skin_tone_preset: &emoji_medium_skin_tone {};
#elif EMOJI_SKIN_TONE_PRESET == 'd'
  emoji_skin_tone_preset: &emoji_medium_dark_skin_tone {};
#elif EMOJI_SKIN_TONE_PRESET == 'D'
  emoji_skin_tone_preset: &emoji_dark_skin_tone {};
#endif

#if EMOJI_HAIR_STYLE_PRESET == 'N'
  emoji_hair_style_preset: &none {};
#elif EMOJI_HAIR_STYLE_PRESET == 'B'
  emoji_hair_style_preset: &emoji_bald {};
#elif EMOJI_HAIR_STYLE_PRESET == 'R'
  emoji_hair_style_preset: &emoji_red_hair {};
#elif EMOJI_HAIR_STYLE_PRESET == 'C'
  emoji_hair_style_preset: &emoji_curly_hair {};
#elif EMOJI_HAIR_STYLE_PRESET == 'W'
  emoji_hair_style_preset: &emoji_white_hair {};
#endif
/*HACK*//{

//////////////////////////////////////////////////////////////////////////
//
// Mouse keys (keyboard mouse control) requires v24.12 firmware or newer:
// override the "HID_POINTING" setting to "y" in Advanced Configuration
// and then select "v24.12" firmware from the drop-down menu located at
// Glove80 Layout Editor > Settings > Advanced Settings > Firmware Version
//
// Alternatively, you can use either PR36 or PR23 beta firmware for this:
// select "community.pr36.mouse-keys" from the drop-down menu located at
// Glove80 Layout Editor > Settings > Advanced Settings > Firmware Version
//
// - https://github.com/moergo-sc/zmk/pull/36
// - https://github.com/moergo-sc/zmk/pull/23
// - https://gist.github.com/krissen/dd27082e7ab0575619c7a31f4d2ec7ae
// - https://github.com/zmkfirmware/zmk/compare/main...urob:zmk:mouse-3.2
// - https://github.com/caksoylar/zmk-config/commit/0020c23c544cd7111013f0114609d1fb90e0e475
// - https://github.com/caksoylar/zmk-config/commit/e35ee2f08788927683df7bbdd7fc73434473886e
//
//////////////////////////////////////////////////////////////////////////

//
// NATURAL_SCROLLING reverses the directionality of the mouse scroll wheel
// to support "natural scrolling" in macOS and other desktop environments.
//
//#define NATURAL_SCROLLING

#ifdef NATURAL_SCROLLING
  #define MOUSE_SCROLL_UP    SCRL_DOWN
  #define MOUSE_SCROLL_DOWN  SCRL_UP
  #define MOUSE_SCROLL_LEFT  SCRL_RIGHT
  #define MOUSE_SCROLL_RIGHT SCRL_LEFT
#else
  #define MOUSE_SCROLL_UP    SCRL_UP
  #define MOUSE_SCROLL_DOWN  SCRL_DOWN
  #define MOUSE_SCROLL_LEFT  SCRL_LEFT
  #define MOUSE_SCROLL_RIGHT SCRL_RIGHT
#endif

//
// MOUSE_MOTION_DELAY defines how long to wait (milliseconds) before starting
// to move the mouse pointer.
//
#ifndef MOUSE_MOTION_DELAY
#define MOUSE_MOTION_DELAY 0
#endif

//
// MOUSE_MOTION_ACCELERATION_EXPONENT sets how the mouse pointer accelerates:
//
// acceleration exponent 0: uniform speed
// acceleration exponent 1: uniform acceleration
// acceleration exponent 2: uniform jerk
//
#ifndef MOUSE_MOTION_ACCELERATION_EXPONENT
#define MOUSE_MOTION_ACCELERATION_EXPONENT 1
#endif

//
// MOUSE_MOTION_TIME_TO_MAXIMUM_SPEED defines how long to wait (milliseconds)
// before the mouse pointer speed is suddenly boosted to the maximum value.
//
#ifndef MOUSE_MOTION_TIME_TO_MAXIMUM_SPEED
#define MOUSE_MOTION_TIME_TO_MAXIMUM_SPEED 300
#endif

//
// MOUSE_MOTION_MAXIMUM_SPEED defines how quickly the mouse pointer can move.
//
#ifndef MOUSE_MOTION_MAXIMUM_SPEED
#define MOUSE_MOTION_MAXIMUM_SPEED 600
#endif

//
// MOUSE_SCROLL_DELAY defines how long to wait (milliseconds) before starting
// to move the mouse pointer.
//
#ifndef MOUSE_SCROLL_DELAY
#define MOUSE_SCROLL_DELAY 0
#endif

//
// MOUSE_SCROLL_ACCELERATION_EXPONENT sets how the mouse pointer accelerates:
//
// acceleration exponent 0: uniform speed
// acceleration exponent 1: uniform acceleration
// acceleration exponent 2: uniform jerk
//
#ifndef MOUSE_SCROLL_ACCELERATION_EXPONENT
#define MOUSE_SCROLL_ACCELERATION_EXPONENT 0
#endif

//
// MOUSE_SCROLL_TIME_TO_MAXIMUM_SPEED defines how long to wait (milliseconds)
// before the mouse pointer speed is suddenly boosted to the maximum value.
//
#ifndef MOUSE_SCROLL_TIME_TO_MAXIMUM_SPEED
#define MOUSE_SCROLL_TIME_TO_MAXIMUM_SPEED 300
#endif

//
// MOUSE_SCROLL_MAXIMUM_SPEED defines how quickly the mouse wheel can scroll.
//
#ifndef MOUSE_SCROLL_MAXIMUM_SPEED
#define MOUSE_SCROLL_MAXIMUM_SPEED 10
#endif

//
// MOUSE_SCALER_FINE sets parameters for the &zip_xy_scaler input processor:
// https://zmk.dev/docs/keymaps/input-processors/scaler
//
#ifndef MOUSE_SCALER_FINE
#define MOUSE_SCALER_FINE 1 16
#endif

//
// MOUSE_SCALER_SLOW sets parameters for the &zip_xy_scaler input processor:
// https://zmk.dev/docs/keymaps/input-processors/scaler
//
#ifndef MOUSE_SCALER_SLOW
#define MOUSE_SCALER_SLOW 1 4
#endif

//
// MOUSE_SCALER_FAST sets parameters for the &zip_xy_scaler input processor:
// https://zmk.dev/docs/keymaps/input-processors/scaler
//
#ifndef MOUSE_SCALER_FAST
#define MOUSE_SCALER_FAST 4 1
#endif

//
// MOUSE_SCALER_WARP sets parameters for the &zip_xy_scaler input processor:
// https://zmk.dev/docs/keymaps/input-processors/scaler
//
#ifndef MOUSE_SCALER_WARP
#define MOUSE_SCALER_WARP 12 1
#endif
/*HACK*/};
#ifdef ENABLE_MOUSE_KEYS
  // ==== MOUSE-KEY <section begins> ====
  #define ZMK_POINTING_DEFAULT_MOVE_VAL MOUSE_MOTION_MAXIMUM_SPEED
  #define ZMK_POINTING_DEFAULT_SCRL_VAL MOUSE_SCROLL_MAXIMUM_SPEED
  #include <dt-bindings/zmk/pointing.h>
  &mmv {
    delay-ms = <MOUSE_MOTION_DELAY>;
    acceleration-exponent = <MOUSE_MOTION_ACCELERATION_EXPONENT>;
    time-to-max-speed-ms = <MOUSE_MOTION_TIME_TO_MAXIMUM_SPEED>;
  };
  &msc {
    delay-ms = <MOUSE_SCROLL_DELAY>;
    acceleration-exponent = <MOUSE_SCROLL_ACCELERATION_EXPONENT>;
    time-to-max-speed-ms = <MOUSE_SCROLL_TIME_TO_MAXIMUM_SPEED>;
  };
  //
  // Scaling for mouse movement, based on @caksoylar's example:
  // https://github.com/caksoylar/zmk-config/commit/0020c23c544cd7111013f0114609d1fb90e0e475
  //
  #include <input/processors.dtsi>
  &mmv_input_listener {
    #ifdef LAYER_MouseFine
    fine {
      layers = <LAYER_MouseFine>;
      input-processors = <&zip_xy_scaler MOUSE_SCALER_FINE>;
    };
    #endif
    #ifdef LAYER_MouseSlow
    slow {
      layers = <LAYER_MouseSlow>;
      input-processors = <&zip_xy_scaler MOUSE_SCALER_SLOW>;
    };
    #endif
    #ifdef LAYER_MouseFast
    fast {
      layers = <LAYER_MouseFast>;
      input-processors = <&zip_xy_scaler MOUSE_SCALER_FAST>;
    };
    #endif
    #ifdef LAYER_MouseWarp
    warp {
      layers = <LAYER_MouseWarp>;
      input-processors = <&zip_xy_scaler MOUSE_SCALER_WARP>;
    };
    #endif
  };
  //
  // Scaling for mouse scrolling, based on @caksoylar's example:
  // https://github.com/caksoylar/zmk-config/commit/e35ee2f08788927683df7bbdd7fc73434473886e
  //
  #include <zephyr/dt-bindings/input/input-event-codes.h>
  / {
    input_processors {
      zip_scroll_scaling_processor: zip_scroll_scaling_processor {
        compatible = "zmk,input-processor-scaler";
        #input-processor-cells = <2>;
        type = <INPUT_EV_REL>;
        codes = <INPUT_REL_WHEEL INPUT_REL_HWHEEL>;
        track-remainders;
      };
    };
  };
  &msc_input_listener {
    #ifdef LAYER_MouseFine
    fine {
      layers = <LAYER_MouseFine>;
      input-processors = <&zip_scroll_scaling_processor MOUSE_SCALER_FINE>;
    };
    #endif
    #ifdef LAYER_MouseSlow
    slow {
      layers = <LAYER_MouseSlow>;
      input-processors = <&zip_scroll_scaling_processor MOUSE_SCALER_SLOW>;
    };
    #endif
    #ifdef LAYER_MouseFast
    fast {
      layers = <LAYER_MouseFast>;
      input-processors = <&zip_scroll_scaling_processor MOUSE_SCALER_FAST>;
    };
    #endif
    #ifdef LAYER_MouseWarp
    warp {
      layers = <LAYER_MouseWarp>;
      input-processors = <&zip_scroll_scaling_processor MOUSE_SCALER_WARP>;
    };
    #endif
  };
  // ==== MOUSE-KEY <section ends> =====
#else
  #define mkp none
  #define mmv none
  #define msc none
  #define LCLK
  #define MCLK
  #define RCLK
  #define MB1
  #define MB2
  #define MB3
  #define MB4
  #define MB5
  #define MOVE_UP
  #define MOVE_DOWN
  #define MOVE_LEFT
  #define MOVE_RIGHT
  #define SCRL_UP
  #define SCRL_DOWN
  #define SCRL_LEFT
  #define SCRL_RIGHT
#endif
/*HACK*//{
