keyboard controller firmware for Atmel AVR and ARM USB families
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Go to file
Erin Call 050c21d35f Bring dactyl/matrix.c in line with quantum/matrix.c (#2613)
* Use the new debounce algorithm in dactyl/matrix.c [#2065]

This incorporates the fixed/optimized debounce code added to
quantum/matrix.c in:

* 508eddf8ba
* 4c6960835c
* 32f88c0717
* f403028974
* a06115df19

* Fix the row/column swap in dactyl [#2065]

With a column-driven keyboard, reading from the mcp23081 returns a
column-state, which takes some extra work to translate into the
row-state used in the actual matrix. The ergodox_ez code sidestepped
that problem by calling rows "columns" and columns "rows." With this
change, the dactyl now calls rows "rows" and columns "columns."

* Cleanup: variable names, documentation [#2065]

* Support MATRIX_MASKED in dactyl/matrix.c [#2065]

* Only unselect one col in unselect_col [#2065]

Bonus: saves one i2c transaction per matrix_scan!

* Implement COL2ROW in dactyl/matrix.c [#2065]

* Fix a typo in dactyl/matrix.c

This entirely doesn't matter. The PORT values are set during
init_keyboard and never change. They're repeatedly set to the same
thing. These PORT lines shouldn't even exist, but since they do, they
should at least look right.

* Implement COL_PINS/ROW_PINS for dactyl [#2065]

* Rename "mcp23018" to "expander" [#2065]

I honestly don't know whether/how well this code works with other I/O
expanders, but at least in theory, it should be generic enough to work
with others. Given that, the variable names shouldn't refer to a
specific model of expander.

* Remove matrix_power_up from dactyl/matrix.c [#2065]

It's commented out in quantum/matrix.c, and the dactyl has no power
up/down behavior beyond being unplugged (which goes to matrix_init), so
there's no sense keeping it around.

* Only initialize expander_input_mask once [#2065]

...and rename input_mask to expander_input_mask, since now that it isn't
scoped to init_expander it isn't clear that it's only for the expander.
7 years ago
.vscode Add EditorConfig file (#1930) 7 years ago
docs Talljoe's layout with common keymap. (#2764) 7 years ago
drivers Update whitefox to use the K-Type teensy workaround 7 years ago
keyboards Bring dactyl/matrix.c in line with quantum/matrix.c (#2613) 7 years ago
layouts Add Generic Keymap for my boards (#2795) 7 years ago
lib Merge ChibiOS and LUFA descriptor support (#2362) 7 years ago
quantum Change handling of adjust layer to make it more LT(...) friendly. (#1625) 7 years ago
tests add tests for action_layer.c and reset layer state after tests 7 years ago
tmk_core Add a custom USB driver for ARM (#2750) 7 years ago
users Talljoe's layout with common keymap. (#2764) 7 years ago
util Updated personal keymaps, fixed Let's Split default keymap, updated JJ40 README (#2704) 7 years ago
.clang_complete Vim Layout for Ergodox-EZ (mac only) (#2112) 7 years ago
.editorconfig Fix .editorconfig to not mess with line endings 7 years ago
.gitattributes Set eep files to binary mode 8 years ago
.gitignore Ajp10304 (#2719) 7 years ago
.gitmodules Update .gitmodules 7 years ago
.travis.yml Generate API docs from source code comments (#2491) 7 years ago
CODE_OF_CONDUCT.md create initial code of conduct 8 years ago
Dockerfile Reverting CMD Changes 7 years ago
Doxyfile Generate API docs from source code comments (#2491) 7 years ago
LICENSE add an explicit lisence file for github to pickup 7 years ago
Makefile Added a clean target to remove build artifacts 7 years ago
Vagrantfile Update some obsolete references 9 years ago
autocomplete.sh Make arguments redo, subproject elimination (#1784) 7 years ago
book.json adds redirects for docs 7 years ago
bootloader.mk Updates bootloader settings, adds file size check (#2029) 7 years ago
build_full_test.mk Add SRC and OPT_DEFS when building tests 8 years ago
build_keyboard.mk Talljoe's layout with common keymap. (#2764) 7 years ago
build_layout.mk Creates a layouts/ folder for keymaps shared between keyboards (#1609) 7 years ago
build_test.mk Split common.mk into common.mk and common_features.mk 8 years ago
common.mk Start mvoing hardware drivers to /drivers/ (#1433) 8 years ago
common_features.mk Fix Audio Clicky sub-feature (#2784) 7 years ago
doxygen-todo Generate API docs from source code comments (#2491) 7 years ago
license_GPLv2.md Clarify the quantum license (#1042) 8 years ago
license_GPLv3.md Clarify the quantum license (#1042) 8 years ago
license_Modified_BSD.md Clarify the quantum license (#1042) 8 years ago
message.mk Reset color after submodule warning message 7 years ago
readme.md Update readme.md (#2687) 7 years ago
secrets.tar.enc update building for .hex, secrets moving 7 years ago
shell.nix shell.nix: add teensy loader 7 years ago
testlist.mk Add basic infrastrucure for building full tests 8 years ago

readme.md

Quantum Mechanical Keyboard Firmware

Current Version Build Status Gitter 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.