Skip to content

Instantly share code, notes, and snippets.

@5310
Last active June 24, 2024 15:24
Show Gist options
  • Save 5310/0ae5b0ef7c4f2c3dc52d8e8532d62272 to your computer and use it in GitHub Desktop.
Save 5310/0ae5b0ef7c4f2c3dc52d8e8532d62272 to your computer and use it in GitHub Desktop.
Keychron K2 Pro Via config, 2024-06-24 #script

My first custom profile for the Keychron K2 Pro. Configured with and saved from Via.

  • Still uses the out of the box "Mac/Win" layer allocation
    • Layers 0 and 1, dead to me
    • Layers 2 is the default
    • Layers 3 is the fn overlay
      • del is insert
      • ralt and ,./kl;iop are numpad digits
      • ↑←↓→ keys move the mouse
      • enter is click
      • rshift is right-click
      • \ is middle-click
      • home and end scroll the wheel up and down
      • [] scroll the wheel sideways
      • pgup and pgdn press the mouse 4 and 5 buttons for navigation
  • caps
    • press to toggle caps-lock
    • hold to momentarily activates layer 3
  • fn toggles layer 3
  • ralt
    • press to open the context menu
    • hold for normal alt/altGr behavior
{
"name": "Keychron K2 Pro ANSI White ",
"vendorProductId": 875823651,
"macros": ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""],
"layers": [
[
"KC_ESC",
"KC_BRID",
"KC_BRIU",
"CUSTOM(4)",
"CUSTOM(5)",
"BL_DEC",
"BL_INC",
"KC_MPRV",
"KC_MPLY",
"KC_MNXT",
"KC_MUTE",
"KC_VOLD",
"KC_VOLU",
"CUSTOM(8)",
"KC_DEL",
"BL_STEP",
"KC_GRV",
"KC_1",
"KC_2",
"KC_3",
"KC_4",
"KC_5",
"KC_6",
"KC_7",
"KC_8",
"KC_9",
"KC_0",
"KC_MINS",
"KC_EQL",
"KC_BSPC",
"KC_NO",
"KC_PGUP",
"KC_TAB",
"KC_Q",
"KC_W",
"KC_E",
"KC_R",
"KC_T",
"KC_Y",
"KC_U",
"KC_I",
"KC_O",
"KC_P",
"KC_LBRC",
"KC_RBRC",
"KC_BSLS",
"KC_NO",
"KC_PGDN",
"KC_CAPS",
"KC_A",
"KC_S",
"KC_D",
"KC_F",
"KC_G",
"KC_H",
"KC_J",
"KC_K",
"KC_L",
"KC_SCLN",
"KC_QUOT",
"KC_NO",
"KC_ENT",
"KC_NO",
"KC_HOME",
"KC_LSFT",
"KC_NO",
"KC_Z",
"KC_X",
"KC_C",
"KC_V",
"KC_B",
"KC_N",
"KC_M",
"KC_COMM",
"KC_DOT",
"KC_SLSH",
"KC_RSFT",
"KC_UP",
"KC_NO",
"KC_END",
"KC_LCTL",
"CUSTOM(0)",
"CUSTOM(2)",
"KC_NO",
"KC_NO",
"KC_NO",
"KC_SPC",
"KC_NO",
"KC_NO",
"CUSTOM(3)",
"MO(1)",
"KC_RCTL",
"KC_LEFT",
"KC_DOWN",
"KC_NO",
"KC_RGHT"
],
[
"KC_TRNS",
"KC_F1",
"KC_F2",
"KC_F3",
"KC_F4",
"KC_F5",
"KC_F6",
"KC_F7",
"KC_F8",
"KC_F9",
"KC_F10",
"KC_F11",
"KC_F12",
"KC_TRNS",
"KC_TRNS",
"BL_TOGG",
"KC_TRNS",
"CUSTOM(11)",
"CUSTOM(12)",
"CUSTOM(13)",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_NO",
"KC_TRNS",
"BL_TOGG",
"BL_STEP",
"BL_INC",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_NO",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"BL_DEC",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_NO",
"KC_TRNS",
"KC_NO",
"KC_TRNS",
"KC_TRNS",
"KC_NO",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"CUSTOM(14)",
"MAGIC_TOGGLE_NKRO",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_NO",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_NO",
"KC_NO",
"KC_NO",
"KC_TRNS",
"KC_NO",
"KC_NO",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_NO",
"KC_TRNS"
],
[
"KC_ESC",
"KC_F1",
"KC_F2",
"KC_F3",
"KC_F4",
"KC_F5",
"KC_F6",
"KC_F7",
"KC_F8",
"KC_F9",
"KC_F10",
"KC_F11",
"KC_F12",
"KC_PSCR",
"KC_DEL",
"BL_STEP",
"KC_GRV",
"KC_1",
"KC_2",
"KC_3",
"KC_4",
"KC_5",
"KC_6",
"KC_7",
"KC_8",
"KC_9",
"KC_0",
"KC_MINS",
"KC_EQL",
"KC_BSPC",
"KC_NO",
"KC_PGUP",
"KC_TAB",
"KC_Q",
"KC_W",
"KC_E",
"KC_R",
"KC_T",
"KC_Y",
"KC_U",
"KC_I",
"KC_O",
"KC_P",
"KC_LBRC",
"KC_RBRC",
"KC_BSLS",
"KC_NO",
"KC_PGDN",
"LT(3,KC_CAPS)",
"KC_A",
"KC_S",
"KC_D",
"KC_F",
"KC_G",
"KC_H",
"KC_J",
"KC_K",
"KC_L",
"KC_SCLN",
"KC_QUOT",
"KC_NO",
"KC_ENT",
"KC_NO",
"KC_HOME",
"KC_LSFT",
"KC_NO",
"KC_Z",
"KC_X",
"KC_C",
"KC_V",
"KC_B",
"KC_N",
"KC_M",
"KC_COMM",
"KC_DOT",
"KC_SLSH",
"KC_RSFT",
"KC_UP",
"KC_NO",
"KC_END",
"KC_LCTL",
"KC_LGUI",
"KC_LALT",
"KC_NO",
"KC_NO",
"KC_NO",
"KC_SPC",
"KC_NO",
"KC_NO",
"MT(MOD_LALT | MOD_RALT,KC_APP)",
"TG(3)",
"KC_RCTL",
"KC_LEFT",
"KC_DOWN",
"KC_NO",
"KC_RGHT"
],
[
"KC_TRNS",
"KC_BRID",
"KC_BRIU",
"CUSTOM(6)",
"CUSTOM(7)",
"BL_DEC",
"BL_INC",
"KC_MPRV",
"KC_MPLY",
"KC_MNXT",
"KC_MUTE",
"KC_VOLD",
"KC_VOLU",
"KC_TRNS",
"KC_INS",
"BL_TOGG",
"KC_TRNS",
"CUSTOM(11)",
"CUSTOM(12)",
"CUSTOM(13)",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_NO",
"KC_MS_BTN4",
"BL_TOGG",
"BL_STEP",
"BL_INC",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_P7",
"KC_P8",
"KC_P9",
"KC_MS_WH_LEFT",
"KC_MS_WH_RIGHT",
"KC_MS_BTN3",
"KC_NO",
"KC_MS_BTN5",
"KC_TRNS",
"KC_TRNS",
"BL_DEC",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_P4",
"KC_P5",
"KC_P6",
"KC_TRNS",
"KC_NO",
"KC_MS_BTN1",
"KC_NO",
"KC_MS_WH_UP",
"KC_TRNS",
"KC_NO",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"CUSTOM(14)",
"MAGIC_TOGGLE_NKRO",
"KC_TRNS",
"KC_P1",
"KC_P2",
"KC_P3",
"KC_MS_BTN2",
"KC_MS_UP",
"KC_NO",
"KC_MS_WH_DOWN",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_NO",
"KC_NO",
"KC_NO",
"KC_TRNS",
"KC_NO",
"KC_NO",
"KC_P0",
"KC_TRNS",
"KC_TRNS",
"KC_MS_LEFT",
"KC_MS_DOWN",
"KC_NO",
"KC_MS_RIGHT"
]
],
"encoders": []
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment