blob: 830892773c25e67489312c81156c4103752db01a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
|
TODO
====
2018.09.24:
v Add `MapGroup` to `State` (2018.09.25)
v FFI function to load `MapGroup` into `State` (2018.09.25)
v Dealloc `_state`
v Key simulation for special keys
v F1 etc.
v Modifier keys
v Escaping
:help <>
1. Any printable characters are typed directly, except backslash and '<'
2. A backslash is represented with "\\", double backslash, or "<Bslash>".
3. A real '<' is represented with "\<" or "<lt>". When there is no
confusion possible, a '<' can be used directly.
v Figure out special function keys like volume, media, etc.
v <nop>
v Default keys
v Fix: when in mode, non-mode mappings should not be enabled
v Command handling
v DKMap Parser
v Fail if no newline at the end of the file
v Fix error with comments and whitespace
v Cleanup
v Remove result from `run_key_action_for_mode()`
v Remove Objective-C key press simulation
v C header file
v cocoa_bridge
v Rename to `ffi` module
v Get rid of unused structs
v Get rid of debug print statements
v Get rid of `unwrap`s and `expect`s
/ Documentation
v README
- Code docs
v man page(s)
v Command-line argument handling
x Custom config file
x DKMap file
v Register license
v Daemon
v Reload DKMap file (XPC services, communicate with running daemon to reload
its mappings)
v IPC
v Reload mappings
v Show error output in client process
x Write LaunchAgent plist file
v Config file
v Read from a config file (XDG etc.)
v Timeout
x Log file? (Thinking always stdout)
v LaunchAgent
v Load mappings from file
v Logging
S Always output consistent timestamp
v Log errors
v Remove `unwrap`s
v Check error messages of parser
v Errors on lines >1
v Errors in actions
v Errors in the middle of definitions after the first line
- Other headphones
v Test with single-button headphones (<prev>/<next>)
> Only triggers a middle button, no prev or next
v Test with Bluetooth headphones (--doesn't work)
- Make it work with Bluetooth headphones
See:
. https://stackoverflow.com/questions/32499676/capture-osx-media-control-buttons-in-swift
. https://github.com/nevyn/SPMediaKeyTap
. https://weblog.rogueamoeba.com/2007/09/29/
v Licensing
v Add Aquatic Prime or some such
v 30-day trial
v Check that you can still register after trial expires
v Audio
v Mode activated
v Mode deactivated
v Play audio on mode change
/ DKMap editor plugins
v Vim
- Emacs
v Homebrew formula
v Add an example config to brew caveats
v Website
v Demo video
|