From e4afb2f724f0a42c946ded3805f6827f8ed3868c Mon Sep 17 00:00:00 2001 From: Dan VerWeire Date: Fri, 27 Jan 2012 18:49:07 -0500 Subject: [PATCH] tty: emit 'unknown' key event if key sequence not found Add key.code and key.sequence -mad props go out to @TooTallNate --- lib/tty.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/tty.js b/lib/tty.js index dccda5a4812..c1bbba1b06a 100644 --- a/lib/tty.js +++ b/lib/tty.js @@ -154,6 +154,8 @@ ReadStream.prototype._emitKey = function(s) { } } + key.sequence = s; + if (s === '\r' || s === '\n') { // enter key.name = 'enter'; @@ -210,6 +212,7 @@ ReadStream.prototype._emitKey = function(s) { key.ctrl = !!(modifier & 4); key.meta = !!(modifier & 10); key.shift = !!(modifier & 1); + key.code = code; // Parse the key itself switch (code) { @@ -305,6 +308,7 @@ ReadStream.prototype._emitKey = function(s) { /* misc. */ case '[Z': key.name = 'tab'; key.shift = true; break; + default: key.name = 'undefined'; break; } } else if (s.length > 1 && s[0] !== '\x1b') {