You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
qmk_firmware/docs
skullY c7b09d858e
vuepress testing
5 years ago
..
.vuepress vuepress testing 5 years ago
gitbook/images RGB improvements (#1684) 7 years ago
zh Adds Proton C Conversion (#4661) 5 years ago
zh-cn Change from avr-gcc@7 to @8 for Mac 5 years ago
.nojekyll Use docsfy to replace gitbook 6 years ago
CNAME Create CNAME 6 years ago
LANGS.md Second try at configuring i18n for docsify and gitbook (#4531) 6 years ago
README.md vuepress testing 5 years ago
_summary.md [Docs] Add dedicated page for Split Keyboard information (#5802) 5 years ago
arm_debugging.md vuepress testing 5 years ago
becoming_a_qmk_collaborator.md vuepress testing 5 years ago
cli.md vuepress testing 5 years ago
coding_conventions_c.md vuepress testing 5 years ago
coding_conventions_python.md vuepress testing 5 years ago
compatible_microcontrollers.md vuepress testing 5 years ago
config_options.md vuepress testing 5 years ago
contributing.md vuepress testing 5 years ago
custom_quantum_functions.md vuepress testing 5 years ago
deeper_understanding.md vuepress testing 5 years ago
detailed_guides.md vuepress testing 5 years ago
documentation_best_practices.md vuepress testing 5 years ago
documentation_templates.md vuepress testing 5 years ago
faq.md vuepress testing 5 years ago
faq_build.md vuepress testing 5 years ago
faq_debug.md vuepress testing 5 years ago
faq_general.md vuepress testing 5 years ago
faq_keymap.md vuepress testing 5 years ago
feature_advanced_keycodes.md vuepress testing 5 years ago
feature_audio.md vuepress testing 5 years ago
feature_auto_shift.md vuepress testing 5 years ago
feature_backlight.md vuepress testing 5 years ago
feature_bluetooth.md vuepress testing 5 years ago
feature_bootmagic.md vuepress testing 5 years ago
feature_combo.md vuepress testing 5 years ago
feature_command.md vuepress testing 5 years ago
feature_debounce_type.md vuepress testing 5 years ago
feature_dynamic_macros.md vuepress testing 5 years ago
feature_encoders.md vuepress testing 5 years ago
feature_grave_esc.md vuepress testing 5 years ago
feature_haptic_feedback.md vuepress testing 5 years ago
feature_hd44780.md vuepress testing 5 years ago
feature_key_lock.md vuepress testing 5 years ago
feature_layouts.md vuepress testing 5 years ago
feature_leader_key.md vuepress testing 5 years ago
feature_led_matrix.md vuepress testing 5 years ago
feature_macros.md vuepress testing 5 years ago
feature_mouse_keys.md vuepress testing 5 years ago
feature_oled_driver.md vuepress testing 5 years ago
feature_pointing_device.md vuepress testing 5 years ago
feature_ps2_mouse.md vuepress testing 5 years ago
feature_rgb_matrix.md vuepress testing 5 years ago
feature_rgblight.md vuepress testing 5 years ago
feature_space_cadet.md vuepress testing 5 years ago
feature_split_keyboard.md vuepress testing 5 years ago
feature_stenography.md vuepress testing 5 years ago
feature_swap_hands.md vuepress testing 5 years ago
feature_tap_dance.md vuepress testing 5 years ago
feature_terminal.md vuepress testing 5 years ago
feature_thermal_printer.md vuepress testing 5 years ago
feature_unicode.md vuepress testing 5 years ago
feature_userspace.md vuepress testing 5 years ago
feature_velocikey.md vuepress testing 5 years ago
features.md vuepress testing 5 years ago
flashing.md vuepress testing 5 years ago
fuse.txt convert docs to lowercase and underscores 7 years ago
getting_started_build_tools.md vuepress testing 5 years ago
getting_started_getting_help.md vuepress testing 5 years ago
getting_started_github.md vuepress testing 5 years ago
getting_started_introduction.md vuepress testing 5 years ago
getting_started_make_guide.md vuepress testing 5 years ago
getting_started_vagrant.md vuepress testing 5 years ago
hand_wire.md vuepress testing 5 years ago
hardware.md vuepress testing 5 years ago
hardware_avr.md vuepress testing 5 years ago
hardware_drivers.md vuepress testing 5 years ago
hardware_keyboard_guidelines.md vuepress testing 5 years ago
how_keyboards_work.md vuepress testing 5 years ago
i2c_driver.md vuepress testing 5 years ago
index.html use twitter card large setting for larger previews 5 years ago
internals_defines.md vuepress testing 5 years ago
internals_gpio_control.md vuepress testing 5 years ago
internals_input_callback_reg.md vuepress testing 5 years ago
internals_midi_device.md vuepress testing 5 years ago
internals_midi_device_setup_process.md vuepress testing 5 years ago
internals_midi_util.md vuepress testing 5 years ago
internals_send_functions.md rename api docs to internals 6 years ago
internals_sysex_tools.md rename api docs to internals 6 years ago
isp_flashing_guide.md vuepress testing 5 years ago
keycodes.md vuepress testing 5 years ago
keycodes_basic.md vuepress testing 5 years ago
keycodes_us_ansi_shifted.md vuepress testing 5 years ago
keymap.md vuepress testing 5 years ago
makers_modders.md vuepress testing 5 years ago
newbs.md vuepress testing 5 years ago
newbs_best_practices.md vuepress testing 5 years ago
newbs_building_firmware.md vuepress testing 5 years ago
newbs_building_firmware_configurator.md vuepress testing 5 years ago
newbs_flashing.md vuepress testing 5 years ago
newbs_getting_started.md vuepress testing 5 years ago
newbs_learn_more_resources.md vuepress testing 5 years ago
newbs_testing_debugging.md vuepress testing 5 years ago
other_eclipse.md vuepress testing 5 years ago
other_topics.md vuepress testing 5 years ago
other_vscode.md vuepress testing 5 years ago
porting_your_keyboard_to_qmk_(arm_and_other_chibios_cpus).md A better new_project.sh (#5191) 5 years ago
power.txt Trim trailing whitespace 7 years ago
proton_c_conversion.md vuepress testing 5 years ago
python_development.md vuepress testing 5 years ago
qmk.css Some more tweaks to make everything look nice 6 years ago
qmk_internals.md vuepress testing 5 years ago
quantum_keycodes.md vuepress testing 5 years ago
redirects.json Docs: Format Space Cadet documentation (#3540) 6 years ago
ref_functions.md vuepress testing 5 years ago
reference.md vuepress testing 5 years ago
reference_configurator_support.md vuepress testing 5 years ago
reference_glossary.md vuepress testing 5 years ago
reference_info_json.md vuepress testing 5 years ago
sidebar.css override hamburger placement 6 years ago
support.md vuepress testing 5 years ago
sw.js Fix up info boxes. 6 years ago
understanding_qmk.md vuepress testing 5 years ago
unit_testing.md vuepress testing 5 years ago
usb_nkro.txt convert docs to lowercase and underscores 7 years ago

README.md

Quantum Mechanical Keyboard Firmware

toc

Current Version Build Status Discord Docs Status GitHub contributors GitHub forks

What is QMK Firmware?

QMK (Quantum Mechanical Keyboard) is an open source community that maintains QMK Firmware, QMK Toolbox, 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.