de.mud.terminal
Class vt320

java.lang.Object
  |
  +--de.mud.terminal.VDUBuffer
        |
        +--de.mud.terminal.vt320
All Implemented Interfaces:
VDUInput

public abstract class vt320
extends VDUBuffer
implements VDUInput

Implementation of a VT terminal emulation plus ANSI compatible.

Maintainer: Marcus Meižner

Version:
$Id: vt320.java,v 2.97 2003/12/09 22:50:49 marcus Exp $
Author:
Matthias L. Jugel, Marcus Meižner

Field Summary
static java.lang.String ID
          The current version id tag.
 
Fields inherited from class de.mud.terminal.VDUBuffer
BOLD, bufSize, charArray, charAttributes, COLOR, COLOR_BG, COLOR_BG_SHIFT, COLOR_FG, COLOR_FG_SHIFT, cursorX, cursorY, debug, display, height, INVERT, INVISIBLE, LOW, maxBufSize, NORMAL, screenBase, SCROLL_DOWN, SCROLL_UP, scrollMarker, showcursor, UNDERLINE, update, width, windowBase
 
Fields inherited from interface de.mud.terminal.VDUInput
KEY_ACTION, KEY_ALT, KEY_CONTROL, KEY_SHIFT
 
Constructor Summary
vt320()
          Create a default vt320 terminal with 80 columns and 24 lines.
vt320(int width, int height)
          Create a new vt320 terminal and intialize it with useful settings.
 
Method Summary
 void beep()
          Play the beep sound ...
 java.lang.String getTerminalID()
          Get the terminal id used to identify this terminal.
 void keyPressed(int keyCode, char keyChar, int modifiers)
          main keytyping event handler...
 void keyReleased(java.awt.event.KeyEvent evt)
           
 void keyTyped(int keyCode, char keyChar, int modifiers)
          Handle key Typed events for the terminal, this will get all normal key types, but no shift/alt/control/numlock.
 char map_cp850_unicode(char x)
           
 void mousePressed(int x, int y, int modifiers)
          Terminal is mouse-aware and requires (x,y) coordinates of on the terminal (character coordinates) and the button clicked.
 void mouseReleased(int x, int y, int modifiers)
          Terminal is mouse-aware and requires the coordinates and button of the release.
 void putString(java.lang.String s)
          Put string at current cursor position.
 void reset()
           
protected  void sendTelnetCommand(byte cmd)
           
 void setAnswerBack(java.lang.String ab)
           
 void setIBMCharset(boolean ibm)
          Enable the usage of the IBM character set used by some BBS's.
 void setKeyCodes(java.util.Properties codes)
          Override the standard key codes used by the terminal emulation.
 void setLocalEcho(boolean echo)
          Enable or disable the local echo property of the terminal.
 void setTerminalID(java.lang.String terminalID)
          Set the terminal id used to identify this terminal.
 void setVMS(boolean vms)
          Enable the VMS mode of the terminal to handle some things differently for VMS hosts.
abstract  void write(byte[] b)
          Write an answer back to the remote host.
 
Methods inherited from class de.mud.terminal.VDUBuffer
deleteArea, deleteArea, deleteChar, deleteLine, getAttributes, getBottomMargin, getBufferSize, getChar, getColumns, getCursorColumn, getCursorRow, getMaxBufferSize, getRows, getTopMargin, getWindowBase, insertChar, insertLine, insertLine, insertLine, insertLine, markLine, putChar, putChar, putString, putString, redraw, setBottomMargin, setBufferSize, setCursorPosition, setDisplay, setScreenSize, setTopMargin, setWindowBase, showCursor
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ID

public static final java.lang.String ID
The current version id tag.

$Id: vt320.java,v 2.97 2003/12/09 22:50:49 marcus Exp $

See Also:
Constant Field Values
Constructor Detail

vt320

public vt320(int width,
             int height)
Create a new vt320 terminal and intialize it with useful settings.


vt320

public vt320()
Create a default vt320 terminal with 80 columns and 24 lines.

Method Detail

write

public abstract void write(byte[] b)
Write an answer back to the remote host. This is needed to be able to send terminal answers requests like status and type information.

Specified by:
write in interface VDUInput
Parameters:
b - the array of bytes to be sent

beep

public void beep()
Play the beep sound ...


putString

public void putString(java.lang.String s)
Put string at current cursor position. Moves cursor according to the String. Does NOT wrap.

Parameters:
s - the string

sendTelnetCommand

protected void sendTelnetCommand(byte cmd)

mousePressed

public void mousePressed(int x,
                         int y,
                         int modifiers)
Terminal is mouse-aware and requires (x,y) coordinates of on the terminal (character coordinates) and the button clicked.

Specified by:
mousePressed in interface VDUInput
Parameters:
x -
y -
modifiers -

mouseReleased

public void mouseReleased(int x,
                          int y,
                          int modifiers)
Terminal is mouse-aware and requires the coordinates and button of the release.

Specified by:
mouseReleased in interface VDUInput
Parameters:
x -
y -
modifiers -

setLocalEcho

public void setLocalEcho(boolean echo)
Enable or disable the local echo property of the terminal.

Parameters:
echo - true if the terminal should echo locally

setVMS

public void setVMS(boolean vms)
Enable the VMS mode of the terminal to handle some things differently for VMS hosts.

Parameters:
vms - true for vms mode, false for normal mode

setIBMCharset

public void setIBMCharset(boolean ibm)
Enable the usage of the IBM character set used by some BBS's. Special graphical character are available in this mode.

Parameters:
ibm - true to use the ibm character set

setKeyCodes

public void setKeyCodes(java.util.Properties codes)
Override the standard key codes used by the terminal emulation.

Specified by:
setKeyCodes in interface VDUInput
Parameters:
codes - a properties object containing key code definitions

setTerminalID

public void setTerminalID(java.lang.String terminalID)
Set the terminal id used to identify this terminal.

Parameters:
terminalID - the id string

setAnswerBack

public void setAnswerBack(java.lang.String ab)

getTerminalID

public java.lang.String getTerminalID()
Get the terminal id used to identify this terminal.


keyPressed

public void keyPressed(int keyCode,
                       char keyChar,
                       int modifiers)
main keytyping event handler...

Specified by:
keyPressed in interface VDUInput
Parameters:
keyCode - the key code
keyChar - the character represented by the key
modifiers - shift/alt/control modifiers

keyReleased

public void keyReleased(java.awt.event.KeyEvent evt)

keyTyped

public void keyTyped(int keyCode,
                     char keyChar,
                     int modifiers)
Handle key Typed events for the terminal, this will get all normal key types, but no shift/alt/control/numlock.

Specified by:
keyTyped in interface VDUInput
Parameters:
keyCode - the key code
keyChar - the character represented by the key
modifiers - shift/alt/control modifiers

map_cp850_unicode

public char map_cp850_unicode(char x)

reset

public void reset()