2018-05-06 19:34:47 +00:00
<!DOCTYPE html>
< html class = "no-js" lang = "en" >
< head >
< title > QMK Firmware < / title >
< meta name = "description" content = "Keyboard controller firmware for Atmel AVR and ARM USB families" >
< meta name = "author" content = "QMK Community" >
< meta charset = "UTF-8" >
< meta http-equiv = "X-UA-Compatible" content = "IE=edge" >
< link rel = "icon" href = "themes/daux/img/favicon-blue.png" type = "image/x-icon" >
<!-- Mobile -->
< meta name = "apple-mobile-web-app-capable" content = "yes" / >
< meta name = "viewport" content = "width=device-width, initial-scale=1.0" >
<!-- Font -->
<!-- CSS -->
< link href = 'themes/daux/css/theme-blue.min.css' rel = 'stylesheet' type = 'text/css' >
<!-- Tipue Search -->
< link href = "tipuesearch/tipuesearch.css" rel = "stylesheet" >
<!-- [if lt IE 9]>
< script src = "themes/daux/js/html5shiv-3.7.3.min.js" > < / script >
<![endif]-->
< / head >
2018-05-06 19:57:53 +00:00
< body class = " " >
< div class = "Columns content" >
< aside class = "Columns__left Collapsible" >
< button type = "button" class = "Button Collapsible__trigger" >
< span class = "Collapsible__trigger__bar" > < / span >
< span class = "Collapsible__trigger__bar" > < / span >
< span class = "Collapsible__trigger__bar" > < / span >
< / button >
2018-05-06 19:34:47 +00:00
< a class = "Brand" href = "index.html" > QMK Firmware< / a >
< div class = "Search" >
< svg class = "Search__icon" xmlns = "http://www.w3.org/2000/svg" viewBox = "0 0 451 451" >
< path d = "M447.05 428l-109.6-109.6c29.4-33.8 47.2-77.9 47.2-126.1C384.65 86.2 298.35 0 192.35 0 86.25 0 .05 86.3.05 192.3s86.3 192.3 192.3 192.3c48.2 0 92.3-17.8 126.1-47.2L428.05 447c2.6 2.6 6.1 4 9.5 4s6.9-1.3 9.5-4c5.2-5.2 5.2-13.8 0-19zM26.95 192.3c0-91.2 74.2-165.3 165.3-165.3 91.2 0 165.3 74.2 165.3 165.3s-74.1 165.4-165.3 165.4c-91.1 0-165.3-74.2-165.3-165.4z" / >
< / svg >
< input type = "search" id = "tipue_search_input" class = "Search__field" placeholder = "Search..." autocomplete = "on"
results=25 autosave=text_search>
< / div >
2018-05-06 19:57:53 +00:00
< div class = "Collapsible__content" >
<!-- Navigation -->
< ul class = 'Nav' > < li class = 'Nav__item has-children' > < a href = "Getting_Started/index.html" class = "folder" > < i class = "Nav__arrow" > < / i > Getting Started< / a > < ul class = 'Nav' > < li class = 'Nav__item ' > < a href = "Getting_Started/Install_Build_Tools.html" > Install Build Tools< / a > < / li > < li class = 'Nav__item ' > < a href = "Getting_Started/Vagrant.html" > Vagrant< / a > < / li > < li class = 'Nav__item ' > < a href = "Getting_Started/Build_Compile_Instructions.html" > Build Compile Instructions< / a > < / li > < li class = 'Nav__item ' > < a href = "Getting_Started/Flashing_Firmware.html" > Flashing Firmware< / a > < / li > < li class = 'Nav__item ' > < a href = "Getting_Started/Contributing.html" > Contributing< / a > < / li > < li class = 'Nav__item ' > < a href = "Getting_Started/How_to_Use_GitHub.html" > How to Use GitHub< / a > < / li > < li class = 'Nav__item ' > < a href = "Getting_Started/Getting_Help.html" > Getting Help< / a > < / li > < / ul > < / li > < li class = 'Nav__item has-children' > < a href = "Complete_Newbs_Guide/index.html" class = "folder" > < i class = "Nav__arrow" > < / i > Complete Newbs Guide< / a > < ul class = 'Nav' > < li class = 'Nav__item ' > < a href = "Complete_Newbs_Guide/Complete_Newbie's_Guide.html" > Complete Newbie's Guide< / a > < / li > < li class = 'Nav__item ' > < a href = "Complete_Newbs_Guide/Building_Your_First_Firmware.html" > Building Your First Firmware< / a > < / li > < li class = 'Nav__item ' > < a href = "Complete_Newbs_Guide/Flashing_Firmware.html" > Flashing Firmware< / a > < / li > < li class = 'Nav__item ' > < a href = "Complete_Newbs_Guide/Testing_and_Debugging.html" > Testing and Debugging< / a > < / li > < / ul > < / li > < li class = 'Nav__item has-children' > < a href = "FAQ/index.html" class = "folder" > < i class = "Nav__arrow" > < / i > FAQ< / a > < ul class = 'Nav' > < li class = 'Nav__item ' > < a href = "FAQ/General_FAQ.html" > General FAQ< / a > < / li > < li class = 'Nav__item ' > < a href = "FAQ/Build_Compile_QMK.html" > Build Compile QMK< / a > < / li > < li class = 'Nav__item ' > < a href = "FAQ/Debugging_and_Troubleshooting.html" > Debugging and Troubleshooting< / a > < / li > < li class = 'Nav__item ' > < a href = "FAQ/Keymaps.html" > Keymaps< / a > < / li > < / ul > < / li > < li class = 'Nav__item has-children' > < a href = "Hardware/index.html" class = "folder" > < i class = "Nav__arrow" > < / i > Hardware< / a > < ul class = 'Nav' > < li class = 'Nav__item ' > < a href = "Hardware/AVR_Processors.html" > AVR Processors< / a > < / li > < li class = 'Nav__item ' > < a href = "Hardware/Drivers.html" > Drivers< / a > < / li > < / ul > < / li > < li class = 'Nav__item has-children' > < a href = "Features/index.html" class = "folder" > < i class = "Nav__arrow" > < / i > Features< / a > < ul class = 'Nav' > < li class = 'Nav__item ' > < a href = "Features/Advanced_Keycodes.html" > Advanced Keycodes< / a > < / li > < li class = 'Nav__item ' > < a href = "Features/Audio.html" > Audio< / a > < / li > < li class = 'Nav__item ' > < a href = "Features/Auto_Shift.html" > Auto Shift< / a > < / li > < li class = 'Nav__item ' > < a href = "Features/Backlight.html" > Backlight< / a > < / li > < li class = 'Nav__item ' > < a href = "Features/Bluetooth.html" > Bluetooth< / a > < / li > < li class = 'Nav__item ' > < a href = "Features/Bootmagic.html" > Bootmagic< / a > < / li > < li class = 'Nav__item ' > < a href = "Features/Command.html" > Command< / a > < / li > < li class = 'Nav__item ' > < a href = "Features/Dynamic_Macros.html" > Dynamic Macros< / a > < / li > < li class = 'Nav__item ' > < a href = "Features/Grave_Escape.html" > Grave Escape< / a > < / li > < li class = 'Nav__item ' > < a href = "Features/Key_Lock.html" > Key Lock< / a > < / li > < li class = 'Nav__item ' > < a href = "Features/Layouts.html" > Layouts< / a > < / li > < li class = 'Nav__item ' > < a href = "Features/Leader_Key.html" > Leader Key< / a > < / li > < li class = 'Nav__item ' > < a href = "Features/Macros.html" > Macros< / a > < / li > < li class = 'Nav__item ' > < a href = "Features/Mouse_Keys.html" > Mouse Keys< / a > < / li > < li class = 'Nav__item ' > < a href = "Features/Pointing_Device.html" > Pointing Device< / a > < / li > < li class = 'Nav__item ' > < a href = "Features/PS_2_Mouse.html" > PS 2 Mouse< / a > < / li > < li class = 'Nav__item ' > < a href = "Features/RGB_Lighting.html" > RGB Lighting< / a > < / li > < li class = 'Nav__item ' > < a href = "Features/Space_Cadet_Shift.html" > Space Cadet Shift< / a > < / li > < li class = 'Nav__item ' > < a href = "Features/Space_Cadet_Shift_Enter.html" > Space Cadet Shift Enter< / a > < / li > < li class = 'Nav__item ' > < a href = "Features/Stenography.html" > Stenography< / a > < / li > < li class = 'Nav__item ' > < a href = "Features/Swap_Hands.html" > Swap Hands< / a > < / li > < li class = 'Nav__item
2018-05-06 19:34:47 +00:00
2018-05-06 19:57:53 +00:00
< div class = "Links" >
< hr / >
< a href = "https://qmk.fm/" target = "_blank" > QMK Link< / a >
< br / >
< / div >
2018-05-06 19:34:47 +00:00
2018-05-06 19:57:53 +00:00
< / div >
< / aside >
< div class = "Columns__right Columns__right--full" >
< div class = "Columns__right__content" >
< div class = "doc_content" >
< article class = "Page" >
< div class = "Page__header" >
< h1 > < a href = "" > QMK Firmware< / a > < / h1 >
< / div >
2018-05-06 19:34:47 +00:00
2018-05-06 19:57:53 +00:00
< div class = "s-content" >
< ul class = "TableOfContents" >
2018-05-06 19:34:47 +00:00
< li >
< p > < a href = "#page_Quantum-Mechanical-Keyboard-Firmware" > Quantum Mechanical Keyboard Firmware< / a > < / p >
< ul class = "TableOfContents" >
< li >
< p > < a href = "#page_What-is-QMK-Firmware" > What is QMK Firmware?< / a > < / p >
< / li >
< li >
2018-05-06 19:57:53 +00:00
< p > < a href = "#page_How-to-Get-It" > How to Get It< / a > < / p >
< / li >
< li >
< p > < a href = "#page_How-to-Compile" > How to Compile< / a > < / p >
< / li >
< li >
< p > < a href = "#page_How-to-Customize" > How to Customize< / a > < / p >
2018-05-06 19:34:47 +00:00
< / li >
< / ul >
< / li >
< / ul >
< h1 id = "page_Quantum-Mechanical-Keyboard-Firmware" > Quantum Mechanical Keyboard Firmware< / h1 >
< h2 id = "page_What-is-QMK-Firmware" > What is QMK Firmware?< / h2 >
< p > QMK (< em > Quantum Mechanical Keyboard< / em > ) 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 < a href = "http://github.com/tmk/tmk_keyboard" class = "Link--external" > tmk_keyboard< / a > with some useful features for Atmel AVR controllers, and more specifically, the < a href = "http://olkb.com" class = "Link--external" > OLKB product line< / a > , the < a href = "http://www.ergodox-ez.com" class = "Link--external" > ErgoDox EZ< / a > keyboard, and the < a href = "http://clueboard.co/" class = "Link--external" > Clueboard product line< / a > . It has also been ported to ARM chips using ChibiOS. You can use it to power your own hand-wired or custom keyboard PCB.< / p >
2018-05-06 19:57:53 +00:00
< h2 id = "page_How-to-Get-It" > How to Get It< / h2 >
< p > If you plan on contributing a keymap, keyboard, or features to QMK, the easiest thing to do is < a href = "https://github.com/qmk/qmk_firmware#fork-destination-box" class = "Link--external" > fork the repo through Github< / a > , and clone your repo locally to make your changes, push them, then open a < a href = "https://github.com/qmk/qmk_firmware/pulls" class = "Link--external" > Pull Request< / a > from your fork.< / p >
< p > Otherwise, you can either download it directly (< a href = "https://github.com/qmk/qmk_firmware/zipball/master" class = "Link--external" > zip< / a > , < a href = "https://github.com/qmk/qmk_firmware/tarball/master" class = "Link--external" > tar< / a > ), or clone it via git (< code > git@github.com:qmk/qmk_firmware.git< / code > ), or https (< code > https://github.com/qmk/qmk_firmware.git< / code > ).< / p >
< h2 id = "page_How-to-Compile" > How to Compile< / h2 >
< p > Before you are able to compile, you'll need to < a href = "Getting_Started/Install_Build_Tools.html" > install an environment< / a > for AVR or/and ARM development. Once that is complete, you'll use the < code > make< / code > command to build a keyboard and keymap with the following notation:< / p >
< pre > < code > make planck/rev4:default
< / code > < / pre >
< p > This would build the < code > rev4< / code > revision of the < code > planck< / code > with the < code > default< / code > keymap. Not all keyboards have revisions (also called subprojects or folders), in which case, it can be omitted:< / p >
< pre > < code > make preonic:default
< / code > < / pre >
< h2 id = "page_How-to-Customize" > How to Customize< / h2 >
< p > QMK has lots of < a href = "Features/index.html" > features< / a > to explore, and a good deal of < a href = "http://docs.qmk.fm" class = "Link--external" > reference documentation< / a > to dig through. Most features are taken advantage of by modifying your < a href = "Reference/Keymap_Overview.html" > keymap< / a > , and changing the < a href = "Keycodes/index.html" > keycodes< / a > .< / p >
2018-05-06 19:34:47 +00:00
< / div >
2018-05-06 19:57:53 +00:00
< nav >
< ul class = "Pager" >
< li class = Pager--next > < a href = "Getting_Started/index.html" > Next< / a > < / li > < / ul >
< / nav >
< / article >
< / div >
< / div >
2018-05-06 19:34:47 +00:00
< / div >
< / div >
<!-- JS -->
< script src = "themes/daux/js/jquery-1.11.3.min.js" > < / script > < script src = "themes/daux/js/highlight.pack.js" > < / script > < script src = "themes/daux/js/daux.js" > < / script >
<!-- Tipue Search -->
< script type = "text/javascript" src = "tipuesearch/tipuesearch.js" > < / script >
< script >
window.onunload = function(){}; // force $(document).ready to be called on back/forward navigation in firefox
$(function() {
tipuesearch({
'base_url': ''
});
});
< / script >
< / body >
< / html >