This repository has been archived on 2025-01-28. You can view files and clone it, but cannot push or open issues or pull requests.
qmk_firmware/static/tipuesearch/tipuesearch_content.json

1 line
359 KiB
JSON
Raw Normal View History

2018-05-07 21:02:24 -07:00
{"pages":[{"title":"QMK Firmware","text":"Quantum Mechanical Keyboard Firmware What is QMK Firmware? How to Get It How to Compile How to Customize Quantum Mechanical Keyboard Firmware What is QMK Firmware? QMK (Quantum Mechanical Keyboard) is an open source community that maintains QMK Firmware, QMK Flasher, qmk.fm, and these docs. QMK Firmware is a keyboard firmware based on the tmk_keyboard with some useful features for Atmel AVR controllers, and more specifically, the OLKB product line, the ErgoDox EZ keyboard, and the Clueboard product line. It has also been ported to ARM chips using ChibiOS. You can use it to power your own hand-wired or custom keyboard PCB. How to Get It If you plan on contributing a keymap, keyboard, or features to QMK, the easiest thing to do is fork the repo through Github, and clone your repo locally to make your changes, push them, then open a Pull Request from your fork. Otherwise, you can either download it directly (zip, tar), or clone it via git (git@github.com:qmk\/qmk_firmware.git), or https (https:\/\/github.com\/qmk\/qmk_firmware.git). How to Compile Before you are able to compile, you'll need to install an environment for AVR or\/and ARM development. Once that is complete, you'll use the make command to build a keyboard and keymap with the following notation: make planck\/rev4:default This would build the rev4 revision of the planck with the default keymap. Not all keyboards have revisions (also called subprojects or folders), in which case, it can be omitted: make preonic:default How to Customize QMK has lots of features to explore, and a good deal of reference documentation to dig through. Most features are taken advantage of by modifying your keymap, and changing the keycodes.","tags":"","url":"index.html"},{"title":"Getting Started","text":"Introduction Basic QMK Structure Keyboard Project Structure Keymap Structure The config.h File Introduction This page attempts to explain the basic information you need to know to work with the QMK project. It assumes that you are familiar with navigating a Unix shell, but does not assume you are familiar with C or with compiling using make. Basic QMK Structure QMK is a fork of Jun Wako's tmk_keyboard project. The original TMK code, with modifications, can be found in the tmk folder. The QMK additions to the project may be found in the quantum folder. Keyboard projects may be found in the handwired and keyboard folders. Keyboard Project Structure Within the folder keyboards and its subfolder handwired is a directory for each keyboard project, for example qmk_firmware\/keyboards\/clueboard. Within it you'll find the following structure: keymaps\/: Different keymaps that can be built rules.mk: The file that sets the default "make" options. Do not edit this file directly, instead use a keymap specific Makefile config.h: The file that sets the default compile time options. Do not edit this file directly, instead use a keymap specific config.h. Keymap Structure In every keymap folder, the following files may be found. Only keymap.c is required, and if the rest of the files are not found the default options will be chosen. config.h: the options to configure your keymap keymap.c: all of your keymap code, required rules.mk: the features of QMK that are enabled readme.md: a description of your keymap, how others might use it, and explanations of features. Please upload images to a service like imgur. The config.h File There are 2 config.h locations: keyboard (\/keyboards\/<keyboard>\/config.h) keymap (\/keyboards\/<keyboard>\/keymaps\/<keymap>\/config.h) If the keymap config.h exists, that file is included by the build system and the keyboard config.h is not included. If you wish to override settings in your keymap's config.h you will need to include some glue code: #ifndef CONFIG_USER_H #define CONFIG_USER_H #include "config_common.h" If you want to override a setting from the parent config.h file, you need to #undef and then #define the setting again, like this: #undef MY_SETTING #define MY_SETTING 4","tags":"","