diff options
author | alfred <alfred@FreeBSD.org> | 2002-04-05 17:53:25 +0000 |
---|---|---|
committer | alfred <alfred@FreeBSD.org> | 2002-04-05 17:53:25 +0000 |
commit | b9e5e77ee73c3c09618de8418111459a32a009d6 (patch) | |
tree | 6ed74261c7627f3a6099dc9cb2994f628ddab87f /sys/dev/syscons/syscons.c | |
parent | beae6a9ce5317c350f18af8cf1bb534a8f0a3786 (diff) | |
download | FreeBSD-src-b9e5e77ee73c3c09618de8418111459a32a009d6.zip FreeBSD-src-b9e5e77ee73c3c09618de8418111459a32a009d6.tar.gz |
Add some functionality via sysctl to syscons.
hw.syscons.saver.keybonly: used to specify that only input is to
interrupt the screensaver. This allows one to run a chatty console
app but still have the screen blank out until a key is pressed.
There should probably also be an ioctl for this, we'll do that later.
hw.syscons.saver.blanktime: exports the screensaver timeout via sysctl.
Submitted by: Olivier Houchard <doginou@cognet.ci0.org>
Diffstat (limited to 'sys/dev/syscons/syscons.c')
-rw-r--r-- | sys/dev/syscons/syscons.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/sys/dev/syscons/syscons.c b/sys/dev/syscons/syscons.c index f572f8a..fb95e6e 100644 --- a/sys/dev/syscons/syscons.c +++ b/sys/dev/syscons/syscons.c @@ -89,6 +89,7 @@ static default_attr kernel_default = { }; static int sc_console_unit = -1; +static int sc_saver_keyb_only; static scr_stat *sc_console; static struct tty *sc_console_tty; static void *kernel_console_ts; @@ -108,6 +109,12 @@ static void none_saver(sc_softc_t *sc, int blank) { } static void (*current_saver)(sc_softc_t *, int) = none_saver; #endif +SYSCTL_NODE(_hw, OID_AUTO, syscons, CTLFLAG_RD, 0, "syscons"); +SYSCTL_NODE(_hw_syscons, OID_AUTO, saver, CTLFLAG_RD, 0, "saver"); +SYSCTL_INT(_hw_syscons_saver, OID_AUTO, keybonly, CTLFLAG_RW, + &sc_saver_keyb_only, 0, "screen saver interrupted by input only"); +SYSCTL_INT(_hw_syscons_saver, OID_AUTO, blanktime, CTLFLAG_RW, + &scrn_blank_time, 0, "screensaver timeout"); #if !defined(SC_NO_FONT_LOADING) && defined(SC_DFLT_FONT) #include "font.h" #endif @@ -2408,7 +2415,7 @@ sc_puts(scr_stat *scp, u_char *buf, int len) { #ifdef DEV_SPLASH /* make screensaver happy */ - if (!sticky_splash && scp == scp->sc->cur_scp) + if (!sticky_splash && scp == scp->sc->cur_scp && !sc_saver_keyb_only) run_scrn_saver = FALSE; #endif |