Commit Graph

452 Commits

Author SHA1 Message Date
Patrick McQuay
be2bbce21a fix some linting issues 2022-02-05 18:00:03 -08:00
Patrick McQuay
1c82f7d387 apply vylders fix and also figure out how to set _is_target correctly, as well as make it work nicely with ble. 2022-02-05 18:00:03 -08:00
Kyle Brown
9f373b4be0 Fix linter 2022-02-05 17:59:44 -08:00
xs5871
2874d49d20 disable hid_send on secondary split 2022-02-05 16:38:41 -08:00
pcharest2000
6ecb7807c2 Code refractor of private members, I am not python programmer, and final try to fix linting error after I quit 2022-02-05 16:37:51 -08:00
pcharest2000
99a9c6fd80 Tried to fix linting 2022-02-05 16:37:51 -08:00
pcharest2000
25fd205c3e Implemented basice linear acceleration.... This makes it more usable, ill update if PR is accepted 2022-02-05 16:37:51 -08:00
xs5871
3e3255ffea fix lock_status on secondary split 2022-02-05 07:29:01 +00:00
RT_GEN
55a6636741 Fixed multiple encoders not working
Multiple encoders didn't work as a result of an unbound value of 'idx', the loop counter in the during_bootup method. Binding this value has fixed the issue. This has been tested on hardware (6 encoders) and is confirmed working.
2022-02-05 07:28:02 +00:00
patrickmcquay
7fbda871c2 real fix for swallowing keys, use a buffer and only process one key at a time. 2022-02-04 08:37:19 -08:00
Patrick McQuay
c09cd48218 fix for dropping keys 2022-02-04 08:37:19 -08:00
Christian Tu
f90de872d8 fix bytearray.startswith not available in CircuitPython 2022-02-02 17:54:23 -08:00
Christian Tu
b6201d43d4 unit tests for execution in desktop dev environment 2022-02-01 00:48:23 -08:00
Kyle Brown
328a29c439 Fix isort on incorrect files 2022-01-28 17:58:06 -08:00
abhijithabhiakl
0bebdd6d27 fix monocolor LED 2022-01-25 23:44:07 -08:00
xs5871
245f7912b6 fix formatting 2022-01-22 08:55:40 -08:00
xs5871
8419ed789c implement keyboard lock status reader API 2022-01-22 08:55:40 -08:00
xs5871
a62d39a252
make TapDance a module (#281)
* extract tapdance logic into a module

* clean out old tapdance code

* canonicalize key variable names

* split _process_tap_dance into td_pressed and td_released

* implement consistent argument order

* update documentation

* implement Module.process_key for key interception and modification

* fix tapdance realesing instead of pressing

* fix: default parameters in key handler

* cleanup holdtap

* add error handling to modules process_key

* fix: key released too late

Tapped keys didn't release on a "key released" event, but waited for a
timeout. Resulted in, for example, modifiers applying to keys after the
modifier was released.

* fix lint/formatting

* fix tap_time reference in modtap + minimal documentation

* fix lint
2022-01-18 05:21:05 +00:00
tonasz
10f8c74ad9 Allow declaring encoders without a button 2022-01-17 21:19:51 -08:00
xs5871
410cf7af07 fix: catch IndexError when looking up key in keymap 2021-12-12 20:53:02 -08:00
Josh Klar
8063898eb2
fix: resolve #276 (reimplement #142) by allowing custom matrix scanners 2021-12-06 12:02:35 -08:00
pcharest2000
5fcd31b97c Resolve issue 285 in parsing logic, KC.NO was being parsed has an alpha, swapped the control flow treating the special case KC.NO and KC.XXXXX before alphas and nimbers
-Fix linting error on last PR
2021-12-06 11:12:55 -08:00
xs5871
e1300ba767 fix hid report type disambiguition 2021-12-06 09:22:21 -08:00
xs5871
a8b2bf75ad fix unicode sequence 2021-12-03 15:28:15 -08:00
atsuyuki
5073a29501 Fixed wrong combination keycode conversion. 2021-12-01 09:49:23 -08:00
Christian Tu
11ff03523b fix BLE HID not working with consumer keys 2021-11-06 14:44:50 -07:00
Yoichiro Tanaka
235560bf72 Fix the issue #256 by changing the timing to set True fo the hid_pending flag. 2021-10-24 14:13:15 -07:00
xs5871
3e91f63c88 fix tapdance with momentary modifiers; tap-timeout per tap.
Improves handling of momentary modifiers (i.e. different actions on hold or
press/release) as tapdance targets.
tap_time is reset for each consecutive single tap, instead of being
applied to the entire tap sequence.
2021-10-19 00:16:49 -07:00
elric91
74186f20a1 typos 2021-10-17 09:12:20 -07:00
FHA
b2db921a5b merge new_encoder.py to encoder.py 2021-10-17 09:12:20 -07:00
elric91
ed68ddb79d Merge Encoder and NewEncoder. Enhance missteps handling 2021-10-17 09:12:20 -07:00
elric91
d9fb351448 Minor corrections to pass lint test 2021-10-17 09:12:20 -07:00
elric91
484bcc4d22 Black formatting for lint test 2021-10-17 09:12:20 -07:00
elric91
7993a4e415 New encoder module, with button action support 2021-10-17 09:12:20 -07:00
atsuyuki
6357141165 Removed spaces at end of line. 2021-10-14 23:02:57 -07:00
atsuyuki
edfd127148 Fix for pass the test.
Add newline at end of file.
2021-10-14 23:02:57 -07:00
atsuyuki
04b720da5b Removed redundant parts and also simplified everything. 2021-10-14 23:02:57 -07:00
atsuyuki
d2b34097f2 Fix keymap_jp.py to pass the test 2021-10-14 23:02:57 -07:00
atsuyuki
0bc6fe0c97 Fix keymap_jp.py to pass the test 2021-10-14 23:02:57 -07:00
atsuyuki
d114a28f9e Ported keymap_jp from QMK
Ported keymap_jp from QMK. With this, KMK will work as a JIS keyboard.
2021-10-14 23:02:57 -07:00
Christian Tu
7586df8de9 fix Key no_release argument 2021-10-01 15:13:45 +02:00
atsuyuki
8167e0bc72 Fix LT() doesn't work
Fixed a problem where layer switching was not working in LT().
2021-09-27 13:47:07 +09:00
Josh Klar
e5d7333e2e
Merge pull request #238 from kbjunky/master
added ADNS9800 and mouse keys/mouse buttons/mouse wheel support
2021-09-25 22:21:16 +00:00
Josh Klar
0a2f62a90b
Merge pull request #247 from xs5871/fix-tapdance
fix tapdancing
2021-09-25 22:14:48 +00:00
Christian Tu
199ec1d914 fix last merge 2021-09-25 11:20:45 +02:00
Christian Tu
abaafbd8c5 Merge remote-tracking branch 'upstream/master' into hold-tap 2021-09-25 11:13:41 +02:00
Christian Tu
99577357f6 move HoldTap to its own file 2021-09-25 11:07:33 +02:00
Christian Tu
209acc94b2 TT toggles layer state on key hold 2021-09-25 10:54:45 +02:00
Christian Tu
4e938ef6b6 use const values instead of magic strings 2021-09-25 10:48:43 +02:00
xs5871
8a15378733
fix tapdancing 2021-09-24 13:33:03 +00:00
kbjunky
1a5e7fa54b adns9800_firmware.py removed
Cleaned up firmware file
Additional info in docs about missing firmware file and how to proceed without it.
2021-09-21 15:09:56 +08:00
Josh Klar
9c46eaeb9c
Merge pull request #240 from honboubao/ble-name
add ble_name option to KMKKeyboard.go method
2021-09-20 23:31:11 +00:00
Josh Klar
7b1d3f17c4
Merge pull request #242 from honboubao/key-memory
reduce Key objects memory footprint
2021-09-20 23:29:38 +00:00
Josh Klar
8199854b5e
Merge pull request #232 from KMKfw/topic-supervisor-ticks
Convert to supervisor ticks
2021-09-20 23:28:12 +00:00
Josh Klar
3bc038d0d8
Merge pull request #243 from honboubao/release-previously-pressed-key
always release the same key as was pressed
2021-09-20 23:25:54 +00:00
Christian Tu
0a61cbd4af change ModTap to allow for activating mod on hold, rolling key presses and fix stuck mod 2021-09-19 16:21:42 +02:00
Christian Tu
5cd34bcfea _on_matrix_changed to set key state variable 2021-09-19 04:24:37 +02:00
Kyle Brown
a894d8d140 fix sleep 2021-09-17 10:55:29 -07:00
Christian Tu
113e8eb867 fix doc typos and switched description for keycodes NUBS and NUHS 2021-09-17 08:54:22 -07:00
Kyle Brown
0e528435a3 resolved issues 2021-09-17 08:40:20 -07:00
Christian Tu
f36a18513b remember pressed keys and release the same keys when the physical switch is opened, even if the layer has changed between key down and key up and a different key is now active for that matrix position 2021-09-17 16:16:59 +02:00
Christian Tu
3ad2a00dc9 initialize event handler lists in Key objects only when needed to reduce memory footprint 2021-09-17 16:14:51 +02:00
Christian Tu
3c9c527a96 add ble_name option to KMKKeyboard.go method 2021-09-17 16:14:11 +02:00
kbjunky
731f1b1030 Moved firmware to an external file 2021-09-17 15:31:40 +08:00
kbjunky
1ba8ea3728 Fixed formatting, unused import 2021-09-16 19:54:37 +08:00
kbjunky
3d6e4fde41 added ADNS9800 and mouse keys/mouse buttons/mouse wheel support
ADNS9800 - module for interfacing with ADNS9800 optical sensor
mouse_keys - module for using mouse buttons, mouse wheel as well as moving mouse cursor with keyboard keys
2021-09-15 20:14:12 +08:00
Kyle Brown
584eee64c6 Convert to supervisor ticks 2021-09-14 07:56:38 -07:00
Jasper Chan
7601a6f21f Add QMK equivalent attributes of DiodeOrientation 2021-09-13 20:34:49 -07:00
Josh Klar
d3b315d059
Merge pull request #233 from Gigahawk/fix_send_string
Fix send_string (#206)
2021-09-14 03:09:47 +00:00
Jasper Chan
88e3fe45d4 Fix send_string (#206) 2021-09-13 19:54:08 -07:00
Kyle Brown
e77a0af23c add / to key names 2021-09-12 11:16:53 -07:00
pullenrc
15918db7ac
Encoder module! (#211)
* added atreus62 board

* Uploaded module for encoder support

* Update README.md


Co-authored-by: Ryan Pullen <rpullen@martinuav.com>
2021-07-19 08:30:28 -07:00
Josh Klar
083e4a701a fix(keys): fix shifted keys bug, make lazy key defs more readable 2021-07-09 11:21:00 -07:00
Josh Klar
ab6aa1838c chore: whatever it just took to get my PM2040 to boot 2021-07-09 11:21:00 -07:00
Kyle Brown
7310bdd780
add shorthand for KC_NO 2021-07-07 12:53:17 -07:00
Kyle Brown
a77fee7f04
Add shifted keynames to register unshifted versions 2021-07-07 12:53:17 -07:00
Kyle Brown
1a348f1539 docs and typos 2021-06-25 10:53:58 -07:00
Josh Klar
f79e508566
fix(lint): lint all the things; be more flexible in boards dir 2021-06-20 13:59:59 -07:00
Josh Klar
eb41d704b0
fix(split): do not attempt to send HID from slave sides of split boards, resolves infinite hang after single UART send 2021-06-20 13:55:18 -07:00
Josh Klar
aeee945728
fix(keys): force gc collection in keys setup to reduce memory fragmentation, probably at cost of performance 2021-06-20 13:55:18 -07:00
Josh Klar
6f8eb425b1
fix: allow userspace setting of Split.debug_enabled 2021-06-20 13:55:18 -07:00
Gigahawk
6d5b99d78d
Dynamically create core key definitions as required (#200)
* Dynamically allocate keys as required

* Restore comments

* Run linter

* Move key definitions into a dict

* Revert "Move key definitions into a dict"

This reverts commit 49ac7c2e40.
2021-06-20 13:55:18 -07:00
Josh Klar
66788c29ca
fix(split): now able to send a single keydown, but nothing else, from secondary parts of split boards 2021-06-20 13:55:18 -07:00
Kyle Brown
33408dc228
Lily58 works. Wired splits still don't 2021-06-20 13:55:18 -07:00
Kyle Brown
581d8e269b
update kmkpython and hack fix bug 2021-06-20 13:55:18 -07:00
Kyle Brown
e72d2b8c34
feat(extensions): most of the extensions implementation, by kdb424 2021-06-20 13:55:16 -07:00
Josh Klar
9821f7bcc3
Initial attempt to merge internal_state with kmk_keyboard. Seems to work on Plank so far 2021-06-20 13:53:39 -07:00
Josh Klar
54f4644b5c
fix(lint): fix all outstanding linter errors 2021-06-20 13:14:53 -07:00
Kyle Brown
015e0cdfd7 linter fix 2020-10-15 15:42:12 -07:00
Josh Klar
1b730cacf3
Merge pull request #180 from KMKfw/topic-rgb-animation
update RGB for more modern cpy versions
2020-10-14 22:07:30 -07:00
Josh Klar
dc598ad439
Merge pull request #167 from dzervas/ble_multimple_conns
BLE Multiple Connections
2020-10-14 22:04:29 -07:00
Josh Klar
1016dc552c
fix: everyone's linting; loosen one linter rule on user keymaps 2020-10-14 21:54:18 -07:00
Kyle Brown
80d95816e4 Switch to initiator/target 2020-10-13 11:07:08 -07:00
Kyle Brown
1a4e81a2e5 Remove GC. Not needed on newer Cpy versions 2020-10-13 10:58:18 -07:00
Kyle Brown
6e10babfbe update RGB for more modern cpy versions 2020-10-09 22:43:37 -07:00
Dimitris Zervas
a6d36d57a7
Add multimple connection support 2020-10-01 23:02:05 +03:00
Dimitris Zervas
69f7c3c8c2
Remove some code from BLE 2020-10-01 23:02:05 +03:00
Kyle Brown
29373e9a37 delay imports 2020-10-01 12:53:05 -07:00
Kyle Brown
e225d8b1d6 Allows continuation of firmware if bluetooth can't be imported 2020-10-01 12:53:05 -07:00
Kyle Brown
fba97fc364 UART does in fact work 2020-10-01 12:41:18 -07:00
Kyle Brown
73b7464ec1 initial corne support on the nicenano 2020-10-01 12:41:18 -07:00
Dimitris Zervas
2cf64d8ce7 [ble] Add support to clear all current bondings 2020-09-29 19:35:49 -07:00
Dimitris Zervas
e5700eeb5f [ble] Add support to change ble name from KMKKeyboard.go 2020-09-29 09:35:00 -07:00
Kyle Brown
18eeb4eadc remove prints 2020-09-13 18:44:18 -07:00
Kyle Brown
6844654d39 Clearly a copy paste error 2020-09-13 18:44:18 -07:00
Dimitris Zervas
4d46653526 Fix formatting and make lab68 bluetooth 2020-09-13 18:20:58 -07:00
Dimitris Zervas
b082f26d9e Fix typos in lab68 and add compatibility for MCP to matrix 2020-09-13 18:20:58 -07:00
Josh Klar
5096bb7e30
chore: formatting 2020-07-07 20:35:11 -07:00
Benjamin Dengler
2197dab6fa
Moved BLE functionality to its own module 2020-07-07 20:35:11 -07:00
Benjamin Dengler
1bd84e49aa
Added basic BLE implementation using Adafruit libs 2020-07-07 20:35:11 -07:00
Elvis Pfützenreuter
ed452084fe Apply matrix_scanner attribute instead of fixed class 2019-08-06 19:17:01 -03:00
Josh Klar
666c0a4f08
Rename KeyboardConfig to KMKKeyboard - prepping for later merge with InternalState 2019-07-25 01:30:55 -07:00
Josh Klar
5da4555669
Fix isort ordering 2019-07-25 01:06:09 -07:00
Josh Klar
6baaf5e5d4
Continue to shuffle and burn stuff
- Remove the concept of "mcus". With only one target platform
(CircuitPython), it no longer makes a bunch of sense and has been kept
around for "what if" reasons, complicating our import chains and eating
up RAM for pointless subclasses. If you're a `board`, you derive from
`KeyboardConfig`. If you're a handwire, the user will derive from
`KeyboardConfig`. The end. As part of this, `kmk.hid` was refactored
heavily to emphasize that CircuitPython is our only supported HID stack,
with stubs for future HID implementations (`USB_HID` becomes
`AbstractHID`, probably only usable for testing purposes,
`CircuitPython_USB_HID` becomes `USBHID`, and `BLEHID` is added with an
immediate `NotImplementedError` on instantiation)

- `KeyboardConfig` can now take a HID type at runtime. The NRF52840
boards will happily run in either configuration once CircuitPython
support is in place, and a completely separate `mcu` subclass for each
mode made no sense. This also potentially allows runtime *swaps* of HID
driver down the line, but no code has been added to this effect. The
default, and only functional value, for this is `HIDModes.USB`

- Most consts have been moved to more logical homes - often, the main
or, often only, component that uses them. `DiodeOrientation` moved to
`kmk.matrix`, and anything HID-related moved to `kmk.hid`
2019-07-25 00:58:23 -07:00
Josh Klar
eb566b0f71
Remove two classes that havent been used in almost a year 2019-07-25 00:35:08 -07:00
Josh Klar
8c57844a22
Remove a ton of leftover MicroPython code and abstractions, including all of kmk.pins 2019-07-25 00:32:20 -07:00
Josh Klar
45cadc7e5a
CircuitPython-provided modules should be considered stdlib-equiv by isort terms. Apply this new rule. 2019-07-25 00:04:06 -07:00
Josh Klar
11a4604f88
Move our preload hacks out of keyboard_config into their own module. Isolate the ugliness 2019-07-25 00:03:35 -07:00
Josh Klar
38e8102532
Remove kmk.util by moving reboot/bootloader to their only use location 2019-07-24 23:45:50 -07:00
Josh Klar
02401e2ec0
Move kmk.util.get_wide_ordinal to kmk.handlers.sequences 2019-07-24 23:44:26 -07:00
Josh Klar
1eaf0e2c79
flatten_dict is no longer used, remove it 2019-07-24 23:43:39 -07:00
Josh Klar
ef1c69aa2c
Fix linting; move kmk.util.intify_coordinate to kmk.matrix.intify_coordinate (trying to deprecate/remove util) 2019-07-24 23:43:00 -07:00
Josh Klar
64267bdc5b
fix a totally unrelated bug 2019-07-24 23:15:57 -07:00
Josh Klar
aaeaa74a0c
Run black against source tree 2019-07-24 23:03:13 -07:00
Josh Klar
5c0c13e8d0
Prepare for Black autoformatting: dependencies, string staging, single-quote string override 2019-07-24 23:03:13 -07:00
Josh Klar
39220beddb
tag releases within the dists as well (for debugging, mostly) 2019-07-24 21:25:10 -07:00
Josh Klar
a51d11f6e6
A wild W504 linter error appeared! Fix those. 2019-07-24 21:25:10 -07:00
Josh Klar
1e9625ae0e
Rename "Firmware" to "KeyboardConfig" for clarity in main.py and to illustrate separation of KeyboardConfig/InternalState 2019-07-24 21:25:10 -07:00
Josh Klar
e8c3b5ac70
The CircuitPython "MCU" (misnomer now?) is generic anyway - name it as such 2019-07-24 21:25:10 -07:00
Josh Klar
d15aa65cc6 Kyle built a Gherkin handwire on Feather nrf52840! Unclean but works 2019-07-17 16:05:40 -07:00
Kyle Brown
004f40e7d2 Unbreak the fix 2019-07-17 16:05:40 -07:00
Kyle Brown
b6af43ef90 rgb animations perf 2019-07-17 16:05:40 -07:00
Josh Klar
c11984135a looks like this is not needed, so save some bootup time 2019-07-17 16:05:40 -07:00
Josh Klar
76087749fb Download more RAM (reword this in a rebase plz) 2019-07-17 16:05:40 -07:00
Kyle Brown
d07560513f Fixed crash on debug when no Rgb was used, and unloaded LED and RGB when not used to save ram 2019-07-17 16:05:40 -07:00
Josh Klar
d34e8ce9d2 Re-add LED support
This reverts commit 5b069a0104.
2019-07-17 16:05:40 -07:00
Josh Klar
350c2438ad
Disable GC on every cycle, too much lag 2019-07-12 16:54:38 -07:00
Josh Klar
17094a2988
Clean some code up; force GC on every cycle 2019-07-12 16:38:50 -07:00
Josh Klar
2947f81489
Remove pointless reversed_active_layers/active_layers difference 2019-07-12 15:31:27 -07:00
Josh Klar
1fe80fec92
Clean up and standardize print() debug stuff 2019-07-12 15:16:33 -07:00
Josh Klar
5b069a0104
Revert "Monocolor LED backlight added" 2019-07-07 15:35:15 -07:00
Kyle Brown
5532ffdcbf Ready for merging 2019-06-21 17:28:30 -07:00
Kyle Brown
39b0b1e7f2 final commit before rebase 2019-06-21 16:51:01 -07:00
Kyle Brown
5158094549 Small changes 2019-06-21 16:49:00 -07:00
Kyle Brown
3f8c6e7648 Added support for user animations with docs 2019-06-21 16:49:00 -07:00
Kyle Brown
9d8682c866 Config changes and uses consts to save ram 2019-06-21 16:49:00 -07:00
Kyle Brown
86b8c4ffb0 New animation 2019-06-21 16:49:00 -07:00
Kyle Brown
bb198709f2 fix incorrect merge 2019-06-21 16:48:59 -07:00
Kyle Brown
efb642c374 Fix some issues if you don't define some things 2019-06-21 16:47:44 -07:00
Kyle Brown
1a06e0ed72 Renamed some things and added luddite layout for kdb424 and default 2019-06-21 16:47:44 -07:00
Kyle Brown
7ebf8d623f Fix toggle 2019-06-21 16:47:44 -07:00
Kyle Brown
ec1a62e52d Added static standby mode for performance. 2019-06-21 16:47:44 -07:00
Kyle Brown
0a06e733d2 Solved. Added uart buffer on the master to free up the uart bus buffer 2019-06-21 16:47:43 -07:00
Kyle Brown
e2413a3c25 Still dirty, but moved the problem to a better place. Still unrealistic to hit 2019-06-21 16:47:00 -07:00
Kyle Brown
a882ef2c38 Quick patch unrealistic face roll keyboard corruption 2019-06-21 16:47:00 -07:00
Kyle Brown
373ca8355e Added MANY boards to supported list, and organized supported boards 2019-06-21 16:47:00 -07:00
Kyle Brown
54d63037bf Added board definition for nyquist and add RGB and LED pins for nyquest and iris 2019-06-21 16:46:59 -07:00
Kyle Brown
f7a1d54752 Added LED support, cleaned up RGB docs 2019-06-21 16:45:04 -07:00
Kyle Brown
f65ea1e841 Added 2 more keys, stripped unused cruft, and added more docs. 2019-06-21 16:44:03 -07:00
Kyle Brown
3ae7432de0 Massive docs update 2019-06-21 16:42:53 -07:00
Kyle Brown
9fbad17ed4 code cleanup to pass lint and some for flake8 2019-06-21 16:42:12 -07:00
Kyle Brown
1751cce299 code cleanup to pass lint and some for flake8 2019-06-21 16:41:58 -07:00
Kyle Brown
ad3430eeb6 Needs docs, but code is ready for review probably 2019-06-21 16:38:41 -07:00
Kyle Brown
5334e7e0be Massive hsv math fix and configs can be passed now for most things 2019-06-21 16:38:41 -07:00
Kyle Brown
2ad1fe8a9c Massively improved, still not complete. Much easier to use now 2019-06-21 16:38:41 -07:00
Kyle Brown
31983a0873 Breathing now finally working, a key to enable it, not sane defaults, and a toggle button 2019-06-21 16:38:39 -07:00
Kyle Brown
0ba5911f8f More animations, now based on time and intervals. Massively WIP 2019-06-21 16:37:53 -07:00
Kyle Brown
7a58ac041f HSV functions added 2019-06-21 16:37:53 -07:00
Kyle Brown
4b033857b1 Initial RGB with test animation running automatically 2019-06-21 16:37:51 -07:00
Elvis Pfutzenreuter
dabed0061d Add KC_APP ("Win menu") key 2019-05-31 00:36:42 -03:00
Josh Klar
c3ffb7b1ac
Merge branch 'master' into epx87 2019-05-20 15:54:10 -07:00
Elvis Pfützenreuter
41dc58e428 Make matrix scanner class configurable 2019-05-17 20:30:42 -03:00
Josh Klar
0b364cf7f1 Resolves #121: Use flattened keymaps, which can visually represent the logical layout, rather than the physical wiring 2019-05-12 17:47:16 -07:00
Josh Klar
7fcd36f2fb Refs #104: Keyboard can work without REPL connected on >=4.0.0-alpha3 (tested only against single-piece boards so far) 2019-05-12 14:14:59 -07:00
Josh Klar
cf5ee5d4b2 Resolves an OverflowError in matrix scans (board-breaking) 2019-05-12 13:19:44 -07:00
Josh Klar
9dce78370e
Merge branch 'master' into topic-backspace-delete 2019-05-10 13:03:52 -07:00
Elvis Pfützenreuter
f9b56d82f7 Add cancel_timeout method
This method is useful when the keymap needs to use
state.set_timeout() and this timeout needs to be
cancellable.

Also, the set_timeout() now returns a timer handle.
2019-04-26 19:50:41 -03:00
Elvis Pfützenreuter
9c4a136989 Use return value of pre-press/pre-release callbacks
When the return value evaluates to False, the key press or key
release is ignored. This allows for implementation of elaborate
keyboard behaviors.
2019-04-26 19:50:41 -03:00
Elvis Pfützenreuter
b494857f21 Fix bug in TO layer key handling 2019-04-25 22:40:29 -03:00
Kyle Brown
0016ac8aa3
Merge branch 'master' into topic-backspace-delete 2019-03-21 17:25:16 -07:00
Kyle Brown
8bb55c84cd Literally hurting performance now. Needs removed 2019-03-21 17:24:50 -07:00
Kyle Brown
7e06b143e1
Merge branch 'master' into topic-backspace-delete 2019-03-12 00:25:05 -07:00
Kyle Brown
298f9489c2 Duh, chaining.... 2019-03-12 00:24:48 -07:00
Kyle Brown
a2cfa92f2f Missed some obvious things 2019-03-12 00:24:48 -07:00
Kyle Brown
e792524b63 Added mod tap with docs 2019-03-12 00:24:48 -07:00
Kyle Brown
fc8ddba6cb Adds delete/backspace key. Resolves #93 2019-03-09 15:12:23 -08:00
Josh Klar
848afb7801
Allow pre/post on_press/on_release handlers to be attached to all keys (example provided) 2019-02-18 15:08:07 -08:00
Josh Klar
4ab673ba80
Resolves #106: Unbreak KC.GESC 2019-01-23 01:52:27 -08:00
Josh Klar
6ddfbadfbf
Remove unused function and useless comment 2019-01-14 11:25:21 -08:00
Josh Klar
0878538f42
Resolve issues with leader mode, allow single-key targets (HID or internal) 2018-12-29 16:52:06 -08:00
Josh Klar
375783742f
Remove unused kmk.string (originally from micropython-lib) 2018-12-29 15:42:56 -08:00
Josh Klar
413e8b8806
Rename keycodes to keys, simpler and easier to deal with 2018-12-29 15:29:11 -08:00
Josh Klar
faa61f7df1
Remove debug leftovers causing failed lints 2018-12-29 07:27:44 -08:00
Josh Klar
e5c8f5587d
Merge unicode handlers with the others. Prove arbitrary Macros are now doable in userspace 2018-12-29 07:10:11 -08:00
Josh Klar
8a21b4135d
Restore Unicode Macro support 2018-12-29 06:58:08 -08:00
Josh Klar
57239e3163
Everything necessary to get this to boot finally. Planck types! 2018-12-29 06:03:31 -08:00
Josh Klar
39a6465658
Checkpoint alpha: Reflow macros and keycodes into a consistent structure. Most internal state functionality largely untouched (just moved) 2018-12-29 04:44:52 -08:00
Josh Klar
be4ca3e734
kitsym4: Support the keeb.io Iris using the ProMicro<->ItsyBitsyM4 converter board
The thumb cluster maps a little goofy and I'd like to clean up the
keymap here - it's ENTIRELY NOT OBVIOUS how this works right now. Using
this keymap as an example, the physical layout of my thumb cluster is
actually:

Far left: Left
Next to the right: Right
Bottom right: Shift
Top right: MO(2)

You can see what this maps to in code, and it's not at all intuitive.

`swap_indicies`, which we already support, is useless here because,
unlike the Planck/Klaranck, these aren't 1:1 key swaps, but an entirely
custom mapping of columns. This will require something like QMK's
solution to fully custom (or at least partially custom) keymaps at a
core level, and isn't something I feel like tackling tonight
necessarily.
2018-12-28 23:20:08 -08:00
Kyle Brown
952f6b7022 Added the extra data pin. Will add docs when it's actually doing something 2018-12-12 15:43:33 -08:00
Kyle Brown
5ef6a7a96a Added docs, and removed some old, not needed docs 2018-12-12 15:43:33 -08:00