Commit Graph

79 Commits

Author SHA1 Message Date
xs5871
b84cd0bdab Add missing keycode 2023-04-01 21:55:45 +00:00
xs5871
fd700cff44 Resolve invalid keys to KC.NO instead of ValueError 2023-03-09 21:18:02 +00:00
Aldoo
61cf527370 Removed extra ".__iter__()" in KeyAttrDict iterator: iterating elements in the partition already implicitly calls its __iter__ method.
Actually using the dictionary iterator with this extra call would trigger an error since an iterator does not have an iterator. This is no longer the case.
2023-02-22 19:37:20 +00:00
xs5871
449aab7dcb Add BLE_DISCONNECT key 2023-02-17 03:03:40 +00:00
xs5871
9e5d2c24e1 Refactor for nicer pointing device axes handling 2023-02-14 20:42:08 +00:00
xs5871
ca800331de Implement axis movement method 2023-02-14 20:42:08 +00:00
xs5871
e84bbd0d75 add mouse buttons to pointing device 2023-02-14 20:42:08 +00:00
xs5871
69d47343e8 implement global pointing device axis handling 2023-02-14 20:42:08 +00:00
xs5871
408f2f487e Remove for-else-block from keys.py for readability 2023-02-11 21:27:41 +00:00
xs5871
5af52addf8 Fixes KeyAttrDict iterator 2023-02-11 21:27:41 +00:00
xs5871
e7427ff53b Split KeyAttrDict.__cache into memory friendly partitions. 2023-02-11 09:03:44 +00:00
xs5871
0fbba96026 add type hinting for kmk.keys 2022-10-08 13:28:29 -07:00
xs5871
e0ca1124fb cleanup unused coord_raw 2022-07-24 15:19:20 -07:00
xs5871
3f3bd93109 implement global debug interface. 2022-07-22 09:21:30 -07:00
xs5871
914f449699 factor out firmware and unicode mode keys 2022-07-21 18:25:43 -07:00
xs5871
84f1b2ae06 cleanup 2022-07-21 18:25:43 -07:00
xs5871
f086a78864 remove another stack frame level 2022-07-21 18:25:43 -07:00
xs5871
47ccd56c30 refactor initial key lookup
based on:
639c38d5aa
2022-07-21 18:25:43 -07:00
Steven Karrmann
4d6983da11 Add 'BSPACE' keycode for documentation consistency 2022-07-20 15:36:24 -07:00
James Fitzgerald
d830ff7293 fix typo and formatting again 2022-07-19 16:16:47 -07:00
James Fitzgerald
fd73292da0 Add shorthand 2022-07-19 16:16:47 -07:00
James Fitzgerald
d584b1f506 Add keycode for software reload 2022-07-19 16:16:47 -07:00
xs5871
ed94ad06da de-duplicate consumer keys 2022-07-14 16:46:21 -07:00
xs5871
258e622bb4 fix and refactor keyboard unittest 2022-07-05 08:48:18 -07:00
xs5871
357165c14b fix KC["_"] resolving to BLE_REFRESH 2022-07-02 08:03:05 -07:00
crazyiop
ffcfc9835d update format to fstring 2022-06-12 09:31:15 +00:00
crazyiop
8d7ae8b284 add info to exception to help debug layers 2022-06-09 11:04:00 +00:00
John Morrison
bb8dec907a Clear cache rather than reassign, correct ALPHA case check and creation 2022-04-25 17:50:26 +00:00
John Morrison
6a7f5e285e Remove unused import 2022-04-25 17:50:26 +00:00
John Morrison
5eeb88e2b7 Minimum necessary to add index and get capability and tests 2022-04-25 17:50:26 +00:00
Ryan Rotter
27a0bc1977 refactor Key and ModifierKey __call__ methods
- Add tests for ModifierKey chaining
- Rewrite ModifierKey.__call__ for correctness and readability
- __call__ now maintains handlers and meta, like clone()
2022-04-22 09:10:40 -07:00
John Morrison
4d297e6ab2 Typos 2022-04-18 13:28:26 +00:00
Ryan Rotter
c7490087b6 Add ROPT and LOPT as alias for alt keys
Additional aliases for macOS key names to match QMK behavior
2022-04-16 17:09:47 -07:00
xs5871
e5f89963cf fix pystack exhaustion caused by make_shifted_key.
This removes multiple layers of indirection, effectively making
`make_shifted_key` only as heavy on the stack as the reguler `make_key`.
2022-04-03 13:47:27 -07:00
tonasz
3687212ed7 Split BLE background advertising 2022-03-23 21:16:09 -07: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
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
Christian Tu
7586df8de9 fix Key no_release argument 2021-10-01 15:13:45 +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
Kyle Brown
e77a0af23c add / to key names 2021-09-12 11:16:53 -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
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
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
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
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
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
dc598ad439
Merge pull request #167 from dzervas/ble_multimple_conns
BLE Multiple Connections
2020-10-14 22:04:29 -07:00
Kyle Brown
1a4e81a2e5 Remove GC. Not needed on newer Cpy versions 2020-10-13 10:58:18 -07:00