Hacker News new | past | comments | ask | show | jobs | submit login

That's because the keydown event uses keyCode instead of charCode, and the two don't always match. Try typing Shift+U and then '[' on this page to see what I mean: http://unixpapa.com/js/testkey.html.

Since KeyboardJS is already loaded via requirejs, we can require it and then use it to get the keyCode for each character in the for loop.

    var KeyboardJS = require('lib/keyboard');

    [...]

    for (var i = 0; i < input.length; ++i) {
      var code = KeyboardJS.key.code(input.charAt(i));
      if (code) {
        soundArray.push(code);
      } else {
        soundArray.push(32);
      }
    }
Here's an updated version of the script, using your example as input: https://gist.github.com/peterjmag/489364ca58330c348c33



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: