Gergely Nagy
4441329abf
Override onSetup when using a compatibility layer
...
The default `onSetup` will call `.begin`, to support initializing plugins using
the V1 plugins while using `KALEIDOSCOPE_INIT_PLUGINS`. However, plugins that
implement a compatibility layer so that they can be used with both the new API,
and with `Kaleidoscope.use()` will have a `.begin` method too. Which the default
`onSetup` will call, and we'll register the compatibility layer too, in addition
to the new-style event handlers. This results in many things running twice,
which leads to all kinds of problems.
For this reason, override `onSetup`, so that it does not call `begin`. When used
with `Kaleidoscope.use()`, the plugin will still work, so compatibility is
maintained. But the bug is now gone.
Signed-off-by: Gergely Nagy <algernon@keyboard.io>
7 years ago
Jesse Vincent
004d09420c
Merge pull request #6 from keyboardio/f/getKeyswitchStateAtPosition
...
Migrate to hid::getKeyStateAtPosition
7 years ago
Gergely Nagy
417b7de5c1
Migrate to KeyboardHardware.isKeyswitchPressed() & .pressedKeyswitchCount()
...
The old `RxCy` macros were recently changed to be key indexes instead of
per-hand bit indexes, and `KeyboardHardware.isKeyswitchPressed()` and
`KeyboardHardware.pressedKeyswitchCount()` were introduced as a way to peek into
the keyswitch state. This little change migrates TestMode to use them.
Signed-off-by: Gergely Nagy <algernon@keyboard.io>
7 years ago
Gergely Nagy
eb691a143e
Merge pull request #5 from keyboardio/f/plugin-v2
...
Updated to use the new plugin APIs
7 years ago
Gergely Nagy
dbb4152cb2
Updated to use the new plugin API
...
Signed-off-by: Gergely Nagy <algernon@keyboard.io>
7 years ago
Jesse Vincent
b565dab644
pass by value to save some flash
7 years ago
Jesse Vincent
9b44d02e6e
Typo fix
7 years ago
Jesse Vincent
eea0c8b47e
astyle
7 years ago
Jesse Vincent
3dd86e34dd
Refactoring to save 44 more PROGMEM and 12 more RAM
7 years ago
Jesse Vincent
b144f626e4
refactor to reuse some code and be a bit smarter about data.
...
Saves 324 bytes of PROGMEM and 265 bytes of RAM
7 years ago
Gergely Nagy
ea7454ddc2
Correct a typo
...
Signed-off-by: Gergely Nagy <algernon@keyboard.io>
7 years ago
Gergely Nagy
f80525e7e0
Merge pull request #4 from tazlor/patch-1
...
Reset bad keys before each test.
7 years ago
tazlor
4f95cf8415
Reset bad keys before each test.
...
Reset the bad key bitfields each time a test is started, so that each test starts from a clean slate. Without this, it was confusing to restart the test and get an ever-increasing number of keys to appear bad immediately.
7 years ago
Jesse Vincent
043ba2072b
Tweak our chatter timings to hopefully have fewer false positives
7 years ago
Jesse Vincent
c0a2b43c23
Slightly clean up our startup mode to be faster and more likely to eat
...
extra keypresses
7 years ago
Jesse Vincent
a860afa765
astyle. no function changes
7 years ago
Jesse Vincent
b25e7e87e2
Avoid a potential overflow bug
7 years ago
Jesse Vincent
d09ac4043d
Look for chatter across 15 scans, rather than just two.
7 years ago
Jesse Vincent
5f9be8f8f0
Clear the keyscan buffer starting to look for bounce events.
7 years ago
Jesse Vincent
54cbf18e1c
Only treat "key pressed down" events as issues for the debounce counter.
...
That way, we can look for two presses a bit more easily with only one
variable.
7 years ago
Jesse Vincent
8b562fe64b
Switch to a counter for 'cycles since last state change'
...
This uses a bunch more ram, but it's much, much more flexible and the
test mode is optional in user firmware.
7 years ago
Jesse Vincent
75dfcf8ccb
First pass at a new chatter detection mode
7 years ago
Jesse Vincent
2e91dd4a82
Disable hardware debouncing in testmode
7 years ago
Jesse Vincent
86ebc8de02
Revert f3094e1538
...
Chatter detection wasn't actually detecting chatter.
We may reinistate similar code in the future
7 years ago
Jesse Vincent
da79e1a91b
Update Makefile with OSX fixes and new paths
7 years ago
Jesse Vincent
146ab40b9d
Merge pull request #2 from algernon/f/hook-interface-update
...
Stop using deprecated interfaces
7 years ago
Gergely Nagy
4aa7dbe0b5
Stop using deprecated interfaces
...
Use `Kaleidoscope.useLoopHook` instead of `loop_hook_use` (which is getting
deprecated).
Signed-off-by: Gergely Nagy <kaleidoscope@gergo.csillger.hu>
7 years ago
Jesse Vincent
b431927176
Merge pull request #1 from algernon/f/key-chatter-detection
...
Initial attempt at chatter detection
7 years ago
Gergely Nagy
f3094e1538
Initial attempt at chatter detection
...
For every key we press, we keep a map of its state each cycle (for 8 cycles).
When the key is released, we color it white if we had more than two state
changes (ie, chatter), otherwise we turn it blue (all is well).
Signed-off-by: Gergely Nagy <kaleidoscope@gergo.csillger.hu>
7 years ago
Jesse Vincent
243b1ada1a
Update Makefile to fix OS X build
7 years ago
Jesse Vincent
42cabcfa6f
camelCasing wait_for_keypress
7 years ago
Jesse Vincent
d0e85633b8
camelCasing of _matrix functions
7 years ago
Jesse Vincent
978d04625d
CamelCaseifcation of LED related functions
...
s/led_set_crgb_at/setCrgbAt/
s/hsv_to_rgb/hsvToRgb/
s/led_get_crgb_at/getCrgbAt/
s/led_sync/syncLeds/
s/get_led_index/getLedIndex/
s/send_led_data/sendLedData/
s/led_power_fault/ledPowerFault/
7 years ago
Jesse Vincent
ee0ccdd91d
CamelCase of handle_*_key*
7 years ago
Jesse Vincent
51f37933f3
astyle 3.0 caught this style violation
8 years ago
Jesse Vincent
95bd188a54
Make cpplint-noisy happy
8 years ago
Jesse Vincent
c8586985fd
Add toggling on of the on-board green status LEDs.
...
The factory needs this to verify the hardware during build
8 years ago
Jesse Vincent
beb159e860
brighten up the LEDs for testing
8 years ago
Jesse Vincent
bddcc4912b
extract out the key combo
8 years ago
Jesse Vincent
4ae6bff15d
astyle to pad operators
8 years ago
Jesse Vincent
6dadb862e5
Add build infrastructure
8 years ago
Jesse Vincent
a9f59b131e
astyle with current project style guidelines
8 years ago
Jesse Vincent
fbee5854ee
Update to new handle_keyswitch_event API naming
8 years ago
Jesse Vincent
64ac98dcbf
When the key is pressed, turn it green
8 years ago
Jesse Vincent
c1d25174bc
Add a missing paren.
...
Unsure how this ever compiled.
8 years ago
Jesse Vincent
23aba78402
Add some missing prototypes to the class definition
8 years ago
Jesse Vincent
6b0623d3f2
Step two of the rename
8 years ago
Jesse Vincent
d31530d579
start to refactor the code to be a Kaleidoscope plugin
8 years ago
Jesse Vincent
518dda8e57
add a way to get out of test mode
8 years ago
Jesse Vincent
c407c9608b
move matrix test setup to one place
8 years ago