Commit Graph

12 Commits (068a3546f66006c5ca616fe821ca9efe4d0b489e)

Author SHA1 Message Date
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
Ben Blazak 3322844ed0 bugfix (mostly): changed the way layers are handled
before, if you pressed a key, then shifted layers, then released it, the
first layer's press() would be called, and the 2nd layer's release()
would be called, causing keys to stick, and probably other errors.  now,
the layer that the key was on when it was pressed is kept track of, and
the proper release() is called.

also, layers can be shifted per key now, instead of just for the whole
board at once

i also changed how keyboard-private includes are handled.  "private"
stuff is now in its own file, instead of being nested in an extra
`#ifdef`.

and i think that's it.  i'm pretty tired right now, so there may be
errors, but it seemed to work all right with cursory tests.
2012-06-11 03:27:34 -07:00
Ben Blazak bdcd4484be added a layout layer; layout's still kind of a mess...
layout includes function keys, some symbols, and a few things from the
default layer
2012-06-03 23:46:21 -07:00
Ben Blazak 9c86906f7f abstracted led handling -- PCB changes done
- added high-level (logical) led macros, so that the top level firmware
  doens't need to know what numbers leds are (or how many there are)
- left low-level (processor specific) led macros in
  keyboard/.../teensy-2-0.h , where they were
- put non processor|layout specific led macros in keyboard/.../led.h
- put layout specific led macros into keyboard/.../layout/*.h (with
  default empty macro definitions in keyboard/.../layout.h)

also
- cleaned up some typos and such
- moved the debounce time macro to 'keyboard/ergodox.h', since it's
  technically keyboard (keyswitch) specific

aggregate changes for PCB update
- documentation updated to reflect that the columns are now the driving
  pins, and the columns are the read pins.  both are still treated as
  open drain.
- macros for led pins 1 and 2 were swapped
- update functions now cycle through columns->low, read rows
- added a matrix macro to map from how we want the key layouts
  represented, to how things are scanned into the matrix
2012-06-01 01:05:38 -07:00
Ben Blazak 4972c81a96 updated matrix and layout stuff for dox's PCB 2012-05-29 16:53:55 -07:00
Ben Blazak 22752fead8 finished section 9 of the usb spec! 2012-05-13 18:06:17 -07:00
Ben Blazak 0b423bef70 moved keyboard layout to program space 2012-04-29 00:17:17 -07:00
Ben Blazak 229a2446a7 moved libs around; split some code in layouts 2012-04-28 23:40:00 -07:00
Ben Blazak 4e913361ac abstracted layout access a little 2012-04-28 22:39:23 -07:00
Ben Blazak 66a5932fa8 moved the key-functions files 2012-04-27 15:39:26 -07:00
Ben Blazak a0f69c9200 minor doc and keymap update 2012-04-26 02:51:14 -07:00
Ben Blazak b7e5e7b735 refactoring layout stuff
- made short keycode macros for the USB keycodes (under "lib/...")
- refactored "keyboard/.../layout.c", to make way for multiple layouts,
  and to make it easier to read (by using short keycode macros)
  - layout.h has a computed include line now, and the code (and layout
    specific header stuff) is in a subdirectory.  the makefile should
    take care of which layout gets included and compiled
- changed kbfun_press() and kbfun_release() to be able to handle the
  modifier keys (instead of requiring a separate function for the
  modifiers)
- added a makefile variable for which keyboard gets compiled.  even
  though there's only one right now
2012-04-24 23:22:20 -07:00