Skip to content

Commit

Permalink
Docs cleanup and add some plans
Browse files Browse the repository at this point in the history
  • Loading branch information
IGalat committed Apr 7, 2024
1 parent 4b50773 commit 384dd34
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 41 deletions.
2 changes: 1 addition & 1 deletion docs/dev/high_level.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ flowchart

### Trigger conditions

TBD, planned after first release (see plans.md)
See README

### Command

Expand Down
57 changes: 17 additions & 40 deletions docs/dev/plans.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,43 +20,28 @@ By having user configure triggers and corresponding actions, and running a loop

"hotkeys" provide the ability to trigger "automation", or remapping

## Development milestones

1. DONE. Parent classes for SignalListener and Commander
2. DONE. keyboard and mouse dataclasses
3. DONE. Parent SignalListener+Commander for kb and mouse; factories; Windows impl
4. DONE. Action runner
5. DONE. Send Command parser
6. DONE. Trigger parser
7. DONE. State(logger/keeper/whatever);
8. DONE. Wrapper for commanders and listeners(state keeper calls, publish event, bounce fake signal)
9. DONE. SendCommandProcessor
10. DONE. Tree (Tap and group) model: api and shadow
11. DONE. tapper api
12. DONE. SignalProcessor
13. DONE. Initializer
14. DONE. trigger_if - free-style conditions
15. DONE. kwargs map, to make conditions for Taps much easier; TriggerConditions system
16. DONE. WindowTriggerConditionsTracker
17. DONE. Helper: controls, do while pressed/held, recorder
18. DONE. Basic Readme
19. skip - DONE(Only keyboard). Linux impl
20. skip - Make sure it catches signals before other programs on OS
21. DONE. Language detection, switching, and helper to transliterate
22. DONE. Tray icon
23. Tree and config validation with tkinter warnings, Error handling, Logging
24. Moar trackers: kb lang, process, device connect/disconnect, service/daemon, file, resource(cpu/gpu/network) load
25. Group actions when it goes on/off, timer for checking group states? Tap without trigger, only for on/off active
26. DONE. Helpers galore: picture assist, on repeat/hold
27. Good docs, with sphinx/readthedocs/doctest
28. Optimization: profile everything, make caching, active tracking, for window controller in particular
## Development plans

- Tree and config validation with tkinter warnings
- Error handling
- Logging
- Moar trackers: kb lang, process, device connect/disconnect, service/daemon, file, resource(cpu/gpu/network) load
- Group actions when it goes on/off, timer for checking group states? Tap without trigger, only for on/off active
- Good docs, with sphinx/readthedocs/doctest
- Optimization: profile everything, make caching, active tracking, for window controller in particular
- AHK-like Window of Useful Info (app name, pixel color, etc in real time), with active hotkey map
- controls.suspend_toggle(group)


Small change plans:


Potential ideas:
1. AHK-like Window of Useful Info (app name, pixel color, etc in real time)
2. Helper function to show programmed hotkeys for this app/global. Add optional description to Tap, and show there?

- skip - DONE(Only keyboard). Linux impl
- skip - Make sure it catches signals before other programs on OS
- Action queue, maybe with time limit when put? i.e. I press "ab" quickly, both are hotkeys, and if "a" is still going
on the last millisecond, "b" can trigger afterwards. Whole can of worms though.


## Limitations of the current design
Expand All @@ -73,14 +58,6 @@ Cannot do mass things, like lock all buttons until something is pressed.

## Possible extensions to think about for the future

send command arg "key_cleanup" - to lift keys that remain pressed.

"lift" on send: lift modificators, un-caps, then back

tap additional keys allowed - white/blacklist

powerwash example action: move left-right, up, repeat - until mouse is moved

an executable with no python dependency for windows dummies

action on press 2s, not on release after 2s (see parser spec)
Expand Down

0 comments on commit 384dd34

Please sign in to comment.