@@ -1,15 +1,14 @@
11
2−Elm.Native.Keyboard = function(elm) {
2+Elm.Native.Keys = function(elm) {
33 'use strict';
44 elm.Native = elm.Native || {};
5− if (elm.Native.Keyboard) return elm.Native.Keyboard;
5+ if (elm.Native.Keys) return elm.Native.Keys;
66
77 var Signal = Elm.Signal(elm);
88 var NList = Elm.Native.List(elm);
9− var Maybe = Elm.Maybe(elm);
109
1110 var keysDown = Signal.constant(NList.Nil);
12− var charPressed = Signal.constant(Maybe.Nothing);
11+ var charPressed = Signal.constant('\0');
1312
1413 function down(e) {
1514 if (NList.member(e.keyCode)(keysDown.value)) return;
@@ -28,9 +27,7 @@ Elm.Native.Keyboard = function(elm) {
2827 if (!hasListener) elm.node.removeEventListener('blur', blur);
2928 }
3029 function press(e) {
31− var next = Maybe.Just(e.charCode || e.keyCode);
32− var hasListener = elm.notify(charPressed.id, next);
33− elm.notify(charPressed.id, Maybe.Nothing);
30+ var hasListener = elm.notify(charPressed.id, e.charCode || e.keyCode);
3431 if (!hasListener) elm.node.removeEventListener('keypress', press);
3532 }
3633
@@ -40,7 +37,7 @@ Elm.Native.Keyboard = function(elm) {
4037 elm.node.addEventListener('keypress', press);
4138
4239 function keySignal(f) {
43− var signal = A2( Signal.lift, f, elm.Keyboard.Raw.keysDown );
40+ var signal = A2( Signal.lift, f, keysDown );
4441 keysDown.defaultNumberOfKids += 1;
4542 signal.defaultNumberOfKids = 0;
4643 return signal;
@@ -65,11 +62,11 @@ Elm.Native.Keyboard = function(elm) {
6562
6663 function is(key) { return keySignal(NList.member(key)); }
6764
68− return elm.Native.Keyboard = {
65+ return elm.Native.Keys = {
6966 isDown:is,
7067 directions:F4(dir),
71− keysDown:keysDown,
72− charPressed:charPressed
68+ down:keysDown,
69+ presses:charPressed
7370 };
7471
7572};