Jesse Vincent
be91a03719
Merge pull request #915 from keyboardio/update-hid-tables
...
Update hid tables
4 years ago
Jesse Vincent
57c41719a7
Add a test for a keycode that will only work with the new HID Usage Tables
4 years ago
Michael Richters
493c258d4d
Update Consumer control definitions to remove KEY_FLAGS, which has no semantic meaning
4 years ago
Michael Richters
c846e1eee6
Add new Consumer control keys from USB HID HUT v1.2
4 years ago
Michael Richters
eeb54c93eb
Correct the construction of Consumer Control Key objects
...
There were a few minor problems in the way Consumer `Key` objects were
constructed (using `CONSUMER_KEY()`). First, no masking of the high
bits was being done, so it was possible to create a "Consumer" key
with the `RESERVED` bit set (e.g. `Key_Transparent`), or the
`SWITCH_TO_KEYMAP` bit (in fact, any `Key` value with both the
`SYNTHETIC` and `IS_CONSUMER` bits set was possible).
This change fixes these potential problems by setting the six bits
taht could conflict to zero. When we need to have special behavior
based on those bits, this can change.
4 years ago
Michael Richters
3eafa32e0e
Fix a few typos in our consumer key definitions
4 years ago
Michael Richters
88b600a1e1
Switch sysctl keys to use the new SYSTEM_KEY macro
4 years ago
Jesse Vincent
b16c5381a1
Import USB HID Usage Tables v1.2 SystemControl additions.
4 years ago
Jesse Vincent
080c530651
Correct the flags on one sysctl key that was misdefined
4 years ago
Michael Richters
5cecf381c3
Correct the construction of Consumer Control Key objects
...
There were a few minor problems in the way Consumer `Key` objects were
constructed (using `CONSUMER_KEY()`). First, no masking of the high
bits was being done, so it was possible to create a "Consumer" key
with the `RESERVED` bit set (e.g. `Key_Transparent`), or the
`SWITCH_TO_KEYMAP` bit (in fact, any `Key` value with both the
`SYNTHETIC` and `IS_CONSUMER` bits set was possible).
Second, the high six bits of the raw `Key` value should always be
`010010` (`SYNTHETIC | IS_CONSUMER`), as Consumer keys don't have any
flags. The macro should really only take one argument: a 16-bit
integer keycode value. The `HID_TYPE_*` constants really shouldn't be
used at all in defining the keys in key_defs_consumer.h, because
setting those bits could potentially cause a key to be misidentified
by some plugin.
This change fixes these potential problems by ignoring the `flags`
parameter, masking the high six bits of the `code` supplied, and
setting those high six bits to the correct value.
4 years ago
Michael Richters
ad5031f64a
Add a new SYSTEM_KEY definition helper macro to match CONSUMER_KEY
4 years ago
Michael Richters
455548b59a
Correct HID usage type for one Consumer key
...
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Michael Richters
dcbab5da8d
Add missing HID Usage Type comments
...
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Jesse Vincent
4681589821
Correct modifier flag removal logic. The previous logic was unlikely to break in production, but was technically incorrect, as it -could- actually add the flag. (XOR was the wrong construct to use when clearing a flag.)
...
Originally reported by Michael Richters <gedankenexperimenter@gmail.com>
as https://github.com/keyboardio/Kaleidoscope-HIDAdaptor-KeyboardioHID/pull/15
4 years ago
Gergely Nagy
9511140e52
Merge pull request #914 from keyboardio/f/parallel-smoke-examples
...
move example smoking into make for parallelization
4 years ago
Jesse Vincent
db93473e12
It's not faster, but I'd rather have parallelization on, so we don't break it
4 years ago
Jesse Vincent
adb9cd91dc
try non-parallel builds
4 years ago
Jesse Vincent
028a43c117
-j 32 is too many, but an interesting test
4 years ago
Jesse Vincent
8f4a418bdb
try -j2 for travis perf
4 years ago
Jesse Vincent
ed10a207d4
Try moving setup to setup section
4 years ago
Jesse Vincent
d7ed55db25
Try shallow clones of submodules
4 years ago
Jesse Vincent
d7a45afdb5
Update the timestamp setting script ti make shellcheck happy
4 years ago
Jesse Vincent
2d4b22db75
manually set up ccache before parallelization
4 years ago
Jesse Vincent
6d00c6d7af
add "prepare-ccache" as a tool for travis
...
also bullet-proof setting up ccache against parallelization race conditions
4 years ago
Jesse Vincent
5774054d61
try to make shellcheck happy
4 years ago
Jesse Vincent
bbb04d77e9
got the env variables wrong
4 years ago
Jesse Vincent
1d7f0df72a
Attempt to clean up travis config to enable smoke-sketches
4 years ago
Jesse Vincent
1b804a6d0f
make the timestmap-editor executable
4 years ago
Jesse Vincent
919f7753ff
We no longer need this, since we do it above. (But also, this was always a repeated call)
4 years ago
Jesse Vincent
d4a14fa7c9
expose the function that finds all the buildable sketches as "find_all_sketches"
4 years ago
Jesse Vincent
6bf70a2fdc
Don't strip out the path from the sketch before we can make use of it
4 years ago
Jesse Vincent
e378f9cd17
Switch find_sketch to set an env variable, rather than return a value, to reduce the number of times we need to call it. Also, begin to add better support for:
...
kaleidoscope-builder examples/Foo/Bar compile
4 years ago
Jesse Vincent
beb963d341
Add a tool to be able to set file timestamps to git commit dates.
...
This will eventually be used to help improve arduino caching behavior
4 years ago
Gergely Nagy
25f0d2fc66
Merge pull request #912 from keyboardio/f/travis-reporting-cleanup
...
Rework our travis config.
4 years ago
Jesse Vincent
9aff83fb65
Fixed travis config issues reeported by travis
4 years ago
Jesse Vincent
8150eec669
Switch from naming our cache directories based on inode to naming them based on the absolute path, so we don't blow the cache 100% of the time on travis
4 years ago
Jesse Vincent
2b209a1fe5
Break out our tests into a build matrix for parallelization and readability
4 years ago
Jesse Vincent
cb9cc68119
we don't need to double-cache ccache
4 years ago
Jesse Vincent
ff2005bdb2
try explicitly caching the build cache
4 years ago
Jesse Vincent
5af5d6a027
Try to cache our arduino download
4 years ago
Jesse Vincent
1da4882fd2
open up our ccache a bit, try to cache apt pkgs
4 years ago
Jesse Vincent
f56ea0d5e4
Try to make our ccache hit rate better using more flexible matching heuristics
4 years ago
Jesse Vincent
b9bca2cf7f
remove a bit of unused info from the compilation step reporting
4 years ago
Jesse Vincent
e72cd8b7b0
Stop caching a directory we explictly delete. report some ccache stats for debugging
4 years ago
Jesse Vincent
e26e19b788
switch to quiet git clones
4 years ago
Jesse Vincent
e429f14d4a
Switch to building on ubuntu 20.04
4 years ago
Jesse Vincent
3024fa461c
Merge pull request #911 from keyboardio/f/cpplint
...
Make compilation warning-free, and the source cpplint-clean
4 years ago
Gergely Nagy
577fb1c51d
cpplint: Constructors where we want explicit conversion, should be explicit
...
Signed-off-by: Gergely Nagy <algernon@keyboard.io>
4 years ago
Gergely Nagy
24a1d38eb1
cpplint: Mark some single-parameter constructors up for implicit conversion
...
For some of our single-parameter constructors, we _want_ to have implicit
conversions, because that makes the code more readable. Mark these up for
cpplint to ignore.
Signed-off-by: Gergely Nagy <algernon@keyboard.io>
4 years ago
Gergely Nagy
942e585c2b
travis: Run cpplint as part of our tests, too.
...
Signed-off-by: Gergely Nagy <algernon@keyboard.io>
4 years ago