1
+
2
+ <!doctype html>
3
+ < html lang ="en " class ="no-js ">
4
+ < head >
5
+
6
+ < meta charset ="utf-8 ">
7
+ < meta name ="viewport " content ="width=device-width,initial-scale=1 ">
8
+
9
+ < meta name ="description " content ="Documentation for the E-Fidget, a haptic feedback fidget spinner ">
10
+
11
+
12
+
13
+
14
+
15
+ < link rel ="icon " href ="/img/logo.svg ">
16
+ < meta name ="generator " content ="mkdocs-1.4.2, mkdocs-material-9.0.6 ">
17
+
18
+
19
+ < link
20
+ rel ="apple-touch-icon "
21
+ sizes ="180x180 "
22
+ href ="/img/favicons/apple-touch-icon.png "
23
+ />
24
+ < link
25
+ rel ="icon "
26
+ type ="image/png "
27
+ sizes ="32x32 "
28
+ href ="/img/favicons/favicon-32x32.png "
29
+ />
30
+ < link
31
+ rel ="icon "
32
+ type ="image/png "
33
+ sizes ="16x16 "
34
+ href ="/img/favicons/favicon-16x16.png "
35
+ />
36
+ < link rel ="manifest " href ="/img/favicons/site.webmanifest " />
37
+ < link
38
+ rel ="mask-icon "
39
+ href ="/img/favicons/safari-pinned-tab.svg "
40
+ color ="#555555 "
41
+ />
42
+ < link rel ="shortcut icon " href ="/img/favicons/favicon.ico " />
43
+ < meta name ="msapplication-TileColor " content ="#603cba " />
44
+ < meta name ="msapplication-config " content ="/img/favicons/browserconfig.xml " />
45
+ < meta name ="theme-color " content ="#ffffff " />
46
+ < title > E-Fidget</ title >
47
+
48
+
49
+ < link rel ="stylesheet " href ="/assets/stylesheets/main.558e4712.min.css ">
50
+
51
+
52
+ < link rel ="stylesheet " href ="/assets/stylesheets/palette.2505c338.min.css ">
53
+
54
+
55
+
56
+
57
+
58
+
59
+
60
+
61
+
62
+ < link rel ="preconnect " href ="https://fonts.gstatic.com " crossorigin >
63
+ < link rel ="stylesheet " href ="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback ">
64
+ < style > : root {--md-text-font : "Roboto" ;--md-code-font : "Roboto Mono" }</ style >
65
+
66
+
67
+
68
+ < link rel ="stylesheet " href ="/styles/header.css ">
69
+
70
+ < link rel ="stylesheet " href ="/styles/logo-spin.css ">
71
+
72
+ < script > __md_scope = new URL ( "/" , location ) , __md_hash = e => [ ...e ] . reduce ( ( e , _ ) => ( e << 5 ) - e + _ . charCodeAt ( 0 ) , 0 ) , __md_get = ( e , _ = localStorage , t = __md_scope ) => JSON . parse ( _ . getItem ( t . pathname + "." + e ) ) , __md_set = ( e , _ , t = localStorage , a = __md_scope ) => { try { t . setItem ( a . pathname + "." + e , JSON . stringify ( _ ) ) } catch ( e ) { } } </ script >
73
+
74
+
75
+
76
+
77
+
78
+
79
+ </ head >
80
+
81
+
82
+
83
+
84
+
85
+
86
+
87
+
88
+
89
+ < body dir ="ltr " data-md-color-scheme ="default " data-md-color-primary ="deep-purple " data-md-color-accent ="light-blue ">
90
+
91
+
92
+
93
+ < script > var palette = __md_get ( "__palette" ) ; if ( palette && "object" == typeof palette . color ) for ( var key of Object . keys ( palette . color ) ) document . body . setAttribute ( "data-md-color-" + key , palette . color [ key ] ) </ script >
94
+
95
+ < input class ="md-toggle " data-md-toggle ="drawer " type ="checkbox " id ="__drawer " autocomplete ="off ">
96
+ < input class ="md-toggle " data-md-toggle ="search " type ="checkbox " id ="__search " autocomplete ="off ">
97
+ < label class ="md-overlay " for ="__drawer "> </ label >
98
+ < div data-md-component ="skip ">
99
+
100
+ </ div >
101
+ < div data-md-component ="announce ">
102
+
103
+ </ div >
104
+
105
+
106
+
107
+
108
+ < header class ="md-header " data-md-component ="header ">
109
+ < nav class ="md-header__inner md-grid " aria-label ="Header ">
110
+ < a href ="/. " title ="E-Fidget " class ="md-header__button md-logo " aria-label ="E-Fidget " data-md-component ="logo ">
111
+
112
+ < img src ="/img/logo.svg " alt ="logo ">
113
+
114
+ </ a >
115
+ < label class ="md-header__button md-icon " for ="__drawer ">
116
+ < svg xmlns ="http://www.w3.org/2000/svg " viewBox ="0 0 24 24 "> < path d ="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z "/> </ svg >
117
+ </ label >
118
+ < div class ="md-header__title " data-md-component ="header-title ">
119
+ < div class ="md-header__ellipsis ">
120
+ < div class ="md-header__topic ">
121
+ < span class ="md-ellipsis ">
122
+ E-Fidget
123
+ </ span >
124
+ </ div >
125
+ < div class ="md-header__topic " data-md-component ="header-topic ">
126
+ < span class ="md-ellipsis ">
127
+
128
+
129
+
130
+ </ span >
131
+ </ div >
132
+ </ div >
133
+ </ div >
134
+
135
+ < form class ="md-header__option " data-md-component ="palette ">
136
+
137
+
138
+ < input class ="md-option " data-md-color-media ="" data-md-color-scheme ="default " data-md-color-primary ="deep-purple " data-md-color-accent ="light-blue " aria-label ="Switch to dark mode " type ="radio " name ="__palette " id ="__palette_1 ">
139
+
140
+ < label class ="md-header__button md-icon " title ="Switch to dark mode " for ="__palette_2 " hidden >
141
+ < svg xmlns ="http://www.w3.org/2000/svg " viewBox ="0 0 24 24 "> < path d ="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69Z "/> </ svg >
142
+ </ label >
143
+
144
+
145
+
146
+ < input class ="md-option " data-md-color-media ="" data-md-color-scheme ="slate " data-md-color-primary ="deep-purple " data-md-color-accent ="light-blue " aria-label ="Switch to dark mode " type ="radio " name ="__palette " id ="__palette_2 ">
147
+
148
+ < label class ="md-header__button md-icon " title ="Switch to dark mode " for ="__palette_1 " hidden >
149
+ < svg xmlns ="http://www.w3.org/2000/svg " viewBox ="0 0 24 24 "> < path d ="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12c0-2.42-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69Z "/> </ svg >
150
+ </ label >
151
+
152
+
153
+ </ form >
154
+
155
+
156
+
157
+ < label class ="md-header__button md-icon " for ="__search ">
158
+ < svg xmlns ="http://www.w3.org/2000/svg " viewBox ="0 0 24 24 "> < path d ="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z "/> </ svg >
159
+ </ label >
160
+ < div class ="md-search " data-md-component ="search " role ="dialog ">
161
+ < label class ="md-search__overlay " for ="__search "> </ label >
162
+ < div class ="md-search__inner " role ="search ">
163
+ < form class ="md-search__form " name ="search ">
164
+ < input type ="text " class ="md-search__input " name ="query " aria-label ="Search " placeholder ="Search " autocapitalize ="off " autocorrect ="off " autocomplete ="off " spellcheck ="false " data-md-component ="search-query " required >
165
+ < label class ="md-search__icon md-icon " for ="__search ">
166
+ < svg xmlns ="http://www.w3.org/2000/svg " viewBox ="0 0 24 24 "> < path d ="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z "/> </ svg >
167
+ < svg xmlns ="http://www.w3.org/2000/svg " viewBox ="0 0 24 24 "> < path d ="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z "/> </ svg >
168
+ </ label >
169
+ < nav class ="md-search__options " aria-label ="Search ">
170
+
171
+ < button type ="reset " class ="md-search__icon md-icon " title ="Clear " aria-label ="Clear " tabindex ="-1 ">
172
+ < svg xmlns ="http://www.w3.org/2000/svg " viewBox ="0 0 24 24 "> < path d ="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z "/> </ svg >
173
+ </ button >
174
+ </ nav >
175
+
176
+ </ form >
177
+ < div class ="md-search__output ">
178
+ < div class ="md-search__scrollwrap " data-md-scrollfix >
179
+ < div class ="md-search-result " data-md-component ="search-result ">
180
+ < div class ="md-search-result__meta ">
181
+ Initializing search
182
+ </ div >
183
+ < ol class ="md-search-result__list " role ="presentation "> </ ol >
184
+ </ div >
185
+ </ div >
186
+ </ div >
187
+ </ div >
188
+ </ div >
189
+
190
+
191
+ < div class ="md-header__source ">
192
+ < a href ="https://github.com/2231puppy/E-Fidget " title ="Go to repository " class ="md-source " data-md-component ="source ">
193
+ < div class ="md-source__icon md-icon ">
194
+
195
+ < svg xmlns ="http://www.w3.org/2000/svg " viewBox ="0 0 448 512 "> <!--! Font Awesome Free 6.2.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc.--> < path d ="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z "/> </ svg >
196
+ </ div >
197
+ < div class ="md-source__repository ">
198
+ E-Fidget Design Source
199
+ </ div >
200
+ </ a >
201
+ </ div >
202
+
203
+ </ nav >
204
+
205
+ </ header >
206
+
207
+ < div class ="md-container " data-md-component ="container ">
208
+
209
+
210
+
211
+
212
+
213
+
214
+ < main class ="md-main " data-md-component ="main ">
215
+ < div class ="md-main__inner md-grid ">
216
+
217
+
218
+
219
+ < div class ="md-sidebar md-sidebar--primary " data-md-component ="sidebar " data-md-type ="navigation " >
220
+ < div class ="md-sidebar__scrollwrap ">
221
+ < div class ="md-sidebar__inner ">
222
+
223
+
224
+
225
+ < nav class ="md-nav md-nav--primary " aria-label ="Navigation " data-md-level ="0 ">
226
+ < label class ="md-nav__title " for ="__drawer ">
227
+ < a href ="/. " title ="E-Fidget " class ="md-nav__button md-logo " aria-label ="E-Fidget " data-md-component ="logo ">
228
+
229
+ < img src ="/img/logo.svg " alt ="logo ">
230
+
231
+ </ a >
232
+ E-Fidget
233
+ </ label >
234
+
235
+ < div class ="md-nav__source ">
236
+ < a href ="https://github.com/2231puppy/E-Fidget " title ="Go to repository " class ="md-source " data-md-component ="source ">
237
+ < div class ="md-source__icon md-icon ">
238
+
239
+ < svg xmlns ="http://www.w3.org/2000/svg " viewBox ="0 0 448 512 "> <!--! Font Awesome Free 6.2.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc.--> < path d ="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z "/> </ svg >
240
+ </ div >
241
+ < div class ="md-source__repository ">
242
+ E-Fidget Design Source
243
+ </ div >
244
+ </ a >
245
+ </ div >
246
+
247
+ < ul class ="md-nav__list " data-md-scrollfix >
248
+
249
+
250
+
251
+
252
+
253
+
254
+
255
+
256
+ < li class ="md-nav__item ">
257
+ < a href ="/. " class ="md-nav__link ">
258
+ Overview
259
+ </ a >
260
+ </ li >
261
+
262
+
263
+
264
+
265
+
266
+
267
+
268
+
269
+
270
+
271
+ < li class ="md-nav__item ">
272
+ < a href ="/about/ " class ="md-nav__link ">
273
+ About
274
+ </ a >
275
+ </ li >
276
+
277
+
278
+
279
+ </ ul >
280
+ </ nav >
281
+ </ div >
282
+ </ div >
283
+ </ div >
284
+
285
+
286
+
287
+ < div class ="md-sidebar md-sidebar--secondary " data-md-component ="sidebar " data-md-type ="toc " >
288
+ < div class ="md-sidebar__scrollwrap ">
289
+ < div class ="md-sidebar__inner ">
290
+
291
+
292
+ < nav class ="md-nav md-nav--secondary " aria-label ="Table of contents ">
293
+
294
+
295
+
296
+
297
+ </ nav >
298
+ </ div >
299
+ </ div >
300
+ </ div >
301
+
302
+
303
+
304
+ < div class ="md-content " data-md-component ="content ">
305
+ < article class ="md-content__inner md-typeset ">
306
+
307
+ < h1 > 404 - Not found</ h1 >
308
+
309
+ </ article >
310
+ </ div >
311
+
312
+
313
+ </ div >
314
+
315
+ </ main >
316
+
317
+ < footer class ="md-footer ">
318
+
319
+ < div class ="md-footer-meta md-typeset ">
320
+ < div class ="md-footer-meta__inner md-grid ">
321
+ < div class ="md-copyright ">
322
+
323
+
324
+ Made with
325
+ < a href ="https://squidfunk.github.io/mkdocs-material/ " target ="_blank " rel ="noopener ">
326
+ Material for MkDocs
327
+ </ a >
328
+
329
+ </ div >
330
+
331
+ </ div >
332
+ </ div >
333
+ </ footer >
334
+
335
+ </ div >
336
+ < div class ="md-dialog " data-md-component ="dialog ">
337
+ < div class ="md-dialog__inner md-typeset "> </ div >
338
+ </ div >
339
+
340
+ < script id ="__config " type ="application/json "> { "base" : "/" , "features" : [ ] , "search" : "/assets/javascripts/workers/search.e5c33ebb.min.js" , "translations" : { "clipboard.copied" : "Copied to clipboard" , "clipboard.copy" : "Copy to clipboard" , "search.result.more.one" : "1 more on this page" , "search.result.more.other" : "# more on this page" , "search.result.none" : "No matching documents" , "search.result.one" : "1 matching document" , "search.result.other" : "# matching documents" , "search.result.placeholder" : "Type to start searching" , "search.result.term.missing" : "Missing" , "select.version" : "Select version" } } </ script >
341
+
342
+
343
+ < script src ="/assets/javascripts/bundle.51d95adb.min.js "> </ script >
344
+
345
+
346
+ </ body >
347
+ </ html >
0 commit comments