diff --git a/exec/lbshell.js b/exec/lbshell.js index 2a92d0ab579b8e19478020b5de757c1fbc89a1ac..4bb34d08a3f8c3c8050173f939da8ee5f5fabfdf 100644 --- a/exec/lbshell.js +++ b/exec/lbshell.js @@ -56,19 +56,6 @@ var lastmessage_type=0; var orig_passthru=console.ctrlkey_passthru; var hangup_now=false; -/* - * TODO: This mangles the ANSI sequence so it will pass through inkey() - * properly... inkey re-inserts ESC back into the stream using ungetkey() - * which changes the order of if the string, putting sequence arguments - * at the end. - */ -function mangle_mouse_seq(seq) -{ - var len = seq.length; - - return '' + seq[0] + seq[len - 1] + seq.substr(1,len - 2); -} - function handle_a_ctrlkey(key) { var i; @@ -667,7 +654,7 @@ while(bbs.online) { } if(x_sec=='\b' || x_sec=='\x7f' || x_sec=='\x1b') { if (xtrnsec.mouse_miss_str !== undefined) { - console.ungetstr(mangle_mouse_seq(xtrnsec.mouse_miss_str)); + console.ungetstr(xtrnsec.mouse_miss_str); delete xtrnsec.mouse_miss_str; } break; @@ -695,7 +682,7 @@ while(bbs.online) { if(x_prog==KEY_RIGHT || x_prog=='\b' || x_prog=='\x7f' || x_prog=='\x1b') { this_xtrnsec.erase(); if (this_xtrnsec.mouse_miss_str !== undefined) { - console.ungetstr(mangle_mouse_seq(this_xtrnsec.mouse_miss_str)); + console.ungetstr(this_xtrnsec.mouse_miss_str); delete this_xtrnsec.mouse_miss_str; } break; @@ -795,7 +782,7 @@ while(bbs.online) { case KEY_RIGHT: case '\b': if (userlists.mouse_miss_str !== undefined) { - console.ungetstr(mangle_mouse_seq(userlists.mouse_miss_str)); + console.ungetstr(userlists.mouse_miss_str); delete userlists.mouse_miss_str; } case '\x7f': @@ -835,7 +822,7 @@ while(bbs.online) { break infoloop; case '\b': if (infomenu.mouse_miss_str !== undefined) { - console.ungetstr(mangle_mouse_seq(infomenu.mouse_miss_str)); + console.ungetstr(infomenu.mouse_miss_str); delete infomenu.mouse_miss_str; } case '\x7f': @@ -986,7 +973,7 @@ function show_filemenu() return; case '\b': if (filemenu.mouse_miss_str !== undefined) { - console.ungetstr(mangle_mouse_seq(filemenu.mouse_miss_str)); + console.ungetstr(filemenu.mouse_miss_str); delete filemenu.mouse_miss_str; } case '\x7f': @@ -1132,7 +1119,7 @@ function show_filemenu() return; case '\b': if (typemenu.mouse_miss_str !== undefined) { - console.ungetstr(mangle_mouse_seq(typemenu.mouse_miss_str)); + console.ungetstr(typemenu.mouse_miss_str); delete typemenu.mouse_miss_str; } // Fallthrough @@ -1198,7 +1185,7 @@ function show_filemenu() return; case '\b': if (typemenu.mouse_miss_str !== undefined) { - console.ungetstr(mangle_mouse_seq(typemenu.mouse_miss_str)); + console.ungetstr(typemenu.mouse_miss_str); delete typemenu.mouse_miss_str; } // Fallthrough @@ -1267,7 +1254,7 @@ function show_filemenu() return; case '\b': if (typemenu.mouse_miss_str !== undefined) { - console.ungetstr(mangle_mouse_seq(typemenu.mouse_miss_str)); + console.ungetstr(typemenu.mouse_miss_str); delete typemenu.mouse_miss_str; } // Fallthrough @@ -1324,7 +1311,7 @@ function show_filemenu() return; case '\b': if (typemenu.mouse_miss_str !== undefined) { - console.ungetstr(mangle_mouse_seq(typemenu.mouse_miss_str)); + console.ungetstr(typemenu.mouse_miss_str); delete typemenu.mouse_miss_str; } // Fallthrough @@ -1395,7 +1382,7 @@ function show_filemenu() return; case '\b': if (typemenu.mouse_miss_str !== undefined) { - console.ungetstr(mangle_mouse_seq(typemenu.mouse_miss_str)); + console.ungetstr(typemenu.mouse_miss_str); delete typemenu.mouse_miss_str; } // Fallthrough @@ -1564,7 +1551,7 @@ function show_filemenu() return; case '\b': if (typemenu.mouse_miss_str !== undefined) { - console.ungetstr(mangle_mouse_seq(typemenu.mouse_miss_str)); + console.ungetstr(typemenu.mouse_miss_str); delete typemenu.mouse_miss_str; } // Fallthrough @@ -1618,7 +1605,7 @@ function show_filemenu() return; case '\b': if (typemenu.mouse_miss_str !== undefined) { - console.ungetstr(mangle_mouse_seq(typemenu.mouse_miss_str)); + console.ungetstr(typemenu.mouse_miss_str); delete typemenu.mouse_miss_str; } // Fallthrough @@ -1673,7 +1660,7 @@ function show_messagemenu() return; case '\b': if (messagemenu.mouse_miss_str !== undefined) { - console.ungetstr(mangle_mouse_seq(messagemenu.mouse_miss_str)); + console.ungetstr(messagemenu.mouse_miss_str); delete messagemenu.mouse_miss_str; } case '\x7f': @@ -1844,7 +1831,7 @@ function show_messagemenu() return; case '\b': if (typemenu.mouse_miss_str !== undefined) { - console.ungetstr(mangle_mouse_seq(typemenu.mouse_miss_str)); + console.ungetstr(typemenu.mouse_miss_str); delete typemenu.mouse_miss_str; } // Fallthrough @@ -1917,7 +1904,7 @@ function show_messagemenu() return; case '\b': if (typemenu.mouse_miss_str !== undefined) { - console.ungetstr(mangle_mouse_seq(typemenu.mouse_miss_str)); + console.ungetstr(typemenu.mouse_miss_str); delete typemenu.mouse_miss_str; } // Fallthrough @@ -2012,7 +1999,7 @@ function show_messagemenu() return; case '\b': if (typemenu.mouse_miss_str !== undefined) { - console.ungetstr(mangle_mouse_seq(typemenu.mouse_miss_str)); + console.ungetstr(typemenu.mouse_miss_str); delete typemenu.mouse_miss_str; } // Fallthrough @@ -2088,7 +2075,7 @@ function show_emailmenu() return; case '\b': if (emailmenu.mouse_miss_str !== undefined) { - console.ungetstr(mangle_mouse_seq(emailmenu.mouse_miss_str)); + console.ungetstr(emailmenu.mouse_miss_str); delete emailmenu.mouse_miss_str; } case '\x7f': @@ -2186,7 +2173,7 @@ function show_emailmenu() return; case '\b': if (typemenu.mouse_miss_str !== undefined) { - console.ungetstr(mangle_mouse_seq(typemenu.mouse_miss_str)); + console.ungetstr(typemenu.mouse_miss_str); delete typemenu.mouse_miss_str; } // Fallthrough XXXX @@ -2251,7 +2238,7 @@ function show_chatmenu() return; case '\b': if (chatmenu.mouse_miss_str !== undefined) { - console.ungetstr(mangle_mouse_seq(chatmenu.mouse_miss_str)); + console.ungetstr(chatmenu.mouse_miss_str); delete chatmenu.mouse_miss_str; } case '\x7f': @@ -2354,7 +2341,7 @@ function show_chatmenu() return; case '\b': if (typemenu.mouse_miss_str !== undefined) { - console.ungetstr(mangle_mouse_seq(typemenu.mouse_miss_str)); + console.ungetstr(typemenu.mouse_miss_str); delete typemenu.mouse_miss_str; } // Fallthrough @@ -2416,7 +2403,7 @@ function show_settingsmenu() return; case '\b': if (settingsmenu.mouse_miss_str !== undefined) { - console.ungetstr(mangle_mouse_seq(settingsmenu.mouse_miss_str)); + console.ungetstr(settingsmenu.mouse_miss_str); delete settingsmenu.mouse_miss_str; } case '\x7f':