diff --git a/4chan_x.user.js b/4chan_x.user.js index e884983f4..3a8f6a9d3 100644 --- a/4chan_x.user.js +++ b/4chan_x.user.js @@ -868,29 +868,66 @@ }, keyCode: function(e) { var kc; - kc = e.keyCode; - if ((65 <= kc && kc <= 90)) { - key = String.fromCharCode(kc); - if (!e.shiftKey) { - key = key.toLowerCase(); + key = (function() { + switch (kc = e.keyCode) { + case 8: + return ''; + case 27: + return 'Esc'; + case 37: + return 'Left'; + case 38: + return 'Up'; + case 39: + return 'Right'; + case 40: + return 'Down'; + case 48: + case 49: + case 50: + case 51: + case 52: + case 53: + case 54: + case 55: + case 56: + case 57: + case 65: + case 66: + case 67: + case 68: + case 69: + case 70: + case 71: + case 72: + case 73: + case 74: + case 75: + case 76: + case 77: + case 78: + case 79: + case 80: + case 81: + case 82: + case 83: + case 84: + case 85: + case 86: + case 87: + case 88: + case 89: + case 90: + if (e.shiftKey) { + return String.fromCharCode(kc); + } else { + return String.fromCharCode(kc).toLowerCase(); + } + break; + default: + return null; } - } else if ((48 <= kc && kc <= 57)) { - key = String.fromCharCode(kc); - } else if (kc === 37) { - key = 'Left'; - } else if (kc === 38) { - key = 'Up'; - } else if (kc === 39) { - key = 'Right'; - } else if (kc === 40) { - key = 'Down'; - } else if (kc === 27) { - key = 'Esc'; - } else if (kc === 8) { - key = ''; - } else { - key = null; - } + })(); if (key) { if (e.altKey) { key = 'alt+' + key; diff --git a/script.coffee b/script.coffee index dcb10ebbb..220d27bdc 100644 --- a/script.coffee +++ b/script.coffee @@ -619,27 +619,26 @@ keybinds = e.preventDefault() keyCode: (e) -> - kc = e.keyCode - if 65 <= kc <= 90 #A-Z - key = String.fromCharCode kc - if !e.shiftKey - key = key.toLowerCase() - else if 48 <= kc <= 57 #0-9 - key = String.fromCharCode kc - else if kc is 37 - key = 'Left' - else if kc is 38 - key = 'Up' - else if kc is 39 - key = 'Right' - else if kc is 40 - key = 'Down' - else if kc is 27 - key = 'Esc' - else if kc is 8 - key = '' - else - key = null + key = switch kc = e.keyCode + when 8 + '' + when 27 + 'Esc' + when 37 + 'Left' + when 38 + 'Up' + when 39 + 'Right' + when 40 + 'Down' + when 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 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 #0-9 and A-Z + if e.shiftKey + String.fromCharCode kc + else + String.fromCharCode(kc).toLowerCase() + else + null if key if e.altKey then key = 'alt+' + key if e.ctrlKey then key = 'ctrl+' + key