keychron_qmk_firmware/docs
Sergey Vlasov 0cb4da2c74
Really fix Ubuntu/Debian setup when $PATH contains spaces (#9370)
PR #9307 fixed the immediately visible problem (the command that was
added to $HOME/.bashrc was incorrect because of missing quotes around
paths with spaces).  However, the modified command is still wrong - it
captures the value of $PATH at the setup time, and the resulting command
written out to $HOME/.bashrc will overwrite $PATH with that captured
value, ignoring any changes in the environment.  This may be especially
important for WSL, where the initial value of $PATH in Linux includes
everything which has been added to %PATH% on the Windows side; after
adding that command to $HOME/.bashrc the WSL environment will no longer
pick up any changes made by newly installed Windows software.

Instead of that, use single quotes around the command, so that the
environment variables are not expanded at the setup time, and the
command that is added to $HOME/.bashrc becomes exactly this:

    PATH="$HOME/.local/bin:$PATH"

This command will use the $HOME and $PATH environment variable values at
the time the command is executed, not at the time the QMK setup is
performed, so any further updates to $PATH are taken into account.
Double quotes also ensure that the command is safe even if the values of
those environment variables contain spaces.
2020-06-11 12:26:10 +01:00
..
ChangeLog 2020 May 30 Breaking Changes Update (#9215) 2020-05-30 13:14:59 -07:00
de Fix capitalisation of "GitHub" (#9184) 2020-05-25 19:43:14 -07:00
es Fix capitalisation of "GitHub" (#9184) 2020-05-25 19:43:14 -07:00
fr-fr Fix capitalisation of "GitHub" (#9184) 2020-05-25 19:43:14 -07:00
gitbook/images
he-il Fix capitalisation of "GitHub" (#9184) 2020-05-25 19:43:14 -07:00
ja [Docs] Japanese translation of docs/feature_wpm.md (#9254) 2020-06-10 21:04:39 +09:00
pt-br Fix capitalisation of "GitHub" (#9184) 2020-05-25 19:43:14 -07:00
ru-ru Fix capitalisation of "GitHub" (#9184) 2020-05-25 19:43:14 -07:00
zh-cn 2020 May 30 Breaking Changes Update (#9215) 2020-05-30 13:14:59 -07:00
_langs.md
_summary.md Add documentation for selecting an Arm MCU (#9046) 2020-06-10 23:32:58 +01:00
.nojekyll
adc_driver.md adds support for the atmega328 (#9043) 2020-06-10 22:23:11 +01:00
api_development_environment.md Add API documentation 2020-03-05 16:00:10 -08:00
api_development_overview.md Add API documentation 2020-03-05 16:00:10 -08:00
api_docs.md Add API documentation 2020-03-05 16:00:10 -08:00
api_overview.md Add API documentation 2020-03-05 16:00:10 -08:00
arm_debugging.md
breaking_changes_instructions.md 2020 May 30 Breaking Changes Update (#9215) 2020-05-30 13:14:59 -07:00
breaking_changes.md 2020 May 30 Breaking Changes Update (#9215) 2020-05-30 13:14:59 -07:00
cli_commands.md [CLI] Add a subcommand for getting information about a keyboard (#8666) 2020-05-26 13:05:41 -07:00
cli_configuration.md Fix capitalisation of "GitHub" (#9184) 2020-05-25 19:43:14 -07:00
cli_development.md Fix capitalisation of "GitHub" (#9184) 2020-05-25 19:43:14 -07:00
cli.md Streamline the macos install process 2020-05-18 22:46:33 -07:00
CNAME
coding_conventions_c.md Update C coding conventions to match .clang-format config for i… (#8717) 2020-04-07 14:14:08 +10:00
coding_conventions_python.md Move everything to Python 3.6 (#8835) 2020-04-18 22:00:56 +02:00
compatible_microcontrollers.md adds support for the atmega328 (#9043) 2020-06-10 22:23:11 +01:00
config_options.md Option to allow lighting layers when RGB Lighting is off (#9051) 2020-06-01 11:02:28 +02:00
configurator_step_by_step.md Fix capitalisation of "GitHub" (#9184) 2020-05-25 19:43:14 -07:00
configurator_troubleshooting.md Polish Configurator section 2020-03-05 16:00:10 -08:00
contributing.md Add explicit id tags to externally linked headers 2020-03-05 16:00:10 -08:00
custom_matrix.md
custom_quantum_functions.md 2020 May 30 Breaking Changes Update (#9215) 2020-05-30 13:14:59 -07:00
documentation_best_practices.md
documentation_templates.md Add explicit id tags to externally linked headers 2020-03-05 16:00:10 -08:00
driver_installation_zadig.md
eeprom_driver.md Add SPI 25xx EEPROM support. (#8780) 2020-05-19 10:34:00 +10:00
faq_build.md [Docs] Update udev rules to use TAG+="uaccess". (#8750) 2020-06-07 09:06:55 +01:00
faq_debug.md Remove Atmel FLIP from install scripts and documentation (#8822) 2020-04-17 09:50:58 +02:00
faq_general.md Rework the newbs guide around the qmk cli 2020-03-05 16:00:10 -08:00
faq_keymap.md make custom_keycode_names.md a faq entry instead 2020-03-05 16:00:10 -08:00
feature_advanced_keycodes.md Add *OPT aliases for *ALT keycodes and macros (#8714) 2020-04-12 11:37:55 -07:00
feature_audio.md
feature_auto_shift.md
feature_backlight.md adds support for the atmega328 (#9043) 2020-06-10 22:23:11 +01:00
feature_bluetooth.md
feature_bootmagic.md Add support for Bootmagic lite when using SPLIT_HAND_PIN (#8347) 2020-03-21 23:10:39 +00:00
feature_combo.md
feature_command.md
feature_debounce_type.md quantum/debounce: Added sym_pk debounce algorithm (#8587) 2020-04-11 21:29:48 +10:00
feature_dip_switch.md
feature_dynamic_macros.md
feature_encoders.md fix sample code indent in feature_encoders.md (#8883) 2020-04-23 08:56:22 +10:00
feature_grave_esc.md
feature_haptic_feedback.md
feature_hd44780.md fixed typo for clear lcd screen function in hd44780 docs (#9086) 2020-05-13 19:06:41 +01:00
feature_key_lock.md Add explicit id tags to externally linked headers 2020-03-05 16:00:10 -08:00
feature_layers.md [Docs] Update layer documentation (#8371) 2020-03-21 10:17:02 -07:00
feature_layouts.md
feature_leader_key.md [Docs] Update layer documentation (#8371) 2020-03-21 10:17:02 -07:00
feature_led_matrix.md
feature_macros.md Add *OPT aliases for *ALT keycodes and macros (#8714) 2020-04-12 11:37:55 -07:00
feature_mouse_keys.md Decouple mouse cursor and mouse wheel in accelerated mode (#6685) 2020-03-13 12:49:44 -04:00
feature_oled_driver.md Adding OLED scroll setup functions (#8386) 2020-03-14 21:04:34 +00:00
feature_pointing_device.md Include pointing_device_send in docs (#9185) 2020-06-10 23:18:53 +01:00
feature_ps2_mouse.md Add PS2_MOUSE_ROTATE to compensate for device orientation (#8650) 2020-04-09 01:29:27 -07:00
feature_rawhid.md Allow for overriding RAW endpoint usage page and ID. (#8834) 2020-05-21 20:31:42 +10:00
feature_rgb_matrix.md 2020 May 30 Breaking Changes Update (#9215) 2020-05-30 13:14:59 -07:00
feature_rgblight.md Option to allow lighting layers when RGB Lighting is off (#9051) 2020-06-01 11:02:28 +02:00
feature_space_cadet.md
feature_split_keyboard.md Update ARM split keyboard docs (#9160) 2020-05-22 06:20:46 +10:00
feature_stenography.md [Docs] Random Fixes (#8340) 2020-03-15 20:29:11 -07:00
feature_swap_hands.md One shot support for swap hands (#8590) 2020-05-14 07:36:55 +10:00
feature_tap_dance.md Add explicit id tags to externally linked headers 2020-03-05 16:00:10 -08:00
feature_terminal.md
feature_thermal_printer.md
feature_unicode.md Rename UC_OSX (and related constants) to UC_MAC (#8589) 2020-03-31 18:28:43 +02:00
feature_userspace.md [Docs] Fixed the hyperlink to /users/_example/. (#9326) 2020-06-10 15:27:25 -07:00
feature_velocikey.md
feature_wpm.md Add Word Per Minute calculation feature (#8054) 2020-03-23 00:06:16 +11:00
flashing_bootloadhid.md
flashing.md Remove Atmel FLIP from install scripts and documentation (#8822) 2020-04-17 09:50:58 +02:00
fuse.txt
getting_started_docker.md Reintegrate previous docker docs (#9084) 2020-05-19 21:54:55 -07:00
getting_started_github.md Fix capitalisation of "GitHub" (#9184) 2020-05-25 19:43:14 -07:00
getting_started_introduction.md
getting_started_make_guide.md
getting_started_vagrant.md Remove Atmel FLIP from install scripts and documentation (#8822) 2020-04-17 09:50:58 +02:00
hand_wire.md make sure all our redirects are in order 2020-03-05 16:00:10 -08:00
hardware_avr.md
hardware_drivers.md Add customisable EEPROM driver selection (#7274) 2020-01-24 12:45:58 +11:00
hardware_keyboard_guidelines.md [Docs] added the description of the reading order of the rules.mk files. (#8566) 2020-03-29 13:00:47 -07:00
how_a_matrix_works.md refactor How a Matrix Works doc 2020-03-05 16:00:10 -08:00
how_keyboards_work.md
i2c_driver.md [Docs] Random Fixes (#8340) 2020-03-15 20:29:11 -07:00
index.html Add redirect for old getting started links (#8987) 2020-05-02 04:29:55 +01:00
internals_defines.md
internals_gpio_control.md add 'togglePin' convenience function (#8734) 2020-04-29 04:04:29 -07:00
internals_input_callback_reg.md
internals_midi_device_setup_process.md
internals_midi_device.md
internals_midi_util.md
internals_send_functions.md
internals_sysex_tools.md
isp_flashing_guide.md Improve stock bootloader list (#9067) 2020-05-13 19:32:43 -07:00
keycodes_basic.md Add *OPT aliases for *ALT keycodes and macros (#8714) 2020-04-12 11:37:55 -07:00
keycodes_us_ansi_shifted.md
keycodes.md Add OS compatibility matrix for basic keycodes (#8557) 2020-06-09 12:28:36 +01:00
keymap.md [Docs] Clarify layer transparency keymap.md (#9081) 2020-05-16 00:35:19 -07:00
mod_tap.md Add *OPT aliases for *ALT keycodes and macros (#8714) 2020-04-12 11:37:55 -07:00
newbs_building_firmware_configurator.md Polish Configurator section 2020-03-05 16:00:10 -08:00
newbs_building_firmware.md Add explicit id tags to externally linked headers 2020-03-05 16:00:10 -08:00
newbs_flashing.md [Docs] newbs_flashing.md: place bootloader instructions before Toolbox intro (#9077) 2020-05-21 09:24:39 -07:00
newbs_getting_started.md Really fix Ubuntu/Debian setup when $PATH contains spaces (#9370) 2020-06-11 12:26:10 +01:00
newbs_git_best_practices.md
newbs_git_resolving_merge_conflicts.md
newbs_git_resynchronize_a_branch.md
newbs_git_using_your_master_branch.md Add explicit id tags to externally linked headers 2020-03-05 16:00:10 -08:00
newbs_learn_more_resources.md overhaul the newbs guide 2020-03-05 16:00:10 -08:00
newbs_testing_debugging.md Add explicit id tags to externally linked headers 2020-03-05 16:00:10 -08:00
newbs.md overhaul the newbs guide 2020-03-05 16:00:10 -08:00
one_shot_keys.md break feature_advanced_keycodes.md up into multiple files 2020-03-05 16:00:10 -08:00
other_eclipse.md fix two links on docs/other_eclipse.md (#8417) 2020-03-14 13:25:21 +00:00
other_vscode.md Fix capitalisation of "GitHub" (#9184) 2020-05-25 19:43:14 -07:00
platformdev_chibios_earlyinit.md Add support for hardware and board initialisation overrides. (#8330) 2020-04-13 09:39:38 +10:00
platformdev_selecting_arm_mcu.md Add documentation for selecting an Arm MCU (#9046) 2020-06-10 23:32:58 +01:00
power.txt
proton_c_conversion.md Update ARM split keyboard docs (#9160) 2020-05-22 06:20:46 +10:00
qmk_custom_dark.css Fix darkmode (#8393) 2020-03-12 18:17:47 +11:00
qmk_custom_light.css Fix darkmode (#8393) 2020-03-12 18:17:47 +11:00
qmk.css
quantum_keycodes.md Add explicit id tags to externally linked headers 2020-03-05 16:00:10 -08:00
README.md make sure all our redirects are in order 2020-03-05 16:00:10 -08:00
redirects.json
ref_functions.md Fix a couple of typos that were causing confusion (#8767) 2020-04-12 16:22:59 +10:00
reference_configurator_support.md Polish Configurator section 2020-03-05 16:00:10 -08:00
reference_glossary.md Remove Atmel FLIP from install scripts and documentation (#8822) 2020-04-17 09:50:58 +02:00
reference_info_json.md
reference_keymap_extras.md French (Belgium) was missing (#9245) 2020-06-01 23:14:14 +10:00
serial_driver.md Update ARM split keyboard docs (#9160) 2020-05-22 06:20:46 +10:00
spi_driver.md adds support for the atmega328 (#9043) 2020-06-10 22:23:11 +01:00
support.md Fix capitalisation of "GitHub" (#9184) 2020-05-25 19:43:14 -07:00
sw.js
syllabus.md [Docs] Fixed minor typos (#8860) 2020-04-19 23:04:26 +01:00
tap_hold.md 2020 May 30 Breaking Changes Update (#9215) 2020-05-30 13:14:59 -07:00
translating.md
understanding_qmk.md Add Post Processing to process_record (#4892) 2020-03-23 00:29:05 +11:00
unit_testing.md Edit Unit Testing Documentation (#8961) 2020-04-29 07:39:08 +10:00
usb_nkro.txt
ws2812_driver.md PWM DMA based RGB Underglow for STM32 (#7928) 2020-03-01 13:05:56 +11:00

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 centered around developing computer input devices. The community encompasses all sorts of input devices, such as keyboards, mice, and MIDI devices. A core group of collaborators maintains QMK Firmware, QMK Configurator, QMK Toolbox, qmk.fm, and this documentation with the help of community members like you.

Get Started

Totally new to QMK? There are two ways to get started:

Make It Yours

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.

Need help?

Check out the support page to see how you can get help using QMK.

Give Back

There are a lot of ways you can contribute to the QMK Community. The easiest way to get started is to use it and spread the word to your friends.