diff options
author | dwmalone <dwmalone@FreeBSD.org> | 2000-09-11 20:37:42 +0000 |
---|---|---|
committer | dwmalone <dwmalone@FreeBSD.org> | 2000-09-11 20:37:42 +0000 |
commit | eeb5416b4738f452cac300d13f704c4b03d5d370 (patch) | |
tree | ccf2ead9bbeec7dddfd835afb860d0205f0f8dc9 /sys | |
parent | c35d103e0f7e019bf6237cd8451bd0a69960b339 (diff) | |
download | FreeBSD-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.c | 1 | ||||
-rw-r--r-- | sys/dev/syscons/syscons.c | 12 | ||||
-rw-r--r-- | sys/pc98/pc98/syscons.c | 12 | ||||
-rw-r--r-- | sys/sys/kbio.h | 2 |
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) |