Index: arch/i386/conf/GENERIC =================================================================== RCS file: /cvsroot/syssrc/sys/arch/i386/conf/GENERIC,v retrieving revision 1.501 diff -u -u -r1.501 GENERIC --- GENERIC 2002/07/10 08:37:40 1.501 +++ GENERIC 2002/07/15 10:35:47 @@ -208,3 +208,5 @@ # if you want a really secure system, it may be better not to enable them, # see wsmoused(8), section SECURITY CONSIDERATIONS for more info. #options WSDISPLAY_CHARFUNCS # mouse console support +# allow securelevel change trough keybindings (CTRL+ALT+(F11/F12)) +#options WSKBD_DYNAMIC_SECURELEVEL # Kernel root file system and dump configuration. config netbsd root on ? type ? Index: dev/pckbc/wskbdmap_mfii.c =================================================================== RCS file: /cvsroot/syssrc/sys/dev/pckbc/wskbdmap_mfii.c,v retrieving revision 1.24 diff -u -u -r1.24 wskbdmap_mfii.c --- wskbdmap_mfii.c 2002/06/20 21:03:19 1.24 +++ wskbdmap_mfii.c 2002/07/15 10:36:12 @@ -39,2 +39,2 @@ #include __KERNEL_RCSID(0, "$NetBSD: wskbdmap_mfii.c,v 1.24 2002/06/20 21:03:19 bouyer Exp $"); +#include "opt_wskbd_cmds.h" + #include #include #include @@ -131,8 +133,13 @@ KC(81), KS_KP_Next, KS_KP_3, KC(82), KS_KP_Insert, KS_KP_0, KC(83), KS_KP_Delete, KS_KP_Decimal, - KC(87), KS_f11, - KC(88), KS_f12, +#ifdef WSKBD_DYNAMIC_SECURELEVEL + KC(87), KS_Cmd_SecurelevelUp, KS_f11, + KC(88), KS_Cmd_SecurelevelDown, KS_f12, +#else /* WSKBD_DYNAMIC_SECURELEVEL */ + KC(87), KS_f11, + KC(88), KS_f12, +#endif /* WSKBD_DYNAMIC_SECURELEVEL */ KC(127), KS_Pause, /* Break */ KC(156), KS_KP_Enter, KC(157), KS_Control_R, Index: dev/wscons/files.wscons =================================================================== RCS file: /cvsroot/syssrc/sys/dev/wscons/files.wscons,v retrieving revision 1.27 diff -u -u -r1.27 files.wscons --- files.wscons 2002/07/02 12:59:39 1.27 +++ files.wscons 2002/07/15 10:36:14 @@ -24,3 +24,4 @@ WSCONS_SUPPORT_ISO7FONTS defparam opt_wsdisplay_compat.h WSCOMPAT_USL_SYNCTIMEOUT WSDISPLAY_DEFAULTSCREENS +defflag opt_wskbd_cmds.h WSKBD_DYNAMIC_SECURELEVEL # this loses, but there's no way to define attributes which have attributes device wsdisplay #tty? Index: dev/wscons/wskbd.c =================================================================== RCS file: /cvsroot/syssrc/sys/dev/wscons/wskbd.c,v retrieving revision 1.61 diff -u -u -r1.61 wskbd.c --- wskbd.c 2002/03/17 19:41:06 1.61 +++ wskbd.c 2002/07/15 10:36:15 @@ -88,3 +88,4 @@ #include "opt_ddb.h" #include "opt_kgdb.h" #include "opt_wsdisplay_compat.h" +#include "opt_wskbd_cmds.h" #include "wsdisplay.h" #include "wskbd.h" @@ -1383,6 +1384,23 @@ ksym == KS_Cmd_ContrastRotate ? 1 : 0); return (1); #endif + +#ifdef WSKBD_DYNAMIC_SECURELEVEL + case KS_Cmd_SecurelevelUp: + if (securelevel > 0) { + securelevel--; + printf("wskbd: decreased securelevel to %d\n", + securelevel); + } + return (1); + case KS_Cmd_SecurelevelDown: + if (securelevel < 2) { + securelevel++; + printf("wskbd: increased securelevel to %d\n", + securelevel); + } + return (1); +#endif /* WSKBD_DYNAMIC_SECURELEVEL */ } return (0); } Index: dev/wscons/wsksymdef.h =================================================================== RCS file: /cvsroot/syssrc/sys/dev/wscons/wsksymdef.h,v retrieving revision 1.45 diff -u -u -r1.45 wsksymdef.h --- wsksymdef.h 2002/04/23 13:42:46 1.45 +++ wsksymdef.h 2002/07/15 10:36:15 @@ -434,3 +434,5 @@ #define KS_Cmd_ContrastUp 0xf429 #define KS_Cmd_ContrastDown 0xf42a #define KS_Cmd_ContrastRotate 0xf42b +#define KS_Cmd_SecurelevelUp 0xf42c +#define KS_Cmd_SecurelevelDown 0xf42d /*