Project

General

Profile

Actions

Bug #48

closed

turning off the beep

Added by erikvsmith over 18 years ago. Updated over 17 years ago.

Status:
Closed
Priority:
Normal
Assignee:
-
Category:
-
Target version:
-
Start date:
Due date:
% Done:

0%

Estimated time:

Description

With 1.4.0 Release, "kbdcontrol -b quiet.off" should turn off the
keyboard beep, however it is not being disabled. Furthermore,
"kbdcontrol -b visual" does not cause the screen to flash at the
appropriate time.

Actions #1

Updated by qhwt+dfly over 18 years ago

On Mon, Jan 09, 2006 at 02:02:32AM -0500, Erik V. Smith wrote:

With 1.4.0 Release, "kbdcontrol -b quiet.off" should turn off the
keyboard beep, however it is not being disabled. Furthermore,
"kbdcontrol -b visual" does not cause the screen to flash at the
appropriate time.

I don't see a difference between `-b off' and `-b quiet.off', as the
former has always worked for me to turn off the beep. The patch below
should make `-b quiet.off' a synonym to `-b off'. Do you like it?
As for `-b visual', it works as it is; the screen flashes, for instance,
when I hit backspace at the beginning of line, or when I run printf '\007' .

Index: kbdcontrol.c ===================================================================
RCS file: /home/source/dragonfly/cvs/src/usr.sbin/kbdcontrol/kbdcontrol.c,v
retrieving revision 1.5
diff u -r1.5 kbdcontrol.c
--
kbdcontrol.c 30 Oct 2005 23:00:57 0000 1.5
++ kbdcontrol.c 9 Jan 2006 08:09:58 -0000
@ -868,7 +868,7 @
else if (!strcmp(opt, "normal"))
duration = 5, pitch = 800;
else if (!strcmp(opt, "off"))
duration = 0, pitch = 0;
bell = 0, duration = 0, pitch = 0;
else {
char *v1;

Actions #2

Updated by qhwt+dfly over 18 years ago

On Mon, Jan 09, 2006 at 05:24:25PM +0900, YONETANI Tomokazu wrote:

On Mon, Jan 09, 2006 at 02:02:32AM -0500, Erik V. Smith wrote:

With 1.4.0 Release, "kbdcontrol -b quiet.off" should turn off the
keyboard beep, however it is not being disabled. Furthermore,
"kbdcontrol -b visual" does not cause the screen to flash at the
appropriate time.

I don't see a difference between `-b off' and `-b quiet.off', as the
former has always worked for me to turn off the beep. The patch below
should make `-b quiet.off' a synonym to `-b off'. Do you like it?
As for `-b visual', it works as it is; the screen flashes, for instance,
when I hit backspace at the beginning of line, or when I run printf '\007' .

And this one should also fix `-b quiet.visual' which drhodus@ mentioned
earlier on kernel@ with a subject "BEEPING":
http://leaf.dragonflybsd.org/mailarchive/kernel/2005-08/msg00050.html

Index: kbdcontrol.c ===================================================================
RCS file: /home/source/dragonfly/cvs/src/usr.sbin/kbdcontrol/kbdcontrol.c,v
retrieving revision 1.5
diff u -r1.5 kbdcontrol.c
--
kbdcontrol.c 30 Oct 2005 23:00:57 -0000 1.5
+++ kbdcontrol.c 9 Jan 2006 08:34:39 -0000
@ -858,7 +858,7 @ {
int bell, duration, pitch;

- bell = 0;
+ bell = duration = pitch = 0;
if (!strncmp(opt, "quiet.", 6)) {
bell = 2;
opt = 6;
@ -868,7 +868,7 @
else if (!strcmp(opt, "normal"))
duration = 5, pitch = 800;
else if (!strcmp(opt, "off"))
- duration = 0, pitch = 0;
bell = 0;
else {
char *v1;

Actions #3

Updated by qhwt+dfly over 18 years ago

On Mon, Jan 09, 2006 at 05:41:44PM +0900, YONETANI Tomokazu wrote:

And this one should also fix `-b quiet.visual' which drhodus@ mentioned
earlier on kernel@ with a subject "BEEPING":
http://leaf.dragonflybsd.org/mailarchive/kernel/2005-08/msg00050.html

No, forget about this; I thought that the reason that the bell doesn't
go away is because the variables duration and pitch are uninitialized
in `-b quiet.visual' case, but then I noticed those variables aren't
used at all when "quiet." is used, right after I sent the previous message...

Actions #4

Updated by erikvsmith over 18 years ago

YONETANI Tomokazu wrote:

+ bell = 0, duration = 0, pitch = 0;

variable "bell" is being initialized to zero on line 861 of
kbdcontrol.c, so I'm affraid this won't work.

Actions #5

Updated by qhwt+dfly over 18 years ago

On Mon, Jan 09, 2006 at 10:07:22AM -0500, Erik V. Smith wrote:

YONETANI Tomokazu wrote:

+ bell = 0, duration = 0, pitch = 0;

variable "bell" is being initialized to zero on line 861 of
kbdcontrol.c, so I'm affraid this won't work.

Well, I missed the tilde here:
if ((bell & ~2) == 0)
fprintf(stderr, "\x1B[=%d;%dB", pitch, duration);
which made me interpret the statement as `when quiet bit not set'...

Anyway, it turned out that both `-b off' and '-b quiet.off' turns off
the bell for me, without or without the patch :-] Do you see something
if you change the line calling ioctl() to something below?

if (ioctl(0, CONS_BELLTYPE, &bell)  -1)
perror("CONS_BELLTYPE");
if ((bell & ~2) 0)
fprintf(stderr, "\x1B[=%d;%dB", pitch, duration);

If so, you may have to dig into scioctl() to find where it's failing
to set flags or flash the screen.

Actions #6

Updated by erikvsmith over 18 years ago

YONETANI Tomokazu wrote:

Anyway, it turned out that both `-b off' and '-b quiet.off' turns off
the bell for me, without or without the patch :-] Do you see something
if you change the line calling ioctl() to something below?

if (ioctl(0, CONS_BELLTYPE, &bell) -1)
perror("CONS_BELLTYPE");
if ((bell & ~2) 0)
fprintf(stderr, "\x1B[=%d;%dB", pitch, duration);

If so, you may have to dig into scioctl() to find where it's failing
to set flags or flash the screen.

thank you for the help, looks like I'm digging into scioctl() :

  1. kbdcontrol -b visual
    CONS_BELLTYPE: Inappropriate ioctl for device
  2. kbdcontrol -b quiet.off
    CONS_BELLTYPE: Inappropriate ioctl for device
Actions #7

Updated by erikvsmith over 18 years ago

ah ha! the following properly shuts off the beep from within xorg
xset b off

Actions #8

Updated by corecode over 18 years ago

Erik V. Smith wrote:

ah ha! the following properly shuts off the beep from within xorg
xset b off

well, in xorg, yes. I guess we all thought you were playing on the console.

cheers
simon

Actions #9

Updated by corecode over 18 years ago

pilot error

Actions

Also available in: Atom PDF