UK78 QMK Flashing Guide - Windows 101. Get started by downloading the QMK firmware from github and extracting the archive to an easily accessible directory. To follow the guide completely in future steps extract and rename the folder to qmk_firmware and put in root of your C: drive, C:\qmk_firmware
https://github.com/qmk/qmk_firmware/archive/master.zip2.
https://docs.qmk.fm/getting_started_build_tools.html Follow the steps listed under Windows with msys2 to install the tools necessary to compile the firmware and create a .hex file. The correct terminal is "MSYS2 MingGW 64-bit" which I'll just refer to as msys2. One thing to note, once you have run "util/msys2_install.sh" pressing Enter at the package install prompts by default will install all the dependencies needed. If your terminal gets stuck trying to download a package from sourceforge and keeps trying like mine, hit Ctrl + C to stop the process and run "util/msys2_install.sh" again to continue.
3. Next we'll need to install DFU programmer to have Windows recognize the board in the bootloader state. Go here
http://sourceforge.net/projects/dfu-programmer/files/dfu-programmer/0.7.0/ and download the .zip and extract. Run the provided executable. Open Device Manager and with your board plugged in press and hold Fn + R for a few seconds and Device Manager should refresh and have an unrecognized device, I believe it'll pop up as AT90USB128. Rick click this device and select update driver, browse my computer for driver software, and then browse to the folder dfu-programmer-win-0.7.0\dfu-prog-usb-1.2.2 this is inside the zip you extracted in this step. Have include subfolders checked and hit Next. If all went well you'll see your device under the category libusb-win32 devices.
4. We're ready to compile the QMK firmware to create our default hex file, open msys2 and navigate to your qmk_firmware folder. Run "make uk78-default" which will create a hex file based on the keymap here C:\qmk_firmware\keyboards\uk78\keymaps\default I'll go over editing and flashing your own hex in a later step.
5. I know there are multiple tools out there to flash QMK, but the one I eventually got working was Atmel's FLIP
http://www.atmel.com/tools/flip.aspx Download and install the package, I needed the one with the JRE included.
6.
https://thevankeyboards.com/pages/programming-guide Stage 2, Step 2 is where you can start for a visual guide of using FLIP to flash your keyboard. However instead of the atmega controller we'll select AT90USB1286. That's it, we're done!
Editing KeymapsMake a copy of the keymap.c file found here C:\qmk_firmware\keyboards\uk78\keymaps\default and open it in your favorite text editor. Each layer is an array of QMK key codes, you can find out what they do here
https://docs.qmk.fm/keycodes.html I've attached my own edited keymap, the general process is locate the desired key in the grid and replace the keycode with what you want on each layer. I've changed mine to have Numlock on the base layer and Delete on layer 1, caps lock is now also a layer modifier, and extra arrow keys on layer 1 Pok3r style to name a few. I've just started playing around with it and judging by the keycode docs there's a lot of cool possibilities.
Once you've got the desired keymap, create a new folder in uk78\keymaps and name it something unique. Back in msys2 run make uk78-"folder name" to generate a new hex file to flash.