From 348adec19053bd2efed458e5b758e1b4ceaaeb6f Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 25 Aug 2014 16:53:39 +0200 Subject: [PATCH] Adding layout choice --- index.html | 7 +++++-- keyzen.js | 36 +++++++++++++++++++++++++++++++++++- 2 files changed, 40 insertions(+), 3 deletions(-) diff --git a/index.html b/index.html index 0f8934b..98ee2fa 100644 --- a/index.html +++ b/index.html @@ -65,11 +65,11 @@ margin-right:auto; } - #level-chars { + #level-chars, #layout{ font-size: 16px; width:95%; text-align: center; - padding: 16px; + padding-bottom: 16px; margin-left: auto; margin-right:auto; word-wrap: break-word; @@ -124,6 +124,9 @@
+
+
+
diff --git a/keyzen.js b/keyzen.js index f0c2f06..76aae76 100644 --- a/keyzen.js +++ b/keyzen.js @@ -8,7 +8,12 @@ var ratio = 0; data.chars = " jfkdlsahgyturieowpqbnvmcxz6758493021`-=[]\\;',./ABCDEFGHIJKLMNOPQRSTUVWXYZ~!@#$%^&*()_+{}|:\"<>?"; data.consecutive = 5; data.word_length = 7; - +data.current_layout = "qwerty"; +layouts={}; +layouts["qwerty"] = " jfkdlsahgyturieowpqbnvmcxz6758493021`-=[]\\;',./ABCDEFGHIJKLMNOPQRSTUVWXYZ~!@#$%^&*()_+{}|:\"<>?"; +layouts["azerty"] = " jfkdlsmqhgyturieozpabnvcxw6758493021`-=[]\\;',./ABCDEFGHIJKLMNOPQRSTUVWXYZ~!@#$%^&*()_+{}|:\"<>?"; +layouts["colemak"] = " ntesiroahdjglpufywqbkvmcxz1234567890'\",.!?:;/@$%&#*()_ABCDEFGHIJKLMNOPQRSTUVWXYZ~+-={}|^<>`[]\\"; +layouts["bépo"] = " tesirunamc,èvodpléjbk'.qxghyfàzw6758493021`-=[]\\;/ABCDEFGHIJKLMNOPQRSTUVWXYZ~!@#$%^&*()_+{}|:\"<>?"; $(document).ready(function() { if (localStorage.data != undefined) { @@ -55,6 +60,21 @@ function set_level(l) { render(); } +function set_layout(l) { + data.current_layout = l + data.chars = layouts[l] + data.in_a_row = {}; + for(var i = 0; i < data.chars.length; i++) { + data.in_a_row[data.chars[i]] = data.consecutive; + } + data.word_index = 0; + data.word_errors = {}; + data.word = generate_word(); + data.keys_hit = ""; + save(); + render(); +} + function keyHandler(e) { start_stats(); @@ -117,6 +137,7 @@ function load() { function render() { + render_layout(); render_level(); render_word(); render_level_bar(); @@ -124,6 +145,19 @@ function render() { render_stats(); } +function render_layout() { + var layouts_html = ""; + for(var layout in layouts){ + if(data.current_layout == layout){ + layouts_html += " " + } else { + layouts_html += " " + } + layouts_html += layout + ""; + } + layouts_html += ""; + $("#layout").html('Choose layout : ' + layouts_html); +} function render_level() { var chars = "";