Instructions specifically for adding a toggleable Vim mode to the ZSA Voyager on Windows.
Disclaimer: These instructions are tailored towards the ZSA Voyager and Windows, but using the techniques in this repository you can adapt it to any other QMK compatible keyboard and operating system.
- Windows.
- ZSA Voyager keyboard (although can be adapted to other QMK keyboards).
- WSL2 with a fresh or clean install of Ubuntu 22.04.
Start by entering Ubuntu 22.04 and running the following commands:
sudo apt update && sudo apt upgrade -y
sudo apt install git g++ make llvm clang clang-format python3-pip chromium-browser unzip
git clone https://github.com/ConnorSweeneyDev/VimForVoyager.git && cd VimForVoyager
Next, install the QMK CLI like so:
python3 -m pip install --user qmk
echo 'PATH="$HOME/.local/bin:$PATH"' >> $HOME/.bashrc && source $HOME/.bashrc
qmk setup -H ~/VimForVoyager -b main
- Say yes to any prompts and runqmk hello
to verify the installation.
This repository is a modified version of ZSA's QMK fork that has a main
keymap for the voyager that has a Vim mode
(using this as the base). To use it now you can run qmk compile -kb voyager -km main
, then move the voyager_main.bin
file to your Windows machine and select the "Flash"
button in the Keymapp app to select the file and flash the firmware.
Since you want your own mappings, you can replace keymap.c
, config.h
and rules.mk
in the
keyboards/voyager/keymaps/main
directory with your own, running the same compile command and flashing the firmware in
the same way as above afterwards. This process goes as follows:
- Create a configuration using Oryx.
- Open the configuration in linux using the
chromium-browser
command. - Download the source code for the configuration using the "Download Source" button.
- Find the zip file in the
~/snap/chromium/[NUMBER]/Downloads
directory. - Unzip the file using
unzip [FILE]
and move thekeymap.c
,config.h
, andrules.mk
files to thekeyboards/voyager/keymaps/main
directory to replace the existing ones. - Manually add all the code that is marked "Manually Added" in my fork to your own
keymap.c
,config.h
, andrules.mk
files. - Run
qmk clean
, then compile withqmk compile -kb voyager -km main
and flash using Keymapp.
You can see all the available mappings and all the extra information you need about how to configure the Vim mode exactly to your liking here.
- QMK Firmware for the base firmware.
- ZSA's QMK Fork for the ZSA firmware.
- QMK-Vim for the vim integration.