Skip to content

Instantly share code, notes, and snippets.

@graham-m-dunn
Last active April 10, 2024 05:54
Show Gist options
  • Save graham-m-dunn/007e9fb34d2e18624e70293f551c9786 to your computer and use it in GitHub Desktop.
Save graham-m-dunn/007e9fb34d2e18624e70293f551c9786 to your computer and use it in GitHub Desktop.
Installing QMK firmware and VIA keymap in the Keychron K2 RGB V2 ANSI in OS X
  1. Follow setup in Setting Up Your QMK Environment
brew install qmk/qmk/qmk
qmk setup
mv qmk_firmware qmk_firmware_orig # need to get SonixQMK repo
git clone https://github.com/SonixQMK/qmk_firmware.git
cd qmk_firmware
git checkout sn32_master
make git-submodule && util/qmk_install.sh
qmk compile -kb keychron/k2/rgb/v2/ansi -km default # test
qmk compile -kb keychron/k2/rgb -km via # make via 

Your .bin file will be in ~/qmk_firmware (keychron_k2_rgb_ansi_via.bin)

  1. Flashing the firwmare
  • git clone https://github.com/SonixQMK/sonix-flasher

  • Set your K2 into bootloader mode by turning off the keyboard with the switch on the side, removing the spacebar with a key puller, then shorting the "boot" jumper (tweezers work if you don't have a little wire) while you turn the keyboard back on with the switch on the side. If you do it right, nothing will light up.

  • cd sonix-flasher; sudo run.sh

Sonix-flasher
  • Selecting your firmware bin file will start the flashing process. Once it's done, you can turn the keyboard off and back on to get out of bootloader mode.
  1. Keymap configuration with VIA
  • Open the VIA configuration tool
  • Settings -> Enable Design tab
  • In the Design Tab, enable "Use V2 Definitions"
  • Click "Load", browse to ~/qmk_firmware/keyboards/keychron/k2/keymaps/via/via_ansi.json or download if you need to adjust settings when you're not at the build system.
  • In the "Configure" tab, click authorize Screenshot 2023-12-18 at 12 31 48 PM
  • Layer 0-1 is your Windows configuration (keys and functions respectively) on the toggle switch, Layer 2-3 is OSX keys and functions.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment