TeensyMud - 'A ruby mud server.'

Browse repository
back

vt100codes.rb

#
# file:: vt100codes.rb
# author:: Jon A. Lambert
# version:: 2.8.0
# date:: 01/19/2006
#
# This source code copyright (C) 2005, 2006 by Jon A. Lambert
# All rights reserved.
#
# Released under the terms of the TeensyMUD Public License
# See LICENSE file for additional information.
#

# This module contains the contants used for Telnet
module VT100Codes

CSI = "\e["

SGR2CODE = { "0" => "[RESET]", "1" => "[B]", "2" => "[D]", "4" => "[U]",
"5" => "[BLINK]", "7" => "[I]", "8" => "[HIDDEN]",
"30" => "[COLOR Black]", "31" => "[COLOR Red]",
"32" => "[COLOR Green]", "33" => "[COLOR Yellow]",
"34" => "[COLOR Blue]", "35" => "[COLOR Magenta]",
"36" => "[COLOR Cyan]", "37" => "[COLOR White]",
"40" => "[COLOR=bgblack]", "41" => "[COLOR=bgred]",
"42" => "[COLOR=bggreen]", "43" => "[COLOR=bgyellow]",
"44" => "[COLOR=bgblue]", "45" => "[COLOR=bgmagenta]",
"46" => "[COLOR=bgcyan]", "47" => "[COLOR=bgwhite]" }


VTKeys = { /\[SCROLLDOWN\]/mi => "\eD",
/\[SCROLLUP\]/mi => "\eM",
/\[UP (\d+)?\]/mi => "\e$A", /\[DOWN (\d+)?\]/mi => "\e$B",
/\[RIGHT (\d+)?\]/mi => "\e$C", /\[LEFT (\d+)?\]/mi => "\e$D",
/\[CURSAVE\]/mi => "\e7", /\[CURREST\]/mi => "\e8",
/\[RESET\]/mi => "\ec",
/\[TAB\]/mi => "\t", /\[BELL\]/mi => "\a", /\[BS\]/mi => "\b",
/\[POS (\d+)\]/mi => CSI+"$G",
/\[HOME (\d+)?,(\d+)?\]/mi => CSI+"$;$H",
/\[CURSOR (\d+)?,(\d+)?\]/mi => CSI+"$;$R",
/\[SCRREG (\d+)?,(\d+)?\]/mi => CSI+"$;$r",
/\[SCRRESET\]/mi => CSI+"r",
/\[CLEAR\]/mi => CSI+"2J", /\[CURREPT\]/mi => CSI+"6n",
/\[CLEARLINE\]/mi => CSI+"2K",
/\[INSERT\]/mi => CSI+"2~", /\[END\]/mi => CSI+"8~",
/\[PAGEUP\]/mi => CSI+"5~", /\[PAGEDOWN\]/mi => CSI+"6~",
/\[F1\]/mi => CSI+"11~", /\[F2\]/mi => CSI+"12~",
/\[F3\]/mi => CSI+"13~", /\[F4\]/mi => CSI+"14~",
/\[F5\]/mi => CSI+"15~", /\[F6\]/mi => CSI+"17~",
/\[F7\]/mi => CSI+"18~", /\[F8\]/mi => CSI+"19~",
/\[F9\]/mi => CSI+"20~", /\[F10\]/mi => CSI+"21~" }

end