aboutsummaryrefslogtreecommitdiff
path: root/libxkbfile/src/xkbbells.c
diff options
context:
space:
mode:
Diffstat (limited to 'libxkbfile/src/xkbbells.c')
-rw-r--r--libxkbfile/src/xkbbells.c104
1 files changed, 104 insertions, 0 deletions
diff --git a/libxkbfile/src/xkbbells.c b/libxkbfile/src/xkbbells.c
new file mode 100644
index 000000000..30b918fb4
--- /dev/null
+++ b/libxkbfile/src/xkbbells.c
@@ -0,0 +1,104 @@
+/* $Xorg: xkbbells.c,v 1.3 2000/08/17 19:46:43 cpqbld Exp $ */
+/************************************************************
+ Copyright (c) 1995 by Silicon Graphics Computer Systems, Inc.
+
+ Permission to use, copy, modify, and distribute this
+ software and its documentation for any purpose and without
+ fee is hereby granted, provided that the above copyright
+ notice appear in all copies and that both that copyright
+ notice and this permission notice appear in supporting
+ documentation, and that the name of Silicon Graphics not be
+ used in advertising or publicity pertaining to distribution
+ of the software without specific prior written permission.
+ Silicon Graphics makes no representation about the suitability
+ of this software for any purpose. It is provided "as is"
+ without any express or implied warranty.
+
+ SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
+ SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+ AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
+ GRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
+ DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+ OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH
+ THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+ ********************************************************/
+/* $XFree86$ */
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+#include <X11/Xlib.h>
+#include <X11/XKBlib.h>
+#include "XKBbells.h"
+
+static char *_xkbStdBellNames[XkbBI_NumBells] = {
+ "Info",
+ "Warning",
+ "MinorError",
+ "MajorError",
+ "BadValue",
+ "InvalidLocation",
+ "Question",
+ "Start",
+ "End",
+ "Success",
+ "Failure",
+ "Wait",
+ "Proceed",
+ "Ignore",
+ "Iconify",
+ "Deconify",
+ "Open",
+ "Close",
+ "TerminalBell",
+ "MarginBell",
+ "CursorStuck",
+ "NewMail",
+ "LaunchApp",
+ "AppDeath",
+ "ImAlive",
+ "ClockChimeHour",
+ "ClockChimeHalf",
+ "ClockChimeQuarter",
+ "RepeatingLastBell",
+ "ComposeFail",
+ "AX_FeatureOn",
+ "AX_FeatureOff",
+ "AX_FeatureChange",
+ "AX_IndicatorOn",
+ "AX_IndicatorOff",
+ "AX_IndicatorChange",
+ "AX_SlowKeysWarning",
+ "AX_SlowKeyPress",
+ "AX_SlowKeyAccept",
+ "AX_SlowKeyReject",
+ "AX_SlowKeyRelease",
+ "AX_BounceKeyReject",
+ "AX_StickyLatch",
+ "AX_StickyLock",
+ "AX_StickyUnlock"
+};
+
+static Atom _xkbStdBellAtoms[XkbBI_NumBells];
+
+Bool
+XkbStdBell(Display *dpy,Window win,int percent,int bellDef)
+{
+ if ((bellDef<0)||(bellDef>=XkbBI_NumBells))
+ bellDef= XkbBI_Info;
+ if (_xkbStdBellAtoms[bellDef]==None)
+ _xkbStdBellAtoms[bellDef]= XInternAtom(dpy,_xkbStdBellNames[bellDef],0);
+ return XkbBell(dpy,win,percent,_xkbStdBellAtoms[bellDef]);
+}
+
+Bool
+XkbStdBellEvent(Display *dpy,Window win,int percent,int bellDef)
+{
+ if ((bellDef<0)||(bellDef>=XkbBI_NumBells))
+ bellDef= XkbBI_Info;
+ if (_xkbStdBellAtoms[bellDef]==None)
+ _xkbStdBellAtoms[bellDef]= XInternAtom(dpy,_xkbStdBellNames[bellDef],0);
+ return XkbBellEvent(dpy,win,percent,_xkbStdBellAtoms[bellDef]);
+}