aboutsummaryrefslogtreecommitdiffstats
path: root/index.html
blob: 160db22d63eca956eda5545d2715b5cfeb2a19e7 (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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
<!doctype html>
<html lang="en">
<head>
	<meta charset="utf-8">
	<title>DomeKey – Control your computer with a pair of headphones</title>
	<meta name="description" content="DomeKey gives you the power to remap your headphone buttons to any action you can think of. Define mappings in text using a Vim-like configuration language." />

	<meta name="viewport" content="width=device-width">

	<link rel="stylesheet" href="assets/styles.css" />
</head>
<body>
	<div class="content">
		<header>
			<h1>DomeKey</h1>
			<img src="assets/logo.svg" alt="DomeKey logo" />
		</header>

		<p class="font-size-1.52 color-maroon">
			Control your computer with a pair of headphones
		</p>

		<p>
			DomeKey gives you the power to remap your headphone buttons to any action you
			can think of. Define mappings in text using a Vim-like configuration language.
		</p>

		<ul>
			<li>
				Simulate keyboard keys to control applications or automate actions
			</li>
			<li>
				Run shell commands at the press of a button
			</li>
			<li>
				Define as many actions as you need by adding modes, or triggering an action
				with a sequence of headphone buttons
			</li>
		</ul>

		<p>
			With up to three new button inputs, the possibilities are endless.
		</p>

		<div class="position-relative margin-bottom-0.5">
			<h2 class="display-inline-block">Try it free for 30 days</h2>
			<a href="#"
				class="buy-button
					button button-magenta
					padding-top-9 padding-bottom-9
					position-absolute right-0 bottom-0"
				onclick="Paddle.Checkout.open({ product: 544591 })">
				Buy ($15)
			</a>
		</div>
		<div class="code code-block">
			<span class="color-murky-pond">$</span> brew install teddywing/DomeKey/dome-key
		</div>

		<h2>Examples</h2>

		<p>Video controls:</p>
		<pre class="code code-block margin-bottom-1.8 font-size-0.8">
map &lt;Up&gt; &lt;Left&gt;
map &lt;Play&gt; &lt;Space&gt;
map &lt;Down&gt; &lt;Right&gt;</pre>

		<p>Preserve volume buttons and include video controls in a mode:</p>
		<pre class="code code-block margin-bottom-1.8 font-size-0.8">
# Don't launch iTunes when pressing the middle button
map &lt;Play&gt; &lt;Nop&gt;

mode &lt;Play&gt;&lt;Play&gt; {
    map &lt;Up&gt; &lt;Left&gt;
    map &lt;Play&gt; &lt;Space&gt;
    map &lt;Down&gt; &lt;Right&gt;
}</pre>

		<p>Open frequently used applications:</p>
		<pre class="code code-block margin-bottom-1.8 font-size-0.8">
cmd &lt;Up&gt;       open -a Terminal
cmd &lt;Play&gt;     open -a Xcode
cmd &lt;Down&gt;     open -a Firefox
cmd &lt;Up&gt;&lt;Play&gt; open -a Dictionary</pre>

		<p>Open Terminal window #2:</p>
		<pre class="code code-block margin-bottom-1.8 font-size-0.8">
cmd &lt;Play&gt; osascript -e 'activate application "Terminal"' -e 'tell application "System Events" to keystroke "2" using command down'</pre>

		<h2>Manual</h2>
		<p>
			<a href="/doc/dome-key.1.html">dome-key(1)</a>,
			<a href="/doc/dome-key-mappings.7.html">dome-key-mappings(7)</a>
		</p>

		<h2>Editor plugin</h2>
		<p>
			A <a href="https://github.com/teddywing/vim-dome-key">Vim syntax plugin</a>
			is available for the DomeKey mapping syntax.
		</p>

		<h2>System requirements</h2>
		<ul>
			<li>
				Mac OS X 10.12 and later
			</li>
			<li>
				Wired headphones with 1–3 buttons (Bluetooth headphones are currently
				unsupported. If you know of a way to access bluetooth headphone events,
				please <a href="mailto:inquiry@domekey.teddywing.com">get in touch</a>.)
			</li>
		</ul>

		<h2>Purchasing</h2>
		<p>
			Licenses are valid for all 1.x releases of the program.
		</p>
	</div>

	<script src="https://cdn.paddle.com/paddle/paddle.js"></script>
	<script type="text/javascript">
		Paddle.Setup({ vendor: 36825 });
	</script>
</body>
</html>