diff options
| author | Kyle Evans <kevans@FreeBSD.org> | 2020-11-14 01:58:33 +0000 |
|---|---|---|
| committer | Kyle Evans <kevans@FreeBSD.org> | 2020-11-14 01:58:33 +0000 |
| commit | 3c11a50c2d0180974eff4f3b2fe983e2940e0976 (patch) | |
| tree | 0c1ab9a8c720a9992936d5ac4d8a64801f7b3109 /sys/dev/vt | |
| parent | 3e31ba6b4430b2e830405792b1b75010e1f1226a (diff) | |
Notes
Diffstat (limited to 'sys/dev/vt')
| -rw-r--r-- | sys/dev/vt/vt_core.c | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/sys/dev/vt/vt_core.c b/sys/dev/vt/vt_core.c index 4518cf624cc3..d4cbb038d31a 100644 --- a/sys/dev/vt/vt_core.c +++ b/sys/dev/vt/vt_core.c @@ -725,13 +725,22 @@ vt_scroll(struct vt_window *vw, int offset, int whence) } static int -vt_machine_kbdevent(int c) +vt_machine_kbdevent(struct vt_device *vd, int c) { switch (c) { case SPCLKEY | DBG: /* kbdmap(5) keyword `debug`. */ - if (vt_kbd_debug) + if (vt_kbd_debug) { kdb_enter(KDB_WHY_BREAK, "manual escape to debugger"); +#if VT_ALT_TO_ESC_HACK + /* + * There's an unfortunate conflict between SPCLKEY|DBG + * and VT_ALT_TO_ESC_HACK. Just assume they didn't mean + * it if we got to here. + */ + vd->vd_kbstate &= ~ALKED; +#endif + } return (1); case SPCLKEY | HALT: /* kbdmap(5) keyword `halt`. */ if (vt_kbd_halt) @@ -864,7 +873,7 @@ vt_processkey(keyboard_t *kbd, struct vt_device *vd, int c) return (0); #endif - if (vt_machine_kbdevent(c)) + if (vt_machine_kbdevent(vd, c)) return (0); if (vw->vw_flags & VWF_SCROLL) { |
