Michael Richters
65163be9c7
Store qukey state as a bitfield instead of a struct member ( #15 )
...
* Defined bitfield structure for storing qukey state
* Implement storage of qukey states in bitfield
7 years ago
Gergely Nagy
b0b1283975
make astyle
...
Signed-off-by: Gergely Nagy <algernon@keyboard.io>
7 years ago
Michael Richters
632e876084
Mask keys when they're in the queue; unmask when flushed
7 years ago
Michael Richters
ba67fe2ee6
Fixed addr::unmask()
...
It was calling `maskKey()` instead of `unMaskKey()`
7 years ago
Michael Richters
0e951d8b46
Changed parameter name
...
In `flushKey()`, I changed the ambiguous parameter name `state` to the more descriptive `qukey_state`.
7 years ago
Michael Richters
f2dc52ba0b
Added mask() & unmask() functions
7 years ago
Michael Richters
2db772aeca
Better pos-scan flushing of the key queue
7 years ago
Michael Richters
6102388813
Call handleKeyswitchEvent() again after restoring the current report
...
After restoring the current report, if we don't add the keycode for the current key back
in (by calling `handleKeyswitchEvent()` with the "held" state flags if the flushed key is
still held), we'll accidentally leave that keycode out of the next report.
fixes #13
7 years ago
Michael Richters
99988e4c76
Call toggle() only when the macro key toggles on ( fixes #11 )
7 years ago
Michael Richters
17d61518c2
Fix example toggle-qukeys macro
7 years ago
Michael Richters
8fcff0109f
Small improvement to QUKEYS() macro
...
Using braces really makes it much clearer. I stole the idea from @algernon.
7 years ago
Michael Richters
6e57b9868f
Added a macro to toggle Qukeys in the example
...
- also updated the keymaps definition
7 years ago
Michael Richters
6ca34d7f99
Added a function to toggle Qukeys on/off
7 years ago
Michael Richters
f603e6d8d3
astyle
7 years ago
Michael Richters
d12a4870fe
Added `setTimeout()` function to set the time limit in sketch
7 years ago
Michael Richters
cb16b32215
Fixed `QUKEYS()` macro for defining qukeys in sketch
7 years ago
Michael Richters
c060c5ef7e
Rearranged and commented Layer.on() and Layer.off()
...
The boolean wasOn was unnecessary, and there was no need to call
bitSet() (or bitClear(), in the case of Layer.off()) if the test
passed. Mostly, I just added a few explanatory comments.
(Aslo reversed the sense of the on/off test in Layer.on() and .off())
@algernon likes it better this way, and I agree.
7 years ago
Jesse Vincent
88f8308e49
Merge pull request #13 from SjB/HorizontalMouseScrolling
...
Horizontal Mouse Scrolling Support in Kaleidoscope-Mousekeys
7 years ago
Jesse Vincent
3ecbf05018
Merge pull request #12 from keyboardio/h/stuck-mousekey-fix
...
Fix mouse keys getting occasionally stuck
7 years ago
Jesse Vincent
0870a2d560
Merge pull request #252 from keyboardio/h/mousekeys/separate-report-abstraction
...
hid: Wrap Mouse.releaseAll() and Mouse.sendReport()
7 years ago
Jesse Vincent
593d0884f5
Merge pull request #255 from gedankenexperimenter/qukeys
...
A method for finding the active layer for a given key(switch)
7 years ago
Jesse Vincent
e07cf70d4d
Merge pull request #256 from SjB/HorizontalMouseScrolling
...
Horizontal Mouse Scrolling Support in Kaleidoscope.
7 years ago
Michael Richters
904bdd37bf
Removed spurious line deletion
7 years ago
Michael Richters
b51d679939
Ignore output/ directory
7 years ago
Michael Richters
87c98b15af
Direct manipulation of `Keyboard.keyReport` & `.lastKeyReport`
...
KeyboardioHID isn't going to get a function to copy the previous
report to the current one, but it is now making the current and
previous HID reports public. This is a much better solution all
around, as it allows us to save and restore the current report in the
midst of a scan, while still sending a modified version of the old
report.
7 years ago
Michael Richters
7fb0c96931
Why was .gitignore in a .gitignore/ directory?
...
GitHub screwed that up, I think.
7 years ago
SjB
3005d9534e
Horizontal Mouse Scrolling Support in Kaleidoscope-Mousekeys
...
using the new moveMouse function in kaleidoscope::hid we can have
horizontal mouse scrolling.
7 years ago
SjB
df3d791165
Horizontal Mouse Scrolling Support in Kaleidoscope.
7 years ago
Gergely Nagy
31f494eae9
Drop an unnecessary handleKeyswitchEvent call
...
Signed-off-by: Gergely Nagy <algernon@keyboard.io>
7 years ago
Gergely Nagy
ea09f0d347
Merge pull request #8 from pdcawley/patch-1
...
Eliminate unnecessary `sendKeyboardReport`
7 years ago
Michael Richters
1f7d9ed2e8
Wrong capitalization of `DefaultLayer` variable
7 years ago
Michael Richters
34cea2623d
This iterator should count down, not up
7 years ago
Michael Richters
154f0f3267
Moved definition of MAX_LAYERS next to LayerState declaration
...
Also redefined it in terms of the size of LayerState
7 years ago
Michael Richters
e822c6afad
In case defaultLayer isn't zero, stop counting down there
...
`updateActiveLayers()` makes it impossible to turn off the default
layer, so there's no point searching past it for the highest layer,
and `defaultLayer` can be set to numbers higher than zero.
7 years ago
Michael Richters
f90891dc1c
Added function to return the active layer of a given key
...
New function `lookupActiveLayer()` returns the number of the layer
that a given key (`row`, `col`) is currently mapped from.
7 years ago
Michael Richters
00df66d30a
Make updateHighestLayer() use layer_count if it's set
...
Now that `layer_count` is (potentially) available, we can start
looking for active layers at the top _defined_ layer instead of the
top _possible_ layer. This ought to be more efficient, especially for
sketches that don't have lots of layers defined.
Also introduced the `MAX_LAYERS` constant (#define).
7 years ago
Gergely Nagy
bd35b9fe4e
Merge pull request #253 from gedankenexperimenter/doc/keymaps
...
Fixed reference to "CREATE_KEYMAP" (should have been "KEYMAPS")
7 years ago
Michael Richters
918f25b623
Fixed reference to "CREATE_KEYMAP" (should have been "KEYMAPS")
...
The macro for defining the keymap (and also storing its size (in
layers)) isn't named `CREATE_KEYMAP()`; it's `KEYMAPS()`.
7 years ago
Michael Richters
2fba5c4541
First working version
...
Too many bug fixes to list them all. Luckily, at this early stage,
that doesn't matter.
7 years ago
Gergely Nagy
2bc62cb8b9
hid: Wrap Mouse.releaseAll() and Mouse.sendReport()
...
Built on top of keyboardio/KeyboardioHID#14 , required for
keyboardio/Kaleidoscope-MouseKeys#10 .
Signed-off-by: Gergely Nagy <kaleidoscope@gergo.csillger.hu>
7 years ago
Michael Richters
75a16eeb96
Brief description of Layer.on() & Layer.off()
7 years ago
Jesse Vincent
0a41083881
Merge pull request #244 from gedankenexperimenter/bug/layer-next
...
Prevent reading past the end of the keymaps[] array
7 years ago
Jesse Vincent
8e03280e36
Merge pull request #251 from keyboardio/h/consumercontrol/repeat-fix
...
Fix ConsumerControl repeating
7 years ago
Michael Richters
eff16ded81
Not functional yet, but doesn't seem to break anything else
7 years ago
Michael Richters
721baeca78
Fixed lots of compilation errors
7 years ago
Michael Richters
5bfe5c07eb
Version 1 of the Qukeys implementation
...
I think everything is there. This probably doesn't even compile yet,
and it certainly hasn't been debugged.
7 years ago
Michael Richters
29c243eda5
Added addr.h with helper functions
...
This contains helper functions for converting (row,col) coordinates to
single-byte addresses, assuming the keyboard has fewer than 256 keys.
7 years ago
Michael Richters
bba6cf878f
Empty example sketch
7 years ago
Michael Richters
195d6bc413
Better compliance with coding style guide
...
* s/LayerCount/layer_count/
* s/CREATE_KEYMAP/KEYMAPS/
7 years ago
Jesse Vincent
4bcbab2c09
Merge pull request #247 from gedankenexperimenter/bug/shift-layer-release
...
Only call updateLiveCompositeKeymap() on key press; not release
7 years ago