keychron_qmk_firmware/docs
Zsolt Parragi 805f5cb72b
One shot support for swap hands (#8590)
This commits add the SH_OS keycode, which works similarly to one shot
layers:
* while pressed, the keyboard is swapped
* if no keys were pressed while it was pressed, the next key press is
swapped

SH_OS also supports chaining with one shot layers:
OSL(x) + SH_OS + key interprets the key press on the oneshot layer.

The ONESHOT_TIMEOUT setting used by one shot keys and layers is also
used by oneshot swap hands. In the above chaining scenario the timeout
of the oneshot layer is reset when swap hands is activated.

Resolves #2682
2020-05-14 07:36:55 +10:00
..
ChangeLog
de spi_master for AVR (#8299) 2020-04-08 11:04:31 +10:00
es spi_master for AVR (#8299) 2020-04-08 11:04:31 +10:00
fr-fr Remove Atmel FLIP from install scripts and documentation (#8822) 2020-04-17 09:50:58 +02:00
gitbook/images
he-il spi_master for AVR (#8299) 2020-04-08 11:04:31 +10:00
ja fixed typo for clear lcd screen function in hd44780 docs (#9086) 2020-05-13 19:06:41 +01:00
pt-br spi_master for AVR (#8299) 2020-04-08 11:04:31 +10:00
ru-ru spi_master for AVR (#8299) 2020-04-08 11:04:31 +10:00
zh-cn Remove Atmel FLIP from install scripts and documentation (#8822) 2020-04-17 09:50:58 +02:00
_langs.md
_summary.md [Documentation] Added raw hid documentation page (#7640) 2020-05-01 23:41:58 +10:00
.nojekyll
adc_driver.md ARM - ADC cleanup (#8385) 2020-03-17 00:29:52 +00:00
api_development_environment.md
api_development_overview.md
api_docs.md
api_overview.md
arm_debugging.md
breaking_changes_instructions.md
breaking_changes.md
cli_commands.md Make dedicated sections for user/dev commands in docs 2020-04-08 09:31:14 -07:00
cli_configuration.md Fix some broken links in the docs (#8394) 2020-03-15 07:48:44 -07:00
cli_development.md Move everything to Python 3.6 (#8835) 2020-04-18 22:00:56 +02:00
cli.md Move everything to Python 3.6 (#8835) 2020-04-18 22:00:56 +02: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
config_options.md Allow expanding from 8 to 32 RGB Lighting Layers (#8941) 2020-05-13 21:39:05 +01:00
configurator_step_by_step.md Polish Configurator section 2020-03-05 16:00:10 -08: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 Add explicit id tags to externally linked headers 2020-03-05 16:00:10 -08: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 support for STM32L0/L1 onboard EEPROM. (#8002) 2020-03-12 12:59:55 +11:00
faq_build.md
faq_debug.md Remove Atmel FLIP from install scripts and documentation (#8822) 2020-04-17 09:50:58 +02:00
faq_general.md
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 Add explicit id tags to externally linked headers 2020-03-05 16:00:10 -08: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 [Docs] Random Fixes (#8340) 2020-03-15 20:29:11 -07: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 [Documentation] Added raw hid documentation page (#7640) 2020-05-01 23:41:58 +10:00
feature_rgb_matrix.md [Docs] Update RGB Matrix docs with function refs (#8367) 2020-03-24 18:54:38 -07:00
feature_rgblight.md Allow expanding from 8 to 32 RGB Lighting Layers (#8941) 2020-05-13 21:39:05 +01:00
feature_space_cadet.md
feature_split_keyboard.md
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 Document 'make all:<name>' (#8439) 2020-03-16 14:27:19 +00: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_github.md Restore getting_started_github.md doc 2020-03-12 17:24:07 -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
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
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 One shot support for swap hands (#8590) 2020-05-14 07:36:55 +10:00
keymap.md Add explicit id tags to externally linked headers 2020-03-05 16:00:10 -08: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 Add explicit id tags to externally linked headers 2020-03-05 16:00:10 -08:00
newbs_getting_started.md Update and try to clarify the CLI installation on Linux (#8783) 2020-04-27 20:29:31 +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
newbs_testing_debugging.md Add explicit id tags to externally linked headers 2020-03-05 16:00:10 -08:00
newbs.md
one_shot_keys.md
other_eclipse.md fix two links on docs/other_eclipse.md (#8417) 2020-03-14 13:25:21 +00:00
other_vscode.md
platformdev_chibios_earlyinit.md Add support for hardware and board initialisation overrides. (#8330) 2020-04-13 09:39:38 +10:00
power.txt
proton_c_conversion.md Document the Proton C pins for manual Pro Micro conversion (#7043) 2020-04-18 10:58:59 -07: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
spi_driver.md Add SPI master for ChibiOS/ARM. (#8779) 2020-04-29 14:01:20 +10:00
support.md make sure all our redirects are in order 2020-03-05 16:00:10 -08:00
sw.js
syllabus.md [Docs] Fixed minor typos (#8860) 2020-04-19 23:04:26 +01:00
tap_hold.md [Docs] Fixed minor typos (#8860) 2020-04-19 23:04:26 +01: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

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.