1
0
Fork 0
keyboard controller firmware for Atmel AVR and ARM USB families https://github.com/qmk/qmk_firmware http://qmk.fm/
Find a file
Gergely Nagy 38f204db30 Allow one-shot modifiers to be chained
Many a times one would want to use multiple modifiers with the same key,
preferably without having to hold anything, like `Ctrl+Shift+C` or
`Ctrl+Shift+V` to copy/paste in GNOME Terminal. To make this possible, we need
to be able to chain one-shot modifiers, so that we can have multiple of them
active at the same time.

The easiest way to accomplish this is that whenever we activate a one-shot
modifier, we apply it on top of the existing set, instead of re-setting the
state. When deactivating, either due to an interrupt, or due to a timeout, we
deactivate all oneshots anyway, so the clearing part is covered. When we turn
the one-shot modifier into a toggle, that will also clear all one-shot modifiers
first, so we covered that case too.

Fixes #2796, #1580, and #856.

Signed-off-by: Gergely Nagy <qmk@gergo.csillger.hu>
2018-05-14 10:09:28 -04:00
.vscode Xton's first keymap! (#2941) 2018-05-12 08:52:11 -07:00
docs General RGB matrix fixes (#2931) 2018-05-10 00:31:24 -04:00
drivers Adds IS31FL3731 RGB Matrix Implementation (#2910) 2018-05-08 15:24:18 -04:00
keyboards Update my keymap (#2965) 2018-05-14 07:06:33 -07:00
layouts More work on Talljoe layout including adding layout support for HHKB and TKL. (#2946) 2018-05-12 09:54:35 -07:00
lib gcc 8.10 compilation fix (#2914) 2018-05-09 23:39:46 -04:00
quantum update template copyrights to 2018 (#2962) 2018-05-13 21:01:13 -07:00
tests add tests for action_layer.c and reset layer state after tests 2017-12-15 13:23:30 -05:00
tmk_core Allow one-shot modifiers to be chained 2018-05-14 10:09:28 -04:00
users Xton has a dz60 (#2952) 2018-05-13 21:02:06 -07:00
util Support both AVR and ps2avrGB targets for new_project script (#2811) 2018-05-10 00:36:40 -04:00
.clang_complete Vim Layout for Ergodox-EZ (mac only) (#2112) 2017-12-11 21:06:05 -05:00
.editorconfig Fix .editorconfig to not mess with line endings 2018-02-03 15:20:44 -05:00
.gitattributes Set eep files to binary mode 2016-08-27 18:37:28 +03:00
.gitignore Ajp10304 (#2719) 2018-04-15 09:48:19 -07:00
.gitmodules Update .gitmodules 2017-11-16 15:09:45 -05:00
.travis.yml Generate API docs from source code comments (#2491) 2018-03-22 02:50:38 -04:00
autocomplete.sh Make arguments redo, subproject elimination (#1784) 2017-10-14 11:32:19 -10:00
book.json adds redirects for docs 2017-08-19 08:31:54 -04:00
bootloader.mk Add Teensy ++ 2.0 bootloader support 2018-05-08 20:08:17 -04:00
build_full_test.mk Add SRC and OPT_DEFS when building tests 2017-07-20 10:17:31 -04:00
build_keyboard.mk Talljoe's layout with common keymap. (#2764) 2018-04-21 10:48:30 -07:00
build_layout.mk Creates a layouts/ folder for keymaps shared between keyboards (#1609) 2017-08-23 22:29:07 -04:00
build_test.mk Split common.mk into common.mk and common_features.mk 2017-06-18 21:22:22 +03:00
CODE_OF_CONDUCT.md create initial code of conduct 2017-06-27 21:36:44 -04:00
common.mk Start mvoing hardware drivers to /drivers/ (#1433) 2017-07-10 11:18:47 -04:00
common_features.mk Adds IS31FL3731 RGB Matrix Implementation (#2910) 2018-05-08 15:24:18 -04:00
Dockerfile Reverting CMD Changes 2017-08-19 08:17:58 -04:00
Doxyfile Generate API docs from source code comments (#2491) 2018-03-22 02:50:38 -04:00
doxygen-todo Generate API docs from source code comments (#2491) 2018-03-22 02:50:38 -04:00
LICENSE add an explicit lisence file for github to pickup 2017-11-13 20:50:54 -05:00
license_GPLv2.md Clarify the quantum license (#1042) 2017-03-28 15:20:36 -07:00
license_GPLv3.md Clarify the quantum license (#1042) 2017-03-28 15:20:36 -07:00
license_Modified_BSD.md Clarify the quantum license (#1042) 2017-03-28 15:20:36 -07:00
Makefile Added a clean target to remove build artifacts 2018-03-16 16:44:22 -04:00
message.mk Reset color after submodule warning message 2018-01-12 13:25:05 -05:00
readme.md add discord link 2018-05-03 15:56:10 -04:00
secrets.tar.enc update building for .hex, secrets moving 2017-08-21 21:57:46 -04:00
shell.nix shell.nix: add teensy loader 2017-11-26 17:55:24 -05:00
testlist.mk Add basic infrastrucure for building full tests 2017-06-18 21:08:23 +03:00
Vagrantfile Update some obsolete references 2016-07-30 08:37:30 +02:00

Quantum Mechanical Keyboard Firmware

Current Version Build Status Discord Docs Status GitHub contributors GitHub forks

This is a keyboard firmware based on the tmk_keyboard firmware with some useful features for Atmel AVR and ARM controllers, and more specifically, the OLKB product line, the ErgoDox EZ keyboard, and the Clueboard product line.

Documentation

The docs are hosted on Gitbook and GitHub (they are synced). You can request changes by making a fork and pull request, or by clicking the "suggest an edit" link on any page of the docs.

Supported Keyboards

The project also includes community support for lots of other keyboards.

Maintainers

QMK is developed and maintained by Jack Humbert of OLKB with contributions from the community, and of course, Hasu. The OLKB product firmwares are maintained by Jack Humbert, the Ergodox EZ by Erez Zukerman, and the Clueboard by Zach White.

Official website

http://qmk.fm is the official website of QMK, where you can find links to this page, the documentation, and the keyboards supported by QMK.