chiark / gitweb /
*** empty log message ***
[sympathy.git] / src / keydis.c
index c8883a7f5fabccb65b5c9f215c25d9c86ce454bf..73f6306213268b184eb3f2de47cb53144372894a 100644 (file)
@@ -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 ***
  *
@@ -87,6 +90,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)
 {
@@ -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;