Commit Graph

290 Commits (887e015afb337da234f127430162a2093c948dc7)

Author SHA1 Message Date
Jesse Vincent 64f20850b5
Add a workaround for [ + LSHIFT as a single key report not generating the proper
7 years ago
Jesse Vincent 51e61dc205
Add a helper function for pressing modifier keys that we receive as
7 years ago
Jesse Vincent 14ae21267b
Add a new 'wasModifierKeyActive' wrapper around a new method in KeyboardioHID
7 years ago
Gergely Nagy 33dc593151 layers: Add a comment about the momentary layer handling
7 years ago
Gergely Nagy c88062a243 layers: Code refactoring
7 years ago
Gergely Nagy b218143faf When a momentary layer is held, reactivate the layer if it turns off
7 years ago
Jesse Vincent 3199594181
astyle
7 years ago
Jesse Vincent f738c4ea1e
rename lookupUncached to lookupOnActiveLayer
7 years ago
Jesse Vincent b82b6910ea
Rename 'keymapCache' to 'activeLayers' to better describe what it is
7 years ago
Gergely Nagy 29a8b95615 layers: Implement a two-stage cache
7 years ago
Gergely Nagy b8f8c9b3d5 Smarter Layer.on / Layer.off
7 years ago
Gergely Nagy 75fb3ac14a Make cpplint happy
7 years ago
Jesse Vincent 89e59ab628
astyle fix for a trailing newline
7 years ago
Jesse Vincent c8e846247c
Rename 'keyCache' to 'keymapCache', as it's a little bit more
7 years ago
Jesse Vincent 6778581bcf
add a more descriptive comment
7 years ago
Gergely Nagy 130845f897 Add a few comments explaining why we call Layer.updateKeyCache()
7 years ago
Gergely Nagy 3748fe7669 Update the key cache on layer change and at keyboard setup
7 years ago
Jesse Vincent 491dca3a4d
lint fix
7 years ago
Gergely Nagy 96b1979ca5 Layer: Make the repeating behaviour the default and only variant
7 years ago
Gergely Nagy 84768d505c Layer_::updateKeyCache: Guard against out of bounds key coordinates
7 years ago
Gergely Nagy 8b9fdaa90f Don't init `Layer.repeat_first_press` to true yet.
7 years ago
Gergely Nagy 5ccdfcf6c7 Switch the layer repeating behaviour
7 years ago
Gergely Nagy f0c1c35e8f Significant speed improvement in key lookup code
7 years ago
Gergely Nagy e3f1172244 Changed how key caching & lookup works
7 years ago
Gergely Nagy dc40c8e226 masking: Let the release event of a masked key through
7 years ago
Gergely Nagy ca8f586b2e Document the use of key masking a bit
7 years ago
Gergely Nagy f0b3ad2b14 Implement key masking for momentary layer keys
7 years ago
Jesse Vincent e9c532509f
Switch AbsoluteMouse to use its own HID endpoint
7 years ago
Jesse Vincent 8bb9bb37ca
make consumercontrol and systemcontrol events only fire on key release
7 years ago
Jesse Vincent 7919922036
Move the hid facade out into its own namespace
7 years ago
Jesse Vincent 7e73341772
Move our hid facade into kaleidoscope::hid
7 years ago
Jesse Vincent c9734385c5
press/releaseKeyRaw -> press/releaseRawKey
7 years ago
Jesse Vincent 4ee9ca4e63
pressConsumer/releaseConsumer -> pressConsumerControl / releaseConsumerControl
7 years ago
Jesse Vincent f5aaedffd5
add an "isModifierActive" to the hid facade
7 years ago
Jesse Vincent 02695b8cea
Add a facde for KeyboardioHID's *.begin()
7 years ago
Jesse Vincent 8b187366c7
Create an abstraction on top of the KeyboardioHID interface
7 years ago
Jesse Vincent cb3a6d78c8
press_key-> pressKey
7 years ago
Jesse Vincent 396ae22a67
release_key->releaseKey
7 years ago
Jesse Vincent e29e220416
camelCasing of _matrix functions
7 years ago
Jesse Vincent 210287684f
CamelCase of handle_*_key*
7 years ago
Jesse Vincent 2582441523
CamelCase of KeyIsPressed and KeyWasPressed
7 years ago
Jesse Vincent 0f2bae7db7
keyToggledO* camelcasing
7 years ago
Jesse Vincent 3154f7c997
Add "correct" camelCase versions of the keyswitch state macros to ease transition to the new API
7 years ago
Gergely Nagy 636dfc3ba6 Rework Kaleidoscope.use to be a compile-time recursive function
8 years ago
Gergely Nagy c05573ea40 Guard the key_is_pressed/key_was_pressed arguments better
8 years ago
Jesse Vincent 8c6b8433cc
astyle pass
8 years ago
Jesse Vincent e57cfbc0db
remove a bunch of semicolons that the linter says are superfluous
8 years ago
Jesse Vincent 37d0f1cb8c
Switch HIDTables.h to #pragma once to satisfy the linter.
8 years ago
Jesse Vincent 554b43c2b5
Remove an unneeded ; caught by cpplint.py
8 years ago
Jesse Vincent d75939d456
make astyle
8 years ago
Jesse Vincent da2adaf96d
Remove "Key_" prefix from ConsumerCtl and Sysctl key defs.
8 years ago
Jesse Vincent e4ecd42d11
Traditional capitialization of PrintScreen
8 years ago
Jesse Vincent 6209290164
Looks like we _do_ have to define this yere to get Keyboard included correctly
8 years ago
Jesse Vincent 944a15aa1c
Fixed a couple places where we were using the old key names
8 years ago
Jesse Vincent 40a597c9e6
Second attempt at disambiguating key definitions
8 years ago
Jesse Vincent 2418b6a3c3
Prefix Sysctl key definitions to avoid duplicate definitions
8 years ago
Jesse Vincent a6de8467b8
Embarassing naming issue
8 years ago
Jesse Vincent 1577bd6cec
remove some backcompat key definition names
8 years ago
Jesse Vincent 4293ac533d
Lift HID Tables to Kaleidoscope to make it easier for implementations
8 years ago
Jesse Vincent af3aeaff4f
First pass at mapping full HID key tables, including back-compat for
8 years ago
Jesse Vincent b5a776c341
Add "Menu" key definintiojn
8 years ago
Jesse Vincent 66bf02cb45
Add a print screen macro.
8 years ago
Jesse Vincent aa274edd43
Revert "add header with rgb struct definition"
8 years ago
Jesse Vincent 338c5c6551 Merge pull request #131 from wez/rgb
8 years ago
Wez Furlong f2c5e3ae9d add header with rgb struct definition
8 years ago
Gergely Nagy 3ee483b2cb Move the WDT calls to the hardware plugins
8 years ago
Wez Furlong 4e5259f424 and this is needed to allow building with the Teensy USB core
8 years ago
Wez Furlong 173a422439 basic support for non-avr, non-usb boards
8 years ago
Jesse Vincent 19c63e6a8b Merge pull request #122 from algernon/f/focus-layer-hook
8 years ago
Jesse Vincent 826194a269 change "handle_key_event" to "handle_keyswitch_event" to make it clear that we're talking about something on the physical layer, rather than, say, a HID event
8 years ago
Jesse Vincent a492d3182e Add some doc for UNKNOWN_KEYSWITCH_LOCATION
8 years ago
Gergely Nagy b66c17c77d Add an optional Focus hook
8 years ago
Gergely Nagy 69bc303828 Add an UNKNOWN_KEYSWITCH_LOCATION helper
8 years ago
Gergely Nagy ff4dfad195 Support for holding Consumer/SystemControl keys
8 years ago
Jesse Vincent b2fd8d148a Merge pull request #114 from algernon/f/no-layer-restore
8 years ago
Gergely Nagy 6d641e7fc5 Make the lookup of a key pluggable
8 years ago
Gergely Nagy 71d49dee51 Don't try to load the saved layer on setup()
8 years ago
Jesse Vincent 6c190f26f1 System and Consumer keys really ought to be explicitly pressed and released using their internal support. This fixes volume keys
8 years ago
Gergely Nagy d1a14b6d32 Add a USE_PLUGINS() macro
8 years ago
Gergely Nagy 5d46660bef Workaround for the compiler optimizing things out...
8 years ago
Gergely Nagy 9a48b83290 Include Kaleidoscope.h in layers.cpp
8 years ago
Gergely Nagy f7834f05fc Merge the hooks into the Kaleidoscope object
8 years ago
Gergely Nagy 361146bf4a Merge plugin.h into Kaleidoscope.h
8 years ago
Gergely Nagy 67e906bc15 Another mergeLayers optimization
8 years ago
Gergely Nagy 0bdbe7385a Minor improvement for mergeLayers
8 years ago
Gergely Nagy 3dc51b233a Cache the keymap when changing layers
8 years ago
Gergely Nagy e305e51455 The Big Rename
8 years ago
Gergely Nagy 4b110b517d Speed up Layer.lookup considerably
8 years ago
Gergely Nagy eb8f9443f9 Fix the momentary layers
8 years ago
Jesse Vincent f3b786dade "make astyle" - no functionality changes
8 years ago
Gergely Nagy 8d768e12a7 Move Storage to the hardware library too
8 years ago
Gergely Nagy f0a191d6b1 Drop keymap_metadata.h
8 years ago
Gergely Nagy c71011a520 Use the Keyboardio-Hardware-Model01 library
8 years ago
Gergely Nagy 8fc1d14630 hooks: Drop the deprecated functions
8 years ago
Jesse Vincent 84d7a3ccb0 Merge pull request #90 from algernon/f/LEDs/lift-off
8 years ago
Jesse Vincent 06e5a2b981 Merge pull request #92 from algernon/h/layers/toggle-fix
8 years ago
Jesse Vincent 572f3407da Merge pull request #91 from algernon/f/hooks/double-register-protection
8 years ago
Gergely Nagy 2c24a5163e key_defs: Add Key_NumLock
8 years ago
Gergely Nagy 361df26094 layers: Fix the layer toggle behaviour
8 years ago
Gergely Nagy 452f3bfc28 hooks: Make the _add functions emit a deprecation warning
8 years ago
Gergely Nagy e349f882e7 hooks: Add some documentation about the various hook functions
8 years ago
Gergely Nagy eb02ca5fe6 hooks: Double-registration protection
8 years ago
Gergely Nagy eaf3991f38 Move the LED stuff into a plugin
8 years ago
Gergely Nagy fab76c9fd4 Fix the modifier macros after the flags/keyCode swap
8 years ago
Gergely Nagy 52a1e96f0d Swap flags and keyCode in the Key struct
8 years ago
Jesse Vincent 743c6e45d3 Remove references to the Wire library, which the KeyboardioScanner no longer uses
8 years ago
Jesse Vincent 8dbf70e278 remove unused breathe state structure
8 years ago
Jesse Vincent b230c1f27d Removing additional use of 'float'
8 years ago
Jesse Vincent 84613fbd4d Switch the "breathe" effect to use integer math
8 years ago
Jesse Vincent 27f77b978f Merge pull request #79 from algernon/f/Key/operators
8 years ago
Gergely Nagy 5b99952c67 Sync the LEDs at the end of the loop
8 years ago
Gergely Nagy 4b76f12ba4 Rename Key.rawKey to Key.keyCode
8 years ago
Gergely Nagy 0cfa1f7adb key_defs: Add some operators
8 years ago
Gergely Nagy 2667b8a074 Keyboardio: Change from static to extern
8 years ago
Gergely Nagy 0d187af2c8 Prevent optimising out the hook functions
8 years ago
Jesse Vincent 8d9ca8040c Merge pull request #76 from algernon/f/Layers/no-hook
8 years ago
Jesse Vincent c34522126a Merge pull request #75 from algernon/h/LED/set-mode-fix
8 years ago
Gergely Nagy fd36e602ad Layers: Don't use hooks for the layer event handler
8 years ago
Gergely Nagy 675fd32f3f Fix LEDControl_::set_mode()
8 years ago
Gergely Nagy 8f5b9ece19 Add a sentinel attribute to Keyboardio.use()
8 years ago
Jesse Vincent 7268eefb93 Merge pull request #72 from algernon/h/no-LED-effect-fix
8 years ago
Gergely Nagy 61e015ce4f Do not crash if there are no LED effects
8 years ago
Gergely Nagy aed2fc8d98 Event hooks reworked, again
8 years ago
Gergely Nagy e78b63deae Loop hooks: Run the loop hooks twice
8 years ago
Gergely Nagy e72867fe68 Introduce ___ and XXX aliases
8 years ago
Gergely Nagy 12710d6cc0 Layer: Fix the momentary layer changing
8 years ago
Gergely Nagy 7adf80dacc Layer handling reworked
8 years ago
Gergely Nagy adf67f7d60 Always call the default handler
8 years ago
Gergely Nagy 1acc23063e Rearrange the SYNTHETIC bits, and their handling
8 years ago
Gergely Nagy afac5ed6f2 Rework the hook handling
8 years ago
Gergely Nagy 74ee68dc34 Make modifier macros safer, and use them
8 years ago
Gergely Nagy 5289373f82 key_defs: Helpers for holding mods with keys
8 years ago
Gergely Nagy 48ef882bf4 Call the loop hooks after doing the other loop actions
8 years ago
Jesse Vincent 8fc7eb7727 Test mode: speed up color cycling and implement matrix testing
8 years ago
Jesse Vincent b5cfe95e51 Update LED layout to match the Model 01 production hardware
8 years ago
Gergely Nagy 4aa6e14021 Add an explicit release event
8 years ago
Gergely Nagy 516d617cce Move macros to a separate library
8 years ago
Gergely Nagy d2ba853594 Move all macro handling into separate files
8 years ago
Gergely Nagy 8b3b321c0e Use an overridable macroAction function for macro actions
8 years ago
Gergely Nagy be7f1de66f keyswitch_state: Rename the state arguments to keyState
8 years ago
Gergely Nagy 0de09ffc97 Use a single byte for keyswitch state
8 years ago
Gergely Nagy 6a02fa8380 Drop the single-aritiy keyswitch state helpers
8 years ago
Gergely Nagy 61e3697d40 Use a macro for checking pressed state
8 years ago
Gergely Nagy 3a2665aed4 Use the new INJECTED flag in the default handlers
8 years ago
Gergely Nagy ad7f645e01 Add an INJECTED flag for keyswitch states
8 years ago
Gergely Nagy b7c9287d0f Introduce a helper macro to compute the keymap size
8 years ago
Jesse Vincent 08acf2ef17 Merge pull request #50 from algernon/f/mouse-plugin
8 years ago
Gergely Nagy eb3ad072b5 BootAnimation: Only display the animation once
8 years ago
Gergely Nagy 28aa497452 Move mouse keys to a library
8 years ago
Gergely Nagy e077ff68bc LED-Off: A new "effect" that simply turns LEDs off
8 years ago