Doug Scott wrote:
The appropriate ioctl
KBD_CMD_BELL and KBD_CMD_NOBELL are already in
sys/kbd.h.
Those ioctls don't make it so the bell doesn't sound
in the future - they
are used for sounding the bell. In the X server, to
make a 100ms beep,
we do:
kbdCmd = KBD_CMD_BELL;
ioctl(fd, KIOCCMD, kbdCmd)
sleep for 100ms
kbdCmd = KBD_CMD_NOBELL;
ioctl(fd, KIOCCMD, kbdCmd)
You'ld need to add new ones to make a keyboard bell
disabling command.
Ah, this would confirm my testing issues so far. My confusion comes from the
wording (below) in the file
http://cvs.opensolaris.org/source/xref/on/usr/src/uts/common/io/conskbd.c.
Looks ioctls commands like KBD_CMD_BELL_ENABLE and KBD_CMD_BELL_DISABLE are
required.
Thanks
Doug
-
* 3.1) for KBD_CMD_NOBELL
1262 * there's no beep in USB and PS2 keyboard,
1263 * this ioctl actually disables the beep on
1264 * system mainboard. Note that all the
cloned
1265 * messages sent down to lower queues do
the
1266 * same job for system mainboard.
Therefore,
1267 * even if we fail to send this ioctl to
most
1268 * of lower queues, the beep still would be
1269 * disabled. So, no trouble exists here.
This message posted from opensolaris.org