2012-03-16 11:15:47 +01:00
|
|
|
# [ergodox-firmware][]: Firmware for the [ergoDOX keyboard][]
|
|
|
|
|
|
|
|
[ergodox-firmware]: https://github.com/benblazak/ergodox-firmware
|
|
|
|
[ergodox keyboard]: http://geekhack.org/showthread.php?22780-Interest-Check-Custom-split-ergo-keyboard
|
2012-03-12 02:33:21 +01:00
|
|
|
|
2012-03-27 12:06:52 +02:00
|
|
|
|
2012-04-12 07:05:59 +02:00
|
|
|
This project is definitely in beta, but I'll do my best to keep the 'master'
|
2012-04-12 06:05:45 +02:00
|
|
|
branch working. Please see the source (and especially the accompanying '*.md'
|
|
|
|
files) for documentation.
|
|
|
|
|
|
|
|
|
|
|
|
## Notes
|
|
|
|
|
|
|
|
### (2012-04-11)
|
|
|
|
As of now, it looks like we have a working 6-KRO keyboard firmware for a Teensy
|
|
|
|
2.0 with a MCP23018 I/O expander. It's scanning at ~167 Hz, most of which is
|
|
|
|
spent communicating over I²C. This should be fast enough, I think.
|
|
|
|
Slight improvements might be possible (without finding a microprocessor capable
|
|
|
|
of > 400 kHz I²C or using SPI, that is, which I imagine would speed things
|
|
|
|
up a lot - but it'd also be much less convenient). I'll attempt them if I see
|
|
|
|
the need.
|
|
|
|
|
|
|
|
Also, layers are implemented, but untested, as no keymaps are written to use
|
|
|
|
them yet. Implementing on-keyboard hardware remapping seems like it'd be very
|
|
|
|
possible too, but I'd need to try it (and learn how to programmatically store
|
|
|
|
stuff in program space) to see if it'd work; and I'm not sure of a good way to
|
|
|
|
do the interface, since different people will likely have different keycap
|
|
|
|
layouts on the ergoDOX.
|
|
|
|
|
|
|
|
Getting to N-KRO is a goal, but I honestly have no idea whether it'll be
|
|
|
|
accomplished. Ideally, I'd like a variable-KRO, where the keyboard is 6-KRO
|
|
|
|
till you press the 7th key (so if you're worried about compatibility, just
|
|
|
|
don't press more than 6 keys at a time). From what I've read, it might be
|
|
|
|
possible, but I just finished everything else (so I'm slightly tired), and the
|
|
|
|
USB spec is scary.
|
|
|
|
|
|
|
|
Discussions about the project as a whole are going on at the forum page (linked
|
|
|
|
in the title) so if you have any imput (or want to participate in the group
|
|
|
|
buy!), please stop by. :) .
|
|
|
|
|
|
|
|
|
|
|
|
## Dependencies (for building from source)
|
2012-03-27 12:06:52 +02:00
|
|
|
|
|
|
|
* See the PJRC [Getting Started] (http://pjrc.com/teensy/first_use.html) page
|
|
|
|
for instructions on how to set up an AVR programming environment. This
|
|
|
|
project uses C (not Arduino).
|
|
|
|
|
2012-04-18 10:29:38 +02:00
|
|
|
* I also assume that you are using [git] (http://git-scm.com/) (for `make
|
|
|
|
clean`).
|
|
|
|
|
2012-04-12 06:05:45 +02:00
|
|
|
|
2012-03-19 08:01:41 +01:00
|
|
|
-------------------------------------------------------------------------------
|
|
|
|
|
2012-03-27 12:06:52 +02:00
|
|
|
Copyright © 2012 Ben Blazak <benblazak.dev@gmail.com>
|
2012-04-12 08:10:37 +02:00
|
|
|
Released under The MIT License (MIT) (see "license.md")
|
2012-03-27 12:06:52 +02:00
|
|
|
Project located at <https://github.com/benblazak/ergodox-firmware>
|
2012-03-19 08:01:41 +01:00
|
|
|
|