aboutsummaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorEd Schouten <ed@FreeBSD.org>2009-11-13 05:54:55 +0000
committerEd Schouten <ed@FreeBSD.org>2009-11-13 05:54:55 +0000
commite42fc368672e8c3f1d30fbbd7f1903e3baa69b7a (patch)
tree6e11d518cb9008f7a76b1c206c21c622e2874f34 /sys
parent347c7f559c46fa6149efda89c468411d7912b456 (diff)
Notes
Diffstat (limited to 'sys')
-rw-r--r--sys/conf/NOTES3
-rw-r--r--sys/conf/options1
-rw-r--r--sys/dev/syscons/scterm-teken.c13
3 files changed, 14 insertions, 3 deletions
diff --git a/sys/conf/NOTES b/sys/conf/NOTES
index a5b5f5d88b18d..d2059a4e6ad0c 100644
--- a/sys/conf/NOTES
+++ b/sys/conf/NOTES
@@ -1410,8 +1410,9 @@ options SC_NO_SUSPEND_VTYSWITCH
# 0x100 Probe for a keyboard device periodically if one is not present
# Enable experimental features of the syscons terminal emulator (teken).
+options TEKEN_CONS25 # cons25-style terminal emulation
options TEKEN_UTF8 # UTF-8 output handling
-options TEKEN_XTERM # xterm-style terminal emulation
+#options TEKEN_XTERM # xterm-style terminal emulation
#
# Optional devices:
diff --git a/sys/conf/options b/sys/conf/options
index dc35aa09eda00..9c1dc7d5de5c2 100644
--- a/sys/conf/options
+++ b/sys/conf/options
@@ -732,6 +732,7 @@ SC_RENDER_DEBUG opt_syscons.h
SC_TWOBUTTON_MOUSE opt_syscons.h
# teken terminal emulator options
+TEKEN_CONS25 opt_teken.h
TEKEN_UTF8 opt_teken.h
TEKEN_XTERM opt_teken.h
diff --git a/sys/dev/syscons/scterm-teken.c b/sys/dev/syscons/scterm-teken.c
index 12b040e201f2d..fe8a18642d40b 100644
--- a/sys/dev/syscons/scterm-teken.c
+++ b/sys/dev/syscons/scterm-teken.c
@@ -50,6 +50,15 @@ __FBSDID("$FreeBSD$");
#include <teken/teken.h>
+#if defined(TEKEN_XTERM) && defined(TEKEN_CONS25)
+#error "xterm and cons25 are mutually exclusive."
+#endif
+
+/* XXX: Use cons25 on i386, for compatibility with pc98. */
+#if defined(__i386__) && !defined(TEKEN_XTERM) && !defined(TEKEN_CONS25)
+#define TEKEN_CONS25
+#endif
+
static void scteken_revattr(unsigned char, teken_attr_t *);
static unsigned int scteken_attr(const teken_attr_t *);
@@ -132,9 +141,9 @@ scteken_init(scr_stat *scp, void **softc, int code)
#ifndef TEKEN_UTF8
teken_set_8bit(&ts->ts_teken);
#endif /* !TEKEN_UTF8 */
-#ifndef TEKEN_XTERM
+#ifdef TEKEN_CONS25
teken_set_cons25(&ts->ts_teken);
-#endif /* !TEKEN_XTERM */
+#endif /* TEKEN_CONS25 */
tp.tp_row = scp->ysize;
tp.tp_col = scp->xsize;