-
Notifications
You must be signed in to change notification settings - Fork 0
/
cw-trainer.html
122 lines (122 loc) · 7.32 KB
/
cw-trainer.html
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
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1, interactive-widget=resizes-content"/>
<title>CW Trainer</title>
<link rel="icon" type="image/x-icon" href="cw-trainer.ico">
<script src="morseplayer.js"></script>
<script src="cw-trainer.js"></script>
<link rel="stylesheet" href="cw-trainer.css">
</head>
<body>
<div id="zonetrainer">
<div id="toaster"></div>
<div class="overlay" id="overlayloading">
<div id="loadingzone">Loading...</div>
</div>
<div id="csmorse" class="overlay">
<span id="morseclosebtn" class="bulle" title="close">X</span>
<div id="morsecscnt"></div>
</div>
<div id="zonemain">
<table>
<tr>
<td colspan="2">
<h2 id="cwtitle">CW Trainer</h2><a href="#" id="selfdl" onclick="selfDownload()" title="save CW Trainer for offline use">💾</a>
</td>
<td>
<label for="sellesson">Lesson : </label>
<input type="button" id="prevlesson" value="<"><select id="sellesson">
<option value='1'>1 - K, M</option><option value='2'>2 - U</option><option value='3'>3 - R</option><option value='4'>4 - E</option><option value='5'>5 - S</option><option value='6'>6 - N</option><option value='7'>7 - A</option><option value='8'>8 - P</option><option value='9'>9 - T</option><option value='10'>10 - L</option><option value='11'>11 - W</option><option value='12'>12 - I</option><option value='13'>13 - .</option><option value='14'>14 - J</option><option value='15'>15 - Z</option><option value='16'>16 - =</option><option value='17'>17 - F</option><option value='18'>18 - O</option><option value='19'>19 - Y</option><option value='20'>20 - ,</option><option value='21'>21 - V</option><option value='22'>22 - G</option><option value='23'>23 - 5</option><option value='24'>24 - /</option><option value='25'>25 - Q</option><option value='26'>26 - 9</option><option value='27'>27 - 2</option><option value='28'>28 - H</option><option value='29'>29 - 3</option><option value='30'>30 - 8</option><option value='31'>31 - B</option><option value='32'>32 - ?</option><option value='33'>33 - 4</option><option value='34'>34 - 7</option><option value='35'>35 - C</option><option value='36'>36 - 1</option><option value='37'>37 - D</option><option value='38'>38 - 6</option><option value='39'>39 - 0</option><option value='40'>40 - X</option>
<option value='41'>Letters</option>
<option value='42'>Numbers</option>
<option value='43'>Symbols</option>
<option value='44'>Prosigns</option>
<option value='45'>QSO</option>
<option value='46'>Free Text</option>
</select><input type="button" id="nxtlesson" value=">">
</td>
</tr>
</table>
<table class="zonecontrols" cellspacing="0">
<tr>
<td>
<label for="selwpm" title="Word Per Minute">WPM</label>
</td>
<td class="rightborder">
<input type="number" id="selwpm" title="Word Per Minute">
</td>
<td>
<div id="chkweightlastletterswrapper" class="checkbox-wrapper" title="more likely to hear letters of the last 3 lessons">
<input class="switch" type="checkbox" id="chkweightlastletters">
<label for="chkweightlastletters">
<span class="switch-x-toggletext" style="width: 170px;">
<span class="switch-x-unchecked"><span class="switch-x-hiddenlabel">Unchecked: </span>last letters emphasis</span>
<span class="switch-x-checked"><span class="switch-x-hiddenlabel">Checked: </span>last letters emphasis</span>
</span>
</label>
</div>
<div id="speechvoices" title="voice used for spelling the played letter"><label>voice : </label><select id="selvoices"></select></div>
</td>
</tr>
<tr>
<td>
<label for="seleffwpm" title="Effective Word Per Minute (Farnsworth)">Eff. WPM</label>
</td>
<td class="rightborder">
<input type="number" id="seleffwpm" title="Effective Word Per Minute (Farnsworth)" class="small">
</td>
<td>
<div id="chkfreelistenwrapper" class="checkbox-wrapper" title=""no stress mode" : text entered will simply be played">
<input class="switch" type="checkbox" id="chkfreelisten">
<label for="chkfreelisten">
<span class="switch-x-toggletext" style="width: 130px;">
<span class="switch-x-unchecked"><span class="switch-x-hiddenlabel">Unchecked: </span>free listen mode</span>
<span class="switch-x-checked"><span class="switch-x-hiddenlabel">Checked: </span>free listen mode</span>
</span>
</label>
</div>
</td>
</tr>
</table>
<div id="zonemodes">
<a id="cheatsheet" href="#"><span class="bulle" title="display morse code">?</span>morse cheatsheet</a>
<a href="#" name="modes" data-mode="koch" title="Koch mode : choose a length and a number of groups then try to write as many symbols as possible">Koch</a>
<a href="#" name="modes" data-mode="simple" title="simple mode : just type the symbol you heard">Simple</a>
<a href="#" name="modes" data-mode="learn" title="learn mode : type the letter to hear it">Learn</a>
</div>
<div id="zonefree" style="display:none">
<input type="text" id="iptfree" maxlength="1">
<div id="zoneresultfree"></div>
</div>
<div id="zonekoch">
<label for="selews" title="extra space between words (seconds)">Extra word space : </label>
<input type="number" step="0.1" id="selews" title="extra space between words (seconds)"><small title="seconds"> (s)</small>
<div id="zonewords">
<label for="grplen">Words length : </label>
<select id="grplen">
<option value="-1">random</option><option value="1">1</option><option value="2">2</option><option value="3">3</option><option value="4">4</option><option value="5">5</option><option value="6">6</option><option value="7">7</option><option value="8">8</option>
</select>
<label for="groupsnb">Groups : </label>
<input type="number" id="groupsnb" min="1" max="250">
</div>
<morse-player id="cwplayer" downloadbutton="true"></morse-player>
<textarea id="cwtext" rows="4" cols="43" spellcheck="false" autocorrect="off"></textarea><br>
<input type="button" value="submit" id="cwsbm">
<span id="zonedkb"><input type="checkbox" id="disablekb"><label for="disablekb">disable keyboard</label></span><br>
</div>
<div id="zonelearn" style="display:none">
<input type="text" id="iptlearn" maxlength="1">
<div id="iptlearnmorse"></div>
</div>
</div>
<div id="zoneresult" style="display:none;">
<div id="zonerestext"></div>
<input type="button" value="retry" id="retrybtn">
<input type="button" value="next lesson !" id="retrynxt" onclick="nxtlesson.click()">
</div>
</div>
<div id="keyboard"></div>
</body>
</html>