ergodox-firmware/references.md
Ben Blazak 068a3546f6 bug fixes, mostly; and other things
- addition to references.md

- keymap modification
  - now using 2 shifts => capslock
  - the previous capslock key -> tab
  - the previous tab key -> left bracket

- bug and omission fixes; notably:
  - _is_pressed() no longer changes the value of
    `keyboard_modifier_keys`, lol
  - kbfun_2_keys_capslock_press_release() now works.  (capslock doesn't
    register if left or right shift is pressed, so the shift state has
    to be stored, cleared, capslock pressed, and shift state restored)
  - main() no longer locally overwrites the value of `current_layer`
    before sending it to the kbfun.  (i didn't realize i was using the
    same variable name for two different things)

- improvements
  - kbfun_layer_inc() and ...dec() are now variable
2012-06-15 14:36:50 -07:00

18 KiB

Electronics Stuff

C Stuff

For the AVR

Protocol Stuff

I²C

USB

Other People's Code

Keyboard Firmware

USB Libraries

TWI Libraries

Other

Hardware Documentation

Miscellaneous

Keyboard Testing Tools

Typical Keyboard Information

  • [Keyboard Scan Rates] (http://geekhack.org/showwiki.php?title=Keyboard+scan+rates) list (on http://geekhack.org/)
    Keyboards seem to typically scan at rates from a little below 100Hz to about 300Hz, with the most common values a little below 100Hz. The [PJRC usb_keyboard] (http://pjrc.com/teensy/usb_keyboard.html) example documentation has a limit of 1000 packets (so 500 presses -> releases) per second, but says that even that speed might overwhelm host software, which expects keystrokes to come much more slowly. And, a debounce time of 5ms (which is the spec'ed high value for Cherry MX switches) would give us a max scan rate of 200Hz.

Other Awesome Keyboard Projects

Documentation and Design Tools


Copyright © 2012 Ben Blazak benblazak.dev@gmail.com
Released under The MIT License (MIT) (see "license.md")
Project located at https://github.com/benblazak/ergodox-firmware