Gergely Nagy
14197de8e6
Add a few words about masking as in-code comments.
...
Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
8 years ago
Gergely Nagy
f0b3ad2b14
Implement key masking for momentary layer keys
...
The goal is to ignore key events from still-held keys in a situation where we
just turned a layer off. Thus, if one holds a momentary layer key, then presses
and holds another key, releases the layer key, we want to ignore the other held
keys until they are released.
This is accomplished by masking all held keys when a momentary layer has been
turned off, and ignoring all masked key events in `handleKeyswitchEvent` until
they are released, when we unmask them.
This should address #150 , but requires
keyboardio/Kaleidoscope-Hardware-Model01#9 .
Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
8 years ago
Gergely Nagy
40e6656f6e
Add helpers to aid in implementing key masking
...
There are situations when one wants to ignore key events for a while, and mask
them out. These newly introduced functions help do that.
They are in the Hardware plugin, because this is where it is most efficient to
implement the masks: the hardware library knows how many bits it needs, and how
best to represent the masks. We use a 32-bit bitmap here, other keyboards may
use a different size, or an entirely different approach too.
This is one part of the fix to address keyboardio/Kaleidoscope#150 .
Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
8 years ago
Jesse Vincent
e9c532509f
Switch AbsoluteMouse to use its own HID endpoint
8 years ago
Jesse Vincent
ecc113ad7f
Added a note about how this isn't the right place to start for Model01 firmware
8 years ago
Jesse Vincent
8bb9bb37ca
make consumercontrol and systemcontrol events only fire on key release
...
rather than send key down events for a while before sending a key
release event as we did with the old scheme, this sends the events
paired together as "one shot". This is closer to the spec and what OSX
needs to accept these events
8 years ago
Jesse Vincent
b6d552f9c0
Update Makefile to fix OS X build
8 years ago
Jesse Vincent
9b46680240
Update Makefile to fix OS X build
8 years ago
Jesse Vincent
f364a389b1
Update Makefile to fix OS X build
8 years ago
Jesse Vincent
d342b6eb04
Update Makefile to fix OS X build
8 years ago
Jesse Vincent
b078a29d23
Update Makefile to fix OS X build
8 years ago
Jesse Vincent
1a5717d838
Update Makefile to fix OS X build
8 years ago
Jesse Vincent
07b3bb6667
Update Makefile to fix OS X build
8 years ago
Jesse Vincent
ceaded3eb4
Update Makefile to fix OS X build
8 years ago
Jesse Vincent
30ebf9599f
Update Makefile to fix OS X build
8 years ago
Jesse Vincent
7919922036
Move the hid facade out into its own namespace
8 years ago
Jesse Vincent
7e73341772
Move our hid facade into kaleidoscope::hid
8 years ago
Jesse Vincent
c9734385c5
press/releaseKeyRaw -> press/releaseRawKey
8 years ago
Jesse Vincent
4ee9ca4e63
pressConsumer/releaseConsumer -> pressConsumerControl / releaseConsumerControl
...
ditto for SystemControl
8 years ago
Jesse Vincent
f5aaedffd5
add an "isModifierActive" to the hid facade
8 years ago
Jesse Vincent
02695b8cea
Add a facde for KeyboardioHID's *.begin()
8 years ago
Jesse Vincent
8b187366c7
Create an abstraction on top of the KeyboardioHID interface
...
so that user code doesn't need to know anything about it.
(This also paves the way for @wez' EventDispatcher)
8 years ago
Jesse Vincent
178dd0a5f1
Merge pull request #141 from cdisselkoen/update-for-new-Macros-API
...
Update for changes to Kaleidoscope-Macros no longer requiring END
8 years ago
Craig Disselkoen
1cf8d9afdb
Update for changes to Kaleidoscope-Macros no longer requiring END
8 years ago
Jesse Vincent
9434d7b2bf
Update function naming from CamelCase to camelCase,
...
to match what actually happens in the Arduino Universe
8 years ago
Jesse Vincent
cb3a6d78c8
press_key-> pressKey
8 years ago
Jesse Vincent
396ae22a67
release_key->releaseKey
8 years ago
Jesse Vincent
9573630c19
camelCasing of internal functions in Hardware file
8 years ago
Jesse Vincent
4712aabfd4
camelCasing of _matrix functions
8 years ago
Jesse Vincent
e29e220416
camelCasing of _matrix functions
8 years ago
Jesse Vincent
c4fccab55b
get_key_color -> getKeyColor
8 years ago
Jesse Vincent
082b409054
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/
8 years ago
Jesse Vincent
6c723bee32
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/
8 years ago
Jesse Vincent
a84060e8d1
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/
8 years ago
Jesse Vincent
769470fbd6
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/
8 years ago
Jesse Vincent
b65f175343
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/
8 years ago
Jesse Vincent
09e596a8a2
CamelCase of handle_*_key*
8 years ago
Jesse Vincent
210287684f
CamelCase of handle_*_key*
8 years ago
Jesse Vincent
08501e59e0
CamelCase of KeyIsPressed and KeyWasPressed
8 years ago
Jesse Vincent
b3f1371fb5
CamelCase of KeyIsPressed and KeyWasPressed
8 years ago
Jesse Vincent
2582441523
CamelCase of KeyIsPressed and KeyWasPressed
8 years ago
Jesse Vincent
0f2bae7db7
keyToggledO* camelcasing
8 years ago
Jesse Vincent
e6de144198
keyToggledO* camelcasing
8 years ago
Jesse Vincent
a8faa2d594
Switch to new key toggle API
8 years ago
Jesse Vincent
3154f7c997
Add "correct" camelCase versions of the keyswitch state macros to ease transition to the new API
...
We'll remove the deprecated versions after the core greps clean
8 years ago
Jesse Vincent
72cd5f7db8
Update to work with new simpler Nulock API
8 years ago
Jesse Vincent
ff4b316f76
REC became PROG and LED and PROG switched places for mass production
8 years ago
Jesse Vincent
4e46843f32
LED_G was missing. Caught by @cdisselkoen++
8 years ago
Jesse Vincent
3a90cc42b2
Merge pull request #8 from keyboardio/f/init-mode
...
Add LEDControl.init_mode()
8 years ago
Jesse Vincent
4a9ce76915
Merge pull request #139 from cdisselkoen/for-upstream
...
Fix paths in README.md to match Makefile
8 years ago