summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authordwmalone <dwmalone@FreeBSD.org>2000-09-11 20:37:42 +0000
committerdwmalone <dwmalone@FreeBSD.org>2000-09-11 20:37:42 +0000
commiteeb5416b4738f452cac300d13f704c4b03d5d370 (patch)
treeccf2ead9bbeec7dddfd835afb860d0205f0f8dc9 /sys
parentc35d103e0f7e019bf6237cd8451bd0a69960b339 (diff)
downloadFreeBSD-src-eeb5416b4738f452cac300d13f704c4b03d5d370.zip
FreeBSD-src-eeb5416b4738f452cac300d13f704c4b03d5d370.tar.gz
Add the ability to define a "shutdown" and "shutdown and poweroff" key
to syscons. I have a man page to follow describing the format of the kbdmap file. PR: 19273 Reviewed by: sheldonh
Diffstat (limited to 'sys')
-rw-r--r--sys/dev/kbd/kbd.c1
-rw-r--r--sys/dev/syscons/syscons.c12
-rw-r--r--sys/pc98/pc98/syscons.c12
-rw-r--r--sys/sys/kbio.h2
4 files changed, 27 insertions, 0 deletions
diff --git a/sys/dev/kbd/kbd.c b/sys/dev/kbd/kbd.c
index ba436be..a9471e8 100644
--- a/sys/dev/kbd/kbd.c
+++ b/sys/dev/kbd/kbd.c
@@ -1144,6 +1144,7 @@ genkbd_keyaction(keyboard_t *kbd, int keycode, int up, int *shiftstate,
/* NON-LOCKING KEYS */
case SPSC: case RBT: case SUSP: case STBY:
case DBG: case NEXT: case PREV: case PNC:
+ case HALT: case PDWN:
*accents = 0;
break;
case BTAB:
diff --git a/sys/dev/syscons/syscons.c b/sys/dev/syscons/syscons.c
index 49b8f6c..43b7724 100644
--- a/sys/dev/syscons/syscons.c
+++ b/sys/dev/syscons/syscons.c
@@ -3102,6 +3102,18 @@ next_code:
#endif
break;
+ case HALT:
+#ifndef SC_DISABLE_REBOOT
+ shutdown_nice(RB_HALT);
+#endif
+ break;
+
+ case PDWN:
+#ifndef SC_DISABLE_REBOOT
+ shutdown_nice(RB_HALT|RB_POWEROFF);
+#endif
+ break;
+
#if NAPM > 0
case SUSP:
apm_suspend(PMST_SUSPEND);
diff --git a/sys/pc98/pc98/syscons.c b/sys/pc98/pc98/syscons.c
index 6b243ad..65a7595 100644
--- a/sys/pc98/pc98/syscons.c
+++ b/sys/pc98/pc98/syscons.c
@@ -3121,6 +3121,18 @@ next_code:
#endif
break;
+ case HALT:
+#ifndef SC_DISABLE_REBOOT
+ shutdown_nice(RB_HALT);
+#endif
+ break;
+
+ case PDWN:
+#ifndef SC_DISABLE_REBOOT
+ shutdown_nice(RB_HALT|RB_POWEROFF);
+#endif
+ break;
+
#if NAPM > 0
case SUSP:
apm_suspend(PMST_SUSPEND);
diff --git a/sys/sys/kbio.h b/sys/sys/kbio.h
index 456173e..a2e57d4 100644
--- a/sys/sys/kbio.h
+++ b/sys/sys/kbio.h
@@ -171,6 +171,8 @@ typedef struct keymap keymap_t;
#define RCTRA 0x9e /* right ctrl key / alt lock */
#define LALTA 0x9f /* left alt key / alt lock */
#define RALTA 0xa0 /* right alt key / alt lock */
+#define HALT 0xa1 /* halt machine */
+#define PDWN 0xa2 /* halt machine and power down */
#define F(x) ((x)+F_FN-1)
#define S(x) ((x)+F_SCR-1)
OpenPOWER on IntegriCloud