aboutsummaryrefslogtreecommitdiffstats
path: root/src/keydis.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/keydis.c')
-rw-r--r--src/keydis.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/keydis.c b/src/keydis.c
index c8883a7..73f6306 100644
--- a/src/keydis.c
+++ b/src/keydis.c
@@ -10,6 +10,9 @@ static char rcsid[] = "$Id$";
/*
* $Log$
+ * Revision 1.4 2008/02/22 17:07:00 james
+ * *** empty log message ***
+ *
* Revision 1.3 2008/02/15 23:52:12 james
* *** empty log message ***
*
@@ -88,6 +91,19 @@ keydis_ipc_set_flow (KeyDis * _t, Context * c, int flow)
static int
+keydis_ipc_set_ansi (KeyDis * _t, Context * c, int ansi)
+{
+ KeyDis_IPC *t = (KeyDis_IPC *) _t;
+
+ vt102_set_ansi (c->v, ansi);
+
+ ipc_msg_send_setansi (t->s, ansi);
+
+ return 0;
+}
+
+
+static int
keydis_ipc_hangup (KeyDis * _t, Context * c)
{
KeyDis_IPC *t = (KeyDis_IPC *) _t;
@@ -136,6 +152,16 @@ keydis_vt102_set_flow (KeyDis * _t, Context * c, int flow)
return 0;
}
+static int
+keydis_vt102_set_ansi (KeyDis * _t, Context * c, int ansi)
+{
+ KeyDis_VT102 *t = (KeyDis_VT102 *) _t;
+
+ if (c->v)
+ c->v->xn_glitch=ansi ? 0:1;
+ return 0;
+}
+
static int
keydis_vt102_hangup (KeyDis * _t, Context * c)
@@ -158,6 +184,7 @@ keydis_vt102_new (void)
t->set_baud = keydis_vt102_set_baud;
t->send_break = keydis_vt102_send_break;
t->set_flow = keydis_vt102_set_flow;
+ t->set_ansi = keydis_vt102_set_ansi;
t->hangup = keydis_vt102_hangup;
return (KeyDis *) t;
}
@@ -172,6 +199,7 @@ keydis_ipc_new (Socket * s)
t->set_baud = keydis_ipc_set_baud;
t->send_break = keydis_ipc_send_break;
t->set_flow = keydis_ipc_set_flow;
+ t->set_ansi = keydis_ipc_set_ansi;
t->hangup = keydis_ipc_hangup;
t->s = s;
return (KeyDis *) t;