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
Seebs d1feb8744a Don't "unselect" left-hand rows
"unselecting" left-hand rows is a wasted i2c transaction.

On the left-hand side, the ergodox uses a GPIO expander. It
does *not* change "direction" (input/output) of pins, it just
sets pins high or low.

But all the pins are written at once. There's no way to
change just one pin's value; you send a full byte of all eight
row pins. (Not all of them are in use, but that doesn't matter.)
So every pin is either +V or ground. This is in contrast
with the right-hand side, which is using input mode to make pins
be neutral.

So there's no need to "deselect" the rows on the left side
at all. To select row 0, you set the GPIO register for the
rows to 0xFE. The previous code would then set it back to
0xFF, then set it to 0xFD on the next cycle. But we can just
omit the intervening step, and set it to 0xFD next cycle,
and get the same results.

And yes, I tested that the keyboard still works.

On my system, scan rate as reported by DEBUG_SCAN_RATE goes
from 445 or so to 579 or so, thus, from ~2.24ms to ~1.73ms.

Signed-off-by: seebs <seebs@seebs.net>
7 years ago
.vscode Add EditorConfig file (#1930) 7 years ago
docs Trim trailing whitespace 7 years ago
drivers update to driver separation 7 years ago
keyboards Don't "unselect" left-hand rows 7 years ago
layouts Turn on prevent stuck modifiers for my keymaps. 7 years ago
lib update chibios 7 years ago
quantum Add 'rgblight_disable' and 'rgblight_setrgb_at/rgblight_sethsv_at' 7 years ago
tests Fix unreferenced errors with mingw compiler and unit tests 7 years ago
tmk_core helper to compare current layer_state to user layer 7 years ago
users Turn on prevent stuck modifiers for my keymaps. 7 years ago
util adds planck light keyboard 7 years ago
.editorconfig Add EditorConfig file (#1930) 7 years ago
.gitattributes Set eep files to binary mode 8 years ago
.gitignore 333fred layout update (#1971) 7 years ago
.gitmodules Update .gitmodules 7 years ago
.travis.yml add qmk.fm as a backup host 7 years ago
CODE_OF_CONDUCT.md create initial code of conduct 7 years ago
Dockerfile Reverting CMD Changes 7 years ago
LICENSE add an explicit lisence file for github to pickup 7 years ago
Makefile update version silencing 7 years ago
Vagrantfile Update some obsolete references 8 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 7 years ago
build_keyboard.mk Updates bootloader settings, adds file size check (#2029) 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) 7 years ago
common_features.mk Fix pointing device feature 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 Change awk detector to work with mawk; fixes #2073 7 years ago
readme.md Improvements to documentation (#1919) 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.

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.

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.

Documentation

https://docs.qmk.fm is 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.