QMK Firmware for the IBM Wheelwriter series 6 keyboard
Find a 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.
2018-04-27 14:47:41 -04:00
.vscode Add EditorConfig file (#1930) 2017-10-31 11:13:40 -04:00
docs Talljoe's layout with common keymap. (#2764) 2018-04-21 10:48:30 -07:00
drivers Update whitefox to use the K-Type teensy workaround 2018-04-03 23:06:14 -04:00
keyboards Bring dactyl/matrix.c in line with quantum/matrix.c (#2613) 2018-04-27 14:47:41 -04:00
layouts Add Generic Keymap for my boards (#2795) 2018-04-24 09:01:40 -07:00
lib Merge ChibiOS and LUFA descriptor support (#2362) 2018-02-08 15:07:46 -05:00
quantum Change handling of adjust layer to make it more LT(...) friendly. (#1625) 2018-04-26 16:10:03 -04:00
tests add tests for action_layer.c and reset layer state after tests 2017-12-15 13:23:30 -05:00
tmk_core Add a custom USB driver for ARM (#2750) 2018-04-15 20:42:53 -04:00
users Talljoe's layout with common keymap. (#2764) 2018-04-21 10:48:30 -07:00
util Updated personal keymaps, fixed Let's Split default keymap, updated JJ40 README (#2704) 2018-04-19 09:28:55 -07: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 Updates bootloader settings, adds file size check (#2029) 2017-11-27 23:08:21 -05: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 Fix Audio Clicky sub-feature (#2784) 2018-04-21 12:30:10 -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 Update readme.md (#2687) 2018-04-24 09:37:52 -07: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 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.