[PATCH] hw.syscons.bell sysctl for vt (newcons)

Tiwei Bie btw at mail.ustc.edu.cn
Sun Oct 5 04:28:11 UTC 2014


Hi All,

I think the hw.syscons.bell sysctl provided by syscons is a very convenient method
to disable the sound alert in FreeBSD. But I haven't found the similar interface
in vt. So I have written a patch to implement the sysctl 'kern.vt.enable_bell'
which is similar to 'hw.syscons.bell' for vt.

---
 sys/dev/vt/vt_core.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/sys/dev/vt/vt_core.c b/sys/dev/vt/vt_core.c
index 2dd7e3f..a8cdedb 100644
--- a/sys/dev/vt/vt_core.c
+++ b/sys/dev/vt/vt_core.c
@@ -120,6 +120,7 @@ const struct terminal_class vt_termclass = {
 
 static SYSCTL_NODE(_kern, OID_AUTO, vt, CTLFLAG_RD, 0, "vt(9) parameters");
 VT_SYSCTL_INT(enable_altgr, 1, "Enable AltGr key (Do not assume R.Alt as Alt)");
+VT_SYSCTL_INT(enable_bell, 1, "Enable bell");
 VT_SYSCTL_INT(debug, 0, "vt(9) debug level");
 VT_SYSCTL_INT(deadtimer, 15, "Time to wait busy process in VT_PROCESS mode");
 VT_SYSCTL_INT(suspendswitch, 1, "Switch to VT0 before suspend");
@@ -904,6 +905,9 @@ vtterm_bell(struct terminal *tm)
 	struct vt_window *vw = tm->tm_softc;
 	struct vt_device *vd = vw->vw_device;
 
+	if (!vt_enable_bell)
+		return;
+
 	if (vd->vd_flags & VDF_QUIET_BELL)
 		return;
 
@@ -915,6 +919,9 @@ vtterm_beep(struct terminal *tm, u_int param)
 {
 	u_int freq, period;
 
+	if (!vt_enable_bell)
+		return;
+
 	if ((param == 0) || ((param & 0xffff) == 0)) {
 		vtterm_bell(tm);
 		return;
-- 
2.1.0




More information about the freebsd-hackers mailing list