4 * Copyright (c) 2008 James McKenzie <james@fishsoup.dhs.org>,
9 static char rcsid[] = "$Id$";
13 * Revision 1.9 2008/02/28 22:00:42 james
14 * *** empty log message ***
16 * Revision 1.8 2008/02/28 16:57:52 james
17 * *** empty log message ***
19 * Revision 1.7 2008/02/28 16:37:16 james
20 * *** empty log message ***
22 * Revision 1.6 2008/02/28 12:12:25 james
23 * *** empty log message ***
25 * Revision 1.5 2008/02/23 11:48:37 james
26 * *** empty log message ***
28 * Revision 1.4 2008/02/22 17:07:00 james
29 * *** empty log message ***
31 * Revision 1.3 2008/02/15 23:52:12 james
32 * *** empty log message ***
34 * Revision 1.2 2008/02/15 03:32:07 james
35 * *** empty log message ***
37 * Revision 1.1 2008/02/14 02:46:44 james
38 * *** empty log message ***
40 * Revision 1.1 2008/02/14 01:55:57 james
41 * *** empty log message ***
48 #define CMD_BUFLEN 128
63 keydis_close (KeyDis * t)
70 keydis_ipc_key (KeyDis * _t, Context * c, int key)
72 KeyDis_IPC *t = (KeyDis_IPC *) _t;
74 return ipc_msg_send_key (t->s, key);
78 keydis_ipc_set_baud (KeyDis * _t, Context * c, int baud)
80 KeyDis_IPC *t = (KeyDis_IPC *) _t;
82 ipc_msg_send_setbaud (t->s, baud);
88 keydis_ipc_send_break (KeyDis * _t, Context * c)
90 KeyDis_IPC *t = (KeyDis_IPC *) _t;
92 ipc_msg_send_sendbreak (t->s);
98 keydis_ipc_set_flow (KeyDis * _t, Context * c, int flow)
100 KeyDis_IPC *t = (KeyDis_IPC *) _t;
102 ipc_msg_send_setflow (t->s, flow);
109 keydis_ipc_set_ansi (KeyDis * _t, Context * c, int ansi)
111 KeyDis_IPC *t = (KeyDis_IPC *) _t;
113 vt102_set_ansi (c->v, ansi);
115 ipc_msg_send_setansi (t->s, ansi);
122 keydis_ipc_hangup (KeyDis * _t, Context * c)
124 KeyDis_IPC *t = (KeyDis_IPC *) _t;
126 ipc_msg_send_hangup (t->s);
133 keydis_ipc_set_size (KeyDis * _t, Context * c, int w, int h)
135 CRT_Pos p = { w, h };
137 KeyDis_IPC *t = (KeyDis_IPC *) _t;
140 ipc_msg_send_setsize (t->s, p);
147 keydis_ipc_reset (KeyDis * _t, Context * c)
149 KeyDis_IPC *t = (KeyDis_IPC *) _t;
152 ipc_msg_send_reset (t->s);
158 keydis_vt102_key (KeyDis * _t, Context * c, int key)
160 KeyDis_VT102 *t = (KeyDis_VT102 *) _t;
167 keydis_vt102_set_baud (KeyDis * _t, Context * c, int baud)
169 KeyDis_VT102 *t = (KeyDis_VT102 *) _t;
171 tty_set_baud (c->t, baud);
174 log_f (c->l, "<baud changed to %d>", baud);
180 keydis_vt102_send_break (KeyDis * _t, Context * c)
182 KeyDis_VT102 *t = (KeyDis_VT102 *) _t;
184 tty_send_break (c->t);
190 keydis_vt102_set_flow (KeyDis * _t, Context * c, int flow)
192 KeyDis_VT102 *t = (KeyDis_VT102 *) _t;
194 tty_set_flow (c->t, flow);
200 keydis_vt102_set_ansi (KeyDis * _t, Context * c, int ansi)
202 KeyDis_VT102 *t = (KeyDis_VT102 *) _t;
205 c->v->xn_glitch = ansi ? 0 : 1;
211 keydis_vt102_hangup (KeyDis * _t, Context * c)
213 KeyDis_VT102 *t = (KeyDis_VT102 *) _t;
221 keydis_vt102_set_size (KeyDis * _t, Context * c, int w, int h)
223 KeyDis_VT102 *t = (KeyDis_VT102 *) _t;
224 CRT_Pos p = { w, h };
232 keydis_vt102_reset (KeyDis * _t, Context * c)
234 KeyDis_VT102 *t = (KeyDis_VT102 *) _t;
244 keydis_vt102_new (void)
246 KeyDis_VT102 *t = malloc (sizeof (KeyDis_VT102));
247 t->key = keydis_vt102_key;
248 t->close = keydis_close;
249 t->set_baud = keydis_vt102_set_baud;
250 t->send_break = keydis_vt102_send_break;
251 t->set_flow = keydis_vt102_set_flow;
252 t->set_ansi = keydis_vt102_set_ansi;
253 t->hangup = keydis_vt102_hangup;
254 t->set_size = keydis_vt102_set_size;
255 t->reset = keydis_vt102_reset;
261 keydis_ipc_new (Socket * s)
263 KeyDis_IPC *t = malloc (sizeof (KeyDis_IPC));
264 t->key = keydis_ipc_key;
265 t->close = keydis_close;
266 t->set_baud = keydis_ipc_set_baud;
267 t->send_break = keydis_ipc_send_break;
268 t->set_flow = keydis_ipc_set_flow;
269 t->set_ansi = keydis_ipc_set_ansi;
270 t->hangup = keydis_ipc_hangup;
271 t->set_size = keydis_ipc_set_size;
272 t->reset = keydis_ipc_reset;
284 keydis_key (KeyDis * t, Context * c, int key)
288 return t->key (t, c, key);
290 cmd_show_status (c->d, c);
293 return cmd_key (c->d, c, key);
296 return cmd_activate (c->d, c);
299 return t->key (t, c, key);