diff options
| author | Jules Laplace <jules@okfoc.us> | 2014-11-22 18:03:48 -0500 |
|---|---|---|
| committer | Jules Laplace <jules@okfoc.us> | 2014-11-22 18:03:48 -0500 |
| commit | 8c544b08e8a855635007147cf21e795d74876025 (patch) | |
| tree | 748622ba33cd618a718a9e7f171366edef92254a /js/app.js | |
| parent | d14b3d777182602093364874ceeccae1d595e3a9 (diff) | |
fixing cursor focus shit
Diffstat (limited to 'js/app.js')
| -rw-r--r-- | js/app.js | 59 |
1 files changed, 52 insertions, 7 deletions
@@ -41,10 +41,9 @@ function bind () { if (current_tool.name == "shader") { return } cursor_input.focus() }) + + var direction = [0,1] cursor_input.addEventListener('keydown', function(e){ - if (! e.metaKey && ! e.ctrlKey && ! e.altKey) { - e.preventDefault() - } console.log("keycode:", e.keyCode) @@ -54,29 +53,75 @@ function bind () { break case 219: // [ if (current_tool.name != "text") { + e.preventDefault() brush.contract(1) break } case 221: // ] if (current_tool.name != "text") { + e.preventDefault() brush.expand(1) break } - default: - if (focused) { focused.key(undefined, e.keyCode) } + case 8: + e.preventDefault() + canvas.focusLex(focused.y-1, focused.x) + focused.char = " " + focused.build() + return + case 13: // return + e.preventDefault() + canvas.focusLex(focused.y, focused.x+1) + return + case 38: // up + e.preventDefault() + direction[0] = -1 + direction[1] = 0 + canvas.focusLex(focused.y + direction[0], focused.x + direction[1]) + break + case 40: // down + e.preventDefault() + direction[0] = 1 + direction[1] = 0 + canvas.focusLex(focused.y + direction[0], focused.x + direction[1]) + break + case 37: // left + e.preventDefault() + direction[0] = 0 + direction[1] = -1 + canvas.focusLex(focused.y + direction[0], focused.x + direction[1]) + break + case 39: // right + e.preventDefault() + direction[0] = 0 + direction[1] = 1 + canvas.focusLex(focused.y + direction[0], focused.x + direction[1]) + break +// default: +// if (focused) { focused.key(undefined, e.keyCode) } } }) + cursor_input.addEventListener('input', function(e){ +/* + if (! e.metaKey && ! e.ctrlKey && ! e.altKey) { + e.preventDefault() + } +*/ if (current_tool.name == "shader") { cursor_input.value = "" return } var char = cursor_input.value -// cursor_input.value = "" + cursor_input.value = "" console.log("input:", char) - if (focused) { focused.key(char, e.keyCode) } + if (focused && char) { + var y = focused.y, x = focused.x + focused.key(char, e.keyCode) + canvas.focusLex(y + direction[0], focused.x + direction[1]) + } }) var contentType = 'text/plain;charset=utf-8' |
