Date: Sat, 7 Jun 1997 00:02:10 +0900 (JST) From: Hideyuki Suzuki <hideyuki@sat.t.u-tokyo.ac.jp> To: FreeBSD-gnats-submit@FreeBSD.ORG Subject: ports/3802: Ctrl+Space does not work on KON2 port Message-ID: <199706061502.AAA07738@ichi.sat.t.u-tokyo.ac.jp> Resent-Message-ID: <199706061510.IAA24200@hub.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 3802 >Category: ports >Synopsis: Ctrl+Space does not work on KON2 port >Confidential: no >Severity: serious >Priority: medium >Responsible: freebsd-ports >State: open >Class: change-request >Submitter-Id: current-users >Arrival-Date: Fri Jun 6 08:10:01 PDT 1997 >Last-Modified: >Originator: Hideyuki Suzuki >Organization: University of Tokyo >Release: FreeBSD 2.2-STABLE i386 >Environment: KON2 port in port-current. >Description: Ctrl+Space (= nul) does not work on KON2. >How-To-Repeat: Try in vain to mark with Ctrl+Space on emacs. >Fix: Apply this patch to the current port of japanese/kon2 diff -urN kon2.old/patches/patch-af kon2/patches/patch-af --- kon2.old/patches/patch-af Wed Jun 4 18:29:13 1997 +++ kon2/patches/patch-af Sat Apr 26 03:54:54 1997 @@ -1,57 +1,6 @@ --- src/term.c.orig Sat Jan 25 00:03:58 1997 -+++ src/term.c Mon May 12 09:01:10 1997 -@@ -156,6 +156,33 @@ - numFds = sockFd + 1; - } - -+#if defined(__FreeBSD__) -+static void strconvert(char *buff, char *fromstr, char *tostr) -+{ -+ char *pos; -+ -+ while ((pos = strstr(buff, fromstr))!=NULL) { -+ memmove(pos + strlen(tostr), pos + strlen(fromstr), -+ strlen(pos)-strlen(fromstr)+1); -+ memcpy(pos, tostr, strlen(tostr)); -+ } -+} -+ -+static void cons2vt100(char *buff) -+{ -+ strconvert(buff, "\x1b[A", "\x1bOA"); /* ku */ -+ strconvert(buff, "\x1b[B", "\x1bOB"); /* kd */ -+ strconvert(buff, "\x1b[C", "\x1bOC"); /* kl */ -+ strconvert(buff, "\x1b[D", "\x1bOD"); /* kr */ -+ strconvert(buff, "\x1b[H", "\x1b[1~" ); /* kh */ -+ strconvert(buff, "\x1b[L", "\x1b[2~" ); /* kI */ -+ strconvert(buff, "\x7f", "\x1b[3~" ); /* kD */ -+ strconvert(buff, "\x08", "\x7f"); /* kb */ -+ strconvert(buff, "\x1b[I", "\x1b[5~"); /* kP */ -+ strconvert(buff, "\x1b[G", "\x1b[6~"); /* kN */ -+} -+#endif -+ - static void ConsoleHandler(void) - { - static u_char buff[BUFSIZ + 1]; -@@ -200,12 +227,23 @@ - } - } - if (FD_ISSET(0, &readFds)) { -+#if defined(__FreeBSD__) -+ i = read(0, buff, BUFSIZ/4); -+#else - i = read(0, buff, BUFSIZ); -- if (i > 0) write(masterPty, buff, i); -+#endif -+ if (i > 0) { -+#if defined(__FreeBSD__) -+ buff[i] = 0; -+ cons2vt100(buff); -+ i = strlen(buff); -+#endif -+ write(masterPty, buff, i); -+ } ++++ src/term.c Sat Apr 26 03:54:03 1997 +@@ -205,7 +205,7 @@ PollCursor(TRUE); } if (FD_ISSET(sockFd, &readFds)) SocketInterface(sockFd); diff -urN kon2.old/pkg/DESCR kon2/pkg/DESCR --- kon2.old/pkg/DESCR Wed Jun 4 18:29:13 1997 +++ kon2/pkg/DESCR Fri Jun 6 23:43:22 1997 @@ -8,3 +8,13 @@ Be aware that using KON2 with X is not allowed (You should shutdown X first when you use KON2, and vice versa). + +In order to use 30 lines (default is 25), modify the "Normal" entry of +kon.cfg as follows: +------- +VGA:Normal + VGA + 640 680 768 800 480 491 493 525 + 1 + 79 29 +------- >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199706061502.AAA07738>