diff options
author | Kaleb Keithley <kaleb@freedesktop.org> | 2003-11-14 16:49:22 +0000 |
---|---|---|
committer | Kaleb Keithley <kaleb@freedesktop.org> | 2003-11-14 16:49:22 +0000 |
commit | d568221710959cf7d783e6ff0fb80fb43a231124 (patch) | |
tree | 8d6f039393294c6ffac8533639afdebe5d68bfc1 /xkb/xkbLEDs.c | |
parent | 9508a382f8a9f241dab097d921b6d290c1c3a776 (diff) |
XFree86 4.3.0.1xf86-4_3_0_1PRE_xf86-4_3_0_1
Diffstat (limited to 'xkb/xkbLEDs.c')
-rw-r--r-- | xkb/xkbLEDs.c | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/xkb/xkbLEDs.c b/xkb/xkbLEDs.c index d3be89af7..33cf7bd9e 100644 --- a/xkb/xkbLEDs.c +++ b/xkb/xkbLEDs.c @@ -1,4 +1,4 @@ -/* $Xorg: xkbLEDs.c,v 1.3 2000/08/17 19:53:47 cpqbld Exp $ */ +/* $Xorg: xkbLEDs.c,v 1.4 2001/05/10 19:54:01 steve Exp $ */ /************************************************************ Copyright (c) 1995 by Silicon Graphics Computer Systems, Inc. @@ -24,6 +24,7 @@ OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ********************************************************/ +/* $XFree86: xc/programs/Xserver/xkb/xkbLEDs.c,v 3.6 2001/11/23 19:21:36 dawes Exp $ */ #include <stdio.h> #include <ctype.h> @@ -37,8 +38,6 @@ THE USE OR PERFORMANCE OF THIS SOFTWARE. #include "XI.h" #include "XKBsrv.h" -extern InputInfo inputInfo; - /***====================================================================***/ /* @@ -240,11 +239,10 @@ unsigned side_affected; XkbUpdateLedAutoState(dev,sli,side_affected,&ed,&changes,cause); affect|= side_affected; } - XkbSendNotification(dev,&changes,cause); - if (ed.reason) - XkbSendExtensionDeviceNotify(dev,cause->client,&ed); if (changes.state_changes || changes.ctrls.enabled_ctrls_changes) XkbUpdateAllDeviceIndicators(NULL,cause); + + XkbFlushLedEvents(dev,dev,sli,&ed,&changes,cause); return; } @@ -701,6 +699,14 @@ XkbFlushLedEvents(dev,kbd,sli,ed,changes,cause) XkbDDXUpdateDeviceIndicators(dev,sli,sli->effectiveState); XkbSendNotification(kbd,changes,cause); bzero((char *)changes,sizeof(XkbChangesRec)); + + if (XkbAX_NeedFeedback(kbd->key->xkbInfo->desc->ctrls, XkbAX_IndicatorFBMask)) { + if (sli->effectiveState) + /* it appears that the which parameter is not used */ + XkbDDXAccessXBeep(dev, _BEEP_LED_ON, XkbAccessXFeedbackMask); + else + XkbDDXAccessXBeep(dev, _BEEP_LED_OFF, XkbAccessXFeedbackMask); + } } if (ed && (ed->reason)) { if ((dev!=kbd)&&(ed->reason&XkbXI_IndicatorStateMask)) |