diff --git a/hw/kdrive/src/kdrive.h b/hw/kdrive/src/kdrive.h index a24e1d5b7..34e87347c 100644 --- a/hw/kdrive/src/kdrive.h +++ b/hw/kdrive/src/kdrive.h @@ -285,7 +285,7 @@ typedef struct _KdOsFuncs { void (*Disable) (void); void (*Fini) (void); void (*pollEvents) (void); - void (*Bell) (int, int, int); + void (*Bell) (int, int, int); /* if not NULL called instead of the keyboard driver's function */ } KdOsFuncs; typedef struct _KdPointerMatrix { diff --git a/hw/kdrive/src/kinput.c b/hw/kdrive/src/kinput.c index 539118116..a38d873b3 100644 --- a/hw/kdrive/src/kinput.c +++ b/hw/kdrive/src/kinput.c @@ -383,6 +383,11 @@ DDXRingBell(int volume, int pitch, int duration) { KdKeyboardInfo *ki = NULL; + if (kdOsFuncs->Bell) { + kdOsFuncs->Bell(volume, pitch, duration); + return; + } + for (ki = kdKeyboards; ki; ki = ki->next) { if (ki->dixdev->coreEvents) KdRingBell(ki, volume, pitch, duration);