Peter's keyboard firmware (QMK) https://qmk.fm/
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.
fauxpark 53c51f1d16 A better new_project.sh (#5191) пре 6 месеци
..
gitbook/images RGB improvements (#1684) пре 2 година
zh Adds Proton C Conversion (#4661) пре 10 месеци
zh-cn Translate docs into Chinese (#5693) пре 6 месеци
.nojekyll Use docsfy to replace gitbook пре 1 година
CNAME Create CNAME пре 1 година
LANGS.md Second try at configuring i18n for docsify and gitbook (#4531) пре 11 месеци
README.md Fix readme and contributing hyperlinks пре 1 година
_summary.md [Docs] Smallish overhaul of the docs (#5281) пре 8 месеци
arm_debugging.md ARM SWD guide пре 1 година
becoming_a_qmk_collaborator.md Tweak the wording in "Becoming a QMK Collaborator" пре 1 година
compatible_microcontrollers.md Convert all headings to Title Case пре 1 година
config_options.md Change split_common to use RGBLIGHT_SPLIT (#5509) пре 6 месеци
contributing.md Update our style guide (#5500) пре 7 месеци
custom_quantum_functions.md Custom Tapping Term per key (#5009) пре 7 месеци
documentation_best_practices.md Fix up info boxes. пре 1 година
documentation_templates.md Update Document Templates to reflect newer wording and URLs (#4006) пре 1 година
faq.md Overhaul the Getting Started section and add a FAQ section пре 2 година
faq_build.md [Docs] Add udev rule for Input Club bootloaders (#5494) пре 7 месеци
faq_debug.md Trim trailing whitespace пре 1 година
faq_general.md Convert all headings to Title Case пре 1 година
faq_keymap.md Replace instances of KEYMAP with LAYOUT пре 8 месеци
feature_advanced_keycodes.md [Docs] Add Tap Dance example to the docs (#5326) пре 8 месеци
feature_audio.md [Docs] Add music_map to audio documentation (#5419) пре 8 месеци
feature_auto_shift.md Fix up info boxes. пре 1 година
feature_backlight.md Fix #3566 use an hardware timer for software PWM stability (#3615) пре 6 месеци
feature_bluetooth.md Update Bluetooth docs (#4062) пре 1 година
feature_bootmagic.md [Docs] Bootmagic Lite Caveat (#5069) пре 9 месеци
feature_combo.md Remove caveat about combos with shared keys (#5601) пре 7 месеци
feature_command.md Change Command keycode defaults to match corresponding Bootmagic codes (#5078) пре 9 месеци
feature_debounce_type.md Eager Per Row Debouncing added (added to Ergodox) (#5498) пре 7 месеци
feature_dynamic_macros.md Docs: Adjust dynamic macro docs to include more than the planck (#3509) пре 1 година
feature_encoders.md Improve Encoder documentation (#5130) пре 9 месеци
feature_grave_esc.md Document an annoyance with Grave Escape and macOS Terminal (#5483) пре 7 месеци
feature_haptic_feedback.md Haptic feedback generalized - DRV2605 and solenoids (#4939) пре 9 месеци
feature_hd44780.md Integrating Peter Fleury's HD44780 LCD library (#3209) пре 1 година
feature_key_lock.md Docs: Format Key Lock documentation (#3538) пре 1 година
feature_layouts.md Add a mechanism for force building a particular community layout (#5027) пре 9 месеци
feature_leader_key.md Fix up process_leader to be a bit more optimized (#4662) пре 10 месеци
feature_led_matrix.md Add documentation for led matrix пре 9 месеци
feature_macros.md [Docs] Adding Alt↯Tab example macro (#5616) пре 7 месеци
feature_mouse_keys.md Update mouse keys docs (#5653) пре 6 месеци
feature_oled_driver.md Fixing readme from feedback пре 6 месеци
feature_pointing_device.md Fix some of the more obvious typos пре 1 година
feature_ps2_mouse.md Circuitry sample for PS/2 Mouse (#3959) пре 1 година
feature_rgb_matrix.md RGB Matrix Animations: Three/six new reactive effects (wide, cross, nexus) (#5602) пре 6 месеци
feature_rgblight.md Define RGB colors (#5300) пре 6 месеци
feature_space_cadet_shift.md Improvements to Space Cadet Shift (#3856) пре 9 месеци
feature_space_cadet_shift_enter.md Docs: Format Space Cadet documentation (#3540) пре 1 година
feature_stenography.md Improve state/chord handling and clean up namespace пре 1 година
feature_swap_hands.md fix swap_hands keycodes in documentation (#3588) пре 1 година
feature_tap_dance.md [Docs] Add Tap Dance example to the docs (#5326) пре 8 месеци
feature_terminal.md Added command history to terminal with other bug fixes, added new song to song_list.h (#2855) пре 1 година
feature_thermal_printer.md Format keycode tables пре 1 година
feature_unicode.md [Docs] Add note about using Unicode Hex Input (#5248) пре 8 месеци
feature_userspace.md [Docs] Update the KC_MAKE example in Userspace docs (#5337) пре 8 месеци
feature_velocikey.md Velocikey: Match RGB animation speed to typing speed (#3754) пре 8 месеци
features.md Add LED Matrix to Features list for easy reference (#5280) пре 8 месеци
flashing.md Fix link to Caterina bootloader hex files (#5452) пре 7 месеци
fuse.txt convert docs to lowercase and underscores пре 2 година
getting_started_build_tools.md Revert "Update build instructions and docker file to download submodules" (#5533) пре 7 месеци
getting_started_getting_help.md Replace gitter links with Discord. (#3368) пре 1 година
getting_started_github.md Fix doc typo пре 1 година
getting_started_introduction.md Update config.h boilerplate to use `#pragma once` пре 1 година
getting_started_make_guide.md Clean up debounce a bit (#5255) пре 8 месеци
getting_started_vagrant.md Fix some of the more obvious typos пре 1 година
hand_wire.md A better new_project.sh (#5191) пре 6 месеци
hardware.md Fix some of the more obvious typos пре 1 година
hardware_avr.md A better new_project.sh (#5191) пре 6 месеци
hardware_drivers.md OLED Driver Feature пре 6 месеци
hardware_keyboard_guidelines.md Clarify LAYOUT vs LAYOUT_all пре 9 месеци
how_keyboards_work.md Fix ascii art (#5407) пре 8 месеци
i2c_driver.md Next set of split_common changes (#4974) пре 8 месеци
index.html Adds Proton C Conversion (#4661) пре 10 месеци
internals_defines.md rename api docs to internals пре 1 година
internals_gpio_control.md Grammatical fixes for GPIO Control doc (#4869) пре 10 месеци
internals_input_callback_reg.md rename api docs to internals пре 1 година
internals_midi_device.md rename api docs to internals пре 1 година
internals_midi_device_setup_process.md rename api docs to internals пре 1 година
internals_midi_util.md rename api docs to internals пре 1 година
internals_send_functions.md rename api docs to internals пре 1 година
internals_sysex_tools.md rename api docs to internals пре 1 година
isp_flashing_guide.md ISP Flashing Guide - atmega32a info (#4993) пре 7 месеци
keycodes.md Add C(), A() and G() to match already existing S() (#4673) пре 9 месеци
keycodes_basic.md Add new brightness aliases to keycodes_basic.md пре 10 месеци
keycodes_us_ansi_shifted.md Add caveats for shifted characters (#4192) пре 1 година
keymap.md [Docs] Smallish overhaul of the docs (#5281) пре 8 месеци
newbs.md Contribute the MechMerlin QMK Configurator docs (#4986) пре 9 месеци
newbs_best_practices.md Docs: Adding QMK Git Conventions doc; formatting cleanup on Learning Resources doc (#3902) пре 1 година
newbs_building_firmware.md Fix syntax for windows пре 1 година
newbs_building_firmware_configurator.md Contribute the MechMerlin QMK Configurator docs (#4986) пре 9 месеци
newbs_flashing.md [Docs] Smallish overhaul of the docs (#5281) пре 8 месеци
newbs_getting_started.md [Docs] Recursively clone qmk_firmware repo (#5378) пре 8 месеци
newbs_learn_more_resources.md Docs: Adding QMK Git Conventions doc; formatting cleanup on Learning Resources doc (#3902) пре 1 година
newbs_testing_debugging.md Add docs on using keyboard_post_init_user to enable debug modes пре 9 месеци
other_eclipse.md [Docs] Add VSCode guide to docs (#5124) пре 8 месеци
other_vscode.md [Docs] Add VSCode guide to docs (#5124) пре 8 месеци
porting_your_keyboard_to_qmk_(arm_and_other_chibios_cpus).md A better new_project.sh (#5191) пре 6 месеци
power.txt Trim trailing whitespace пре 1 година
proton_c_conversion.md Adds Proton C Conversion (#4661) пре 10 месеци
qmk.css Some more tweaks to make everything look nice пре 1 година
quantum_keycodes.md Add EEPROM_RESET keycode to core code (#4234) пре 1 година
redirects.json Docs: Format Space Cadet documentation (#3540) пре 1 година
ref_functions.md Add tap_random_base64 and software timer info to Useful Functions doc (#4360) пре 11 месеци
reference_configurator_support.md Docs: Supporting a keyboard in the QMK Configurator (#4396) пре 1 година
reference_glossary.md Fix more broken links to the HID spec пре 1 година
reference_info_json.md Add label to the info.json reference пре 9 месеци
sidebar.css override hamburger placement пре 1 година
support.md Add support for PR and Issue templates to QMK_firmware GitHub (#4494) пре 11 месеци
sw.js Fix up info boxes. пре 1 година
understanding_qmk.md [Docs] Smallish overhaul of the docs (#5281) пре 8 месеци
unit_testing.md Trim trailing whitespace пре 1 година
usb_nkro.txt convert docs to lowercase and underscores пре 2 година

README.md

Quantum Mechanical Keyboard Firmware

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.