/* emu-ops,v 1.2 1994/05/26 21:02:05 me Exp */

/*
 * This file is part of the Emu system.
 *
 * Copyright 1990 by PCS Computer Systeme, GmbH. Munich, West Germany.
 * 
 * Copyright 1994 by Jordan K. Hubbard and Michael W. Elbel
 *
 * Permission is hereby granted, free of charge, to any person obtaining
 * a copy of this software and associated documentation files (the
 * "Software"), to deal in the Software without restriction, including
 * without limitation the rights to use, copy, modify, merge, publish,
 * distribute, sublicense, and/or sell copies of the Software, and to
 * permit persons to whom the Software is furnished to do so, subject to
 * the following conditions:
 * 
 * The above copyright notice and this permission notice shall be included
 * in all copies or substantial portions of the Software.
 * 
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
 * IN NO EVENT SHALL PCS, THE AUTHORS, OR THEIR HOUSEPETS BE LIABLE FOR
 * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
 * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
 * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. SO DON'T SUE US.
 * THANK YOU.
 */

/*
 * Input operations for the "emu" terminal.
 *
 * Author: Michael Elbel, Jordan Hubbard.
 * Date: June 28th, 1990
 * Description: This file describes, in essence, what the "emu" terminal
 *		looks like. It is only needed if the emu hard parser
 *		isn't used.
 *
 * Revision History:
 *
 * emu-ops,v
 * Revision 1.2  1994/05/26  21:02:05  me
 * New copyright
 *
 * Revision 1.1.1.1  1994/05/22  11:22:42  me
 * Initial import into CVS
 */

*term.emu-ops:								\
/* Absolute Cursor Positioning */					\
OP_MOVE_ABS		<\\EE%d%py;%d%px;>				\
OP_MOVE_ABS_COLUMN	<%0%px\\r>					\
/* Relative Cursor Positioning */					\
OP_MOVE_REL_ROW		<\\Ep%d%py;>					\
OP_MOVE_REL_COLUMN	<\\Eq%d%px;>					\
OP_MOVE_REL_ROW		<\\EA%-1%py>					\
OP_MOVE_REL_ROW		<\\EB%1%py>					\
OP_MOVE_REL_COLUMN	<\\EC%-1%px>					\
OP_MOVE_REL_COLUMN	<\\ED%1%px>					\
OP_MOVE_REL_COLUMN	<%-1%px\\b>					\
/* Scrolled Positioning */						\
OP_MOVE_REL_ROW_SCROLLED<%1%py\\n>					\
OP_MOVE_REL_ROW_SCROLLED<\\EF%-1%py>					\
OP_MOVE_REL_ROW_SCROLLED<\\EG%1%py>					\
OP_MOVE_REL_ROW_SCROLLED,OP_MOVE_ABS_COLUMN<\\EH%1%py%0%px>		\
/* Deleting */								\
OP_DELETE_CHARS		<\\EI%d%pa;>					\
OP_ERASE_CHARS		<\\EJ%d%pa;>					\
OP_DELETE_TO_EOL	<\\EK>						\
OP_ERASE_LINE_LEFT	<\\EL>						\
OP_ERASE_LINES		<\\EM%d%pa;>					\
OP_DELETE_TO_EOSCR	<\\EN>						\
OP_ERASE_FROM_TOSCR	<\\EO>						\
OP_CLEAR_SCREEN		<\\EP>						\
/* Inserting */								\
OP_INSERT_LINES		<\\EQ%d%pa;>					\
OP_DELETE_LINES		<\\ER%d%pa;>					\
/* Bell */								\
OP_RING_BELL		<^G>						\
/* Attributes */							\
OP_CLEAR_ATTRIBUTE	<\\ES%15%pb>					\
OP_SET_ATTRIBUTE	<\\ET%{ATT_REVERSE pa}>				\
OP_SET_ATTRIBUTE	<\\EU%{ATT_BOLD pa}>				\
OP_SET_ATTRIBUTE	<\\EV%{ATT_UNDERL pa}>				\
OP_SET_ATTRIBUTE	<\\EW%{ATT_BLINK pa}>				\
/* Terminal Modes */							\
OP_OVERWRITE_MODE	<\\EX>						\
OP_INSERT_MODE		<\\EY>						\
OP_CURSOR_OFF		<\\EZ>						\
OP_CURSOR_ON		<\\Ea>						\
OP_NORMAL_VIDEO		<\\Eb>						\
OP_REVERSE_VIDEO	<\\Ec>						\
OP_CURSOR_POS_ABSOLUTE	<\\Ed>						\
OP_CURSOR_POS_REL_TO_SCR_REG<\\Ee>					\
OP_DONT_WRAP		<\\Ef>						\
OP_WRAP_AROUND		<\\Eg>						\
/* Tabs */								\
OP_SET_TAB_CUR_COL	<\\Eh>						\
OP_CLEAR_TAB_CUR_COL	<\\Ei>						\
OP_CLEAR_ALL_TABS	<\\Ej>						\
OP_HOR_TAB		<\\t>						\
/* Scroll region setting */						\
OP_SET_SCROLL_REGION	<\\Ek%d;%d%{1,-,pb,1,-,pa};>			\
OP_SET_SCROLL_REGION	<\\El%{OP_CANVAS_SIZE,C,gy,1,-,pb,0,pa}>	\
OP_SET_SCREEN_SIZE	<\\Em%d%px%d%py;>				\
/* Translation Management */						\
OP_OVERRIDE_TRANSLATIONS<\\En%"appKeypad"%pa>				\
OP_OVERRIDE_TRANSLATIONS<\\Eo%"numKeypad"%pa>				\
OP_CHANGE_FG_COLOR	<\\Er%d%pa;>					\
OP_CHANGE_BG_COLOR	<\\Es%d%pb;>					\
/* special features */							\
/* Setting the title */							\
OP_NOP		<\\E]0;%{s,D,D,t,i,f}\\007>				\
									\
/* line attributes */							\
/*	(DECDHL) Double-height line, top half. */			\
OP_SET_LINE_ATTRIBUTES	<\\E#%LINE_D_UPPER%pa3>				\
/*	(DECDHL) Double-height line, bottom half. */			\
OP_SET_LINE_ATTRIBUTES	<\\E#%LINE_D_LOWER%pa4>				\
/*	(DECSWL) Single-width line. */					\
OP_SET_LINE_ATTRIBUTES	<\\E#%0%pa4>					\
/*	(DECDWL) Double-width line. */					\
OP_SET_LINE_ATTRIBUTES	<\\E#%LINE_D_WIDE%pa6>				\

