From 75ccb893600883901e0a2b23020f913c24326667 Mon Sep 17 00:00:00 2001 From: deuce <> Date: Tue, 17 Nov 2015 16:05:55 +0000 Subject: [PATCH] Add new "UNKNOWN_ANSI" key type. --- exec/dorkit/ansi_input.js | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/exec/dorkit/ansi_input.js b/exec/dorkit/ansi_input.js index b49d7640da..37e40762ea 100644 --- a/exec/dorkit/ansi_input.js +++ b/exec/dorkit/ansi_input.js @@ -4,6 +4,7 @@ var ai={ input_queue:new Queue("dorkit_input"), // Called every 100ms *and* every char. + ANSIRe:/^\x1b\[([<-\?]{0,1})([0-;]*)([ -\/]*)([@-~])$/, add:function(ch) { var i; var q; @@ -173,8 +174,14 @@ var ai={ } } + // Got valid, unknown sequence... + if (this.ansi_started && this.charbuf.search(this.ANSIRe)==0) { + this.input_queue.write("UNKNOWN_ANSI\x00"+this.charbuf); + this.ansi_started = 0; + } + // Timeout out waiting for escape sequence. - if (this.charbuf.length > 10 || (this.ansi_started && this.ansi_started + 100 < Date.now())) { + if (this.ansi_started && this.ansi_started + 100 < Date.now()) { for(i=0; i<this.charbuf.length; i++) { byte = this.charbuf.substr(i,1) this.input_queue.write(byte); -- GitLab