aboutsummaryrefslogtreecommitdiffstats
path: root/TODO
blob: 18cbfbec3be6960a451f166d221f85761e664e16 (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
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`
/ 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.
	- Figure out special function keys like volume, media, etc.
	- <nop>
v Fix: when in mode, non-mode mappings should not be enabled
v Command handling
- DKMap Parser
	- Fail if no newline at the end of the file
- Cleanup
	v Remove result from `run_key_action_for_mode()`
	v Remove Objective-C key press simulation
	- C header file
	- cocoa_bridge
		- Rename to `ffi` module
		- Get rid of unused structs
		- Get rid of debug print statements
- Documentation
	- README
	- Code docs
/ Command-line argument handling
	- Custom config file
	- DKMap file
	- Register license
	v Daemon
	v Reload DKMap file (XPC services, communicate with running daemon to reload
	  its mappings)
	- Write LaunchAgent plist file
- Config file
	- Read from a config file (XDG etc.)
	- Timeout
	- Log file? (Thinking always stdout)
- LaunchAgent
v Load mappings from file
/ Logging
	/ Always output consistent timestamp
	/ Log errors
	/ Remove `unwrap`s
	- Check error messages of parser
- Other headphones
	- Test with single-button headphones (<prev>/<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/
- Licensing
	- Add Aquatic Prime or some such
	- 30-day trial
- Audio
	- Mode activated
	- Mode deactivated
- DKMap editor plugins
	- Vim
	- Emacs
- Homebrew formula
- Website
- Demo video