BellProc: Send bell event on core protocol bell when requested
XKB allows to override the BellProc() ringing the 'keyboard bell': instead an event is sent to an X client which can perform an appropriate action. In most cases this effectively prevents the core protocol bell from ringing: if no BellProc() is set for the device, no attempt is made to ring a bell. This patch ensures that an XKB bell event is sent also when the core protocol bell is rung end thus an appropriate action can be taken by a client. Signed-off-by: Egbert Eich <eich@freedesktop.org> Acked-by: Peter Hutterer <peter.hutterer@who-t.net> Signed-off-by: Keith Packard <keithp@keithp.com>
This commit is contained in:
		
							parent
							
								
									e8373e4b6a
								
							
						
					
					
						commit
						e6c8c7e46c
					
				|  | @ -2257,7 +2257,7 @@ ProcBell(ClientPtr client) | ||||||
|     for (dev = inputInfo.devices; dev; dev = dev->next) { |     for (dev = inputInfo.devices; dev; dev = dev->next) { | ||||||
|         if ((dev == keybd || |         if ((dev == keybd || | ||||||
|              (!IsMaster(dev) && GetMaster(dev, MASTER_KEYBOARD) == keybd)) && |              (!IsMaster(dev) && GetMaster(dev, MASTER_KEYBOARD) == keybd)) && | ||||||
|             dev->kbdfeed && dev->kbdfeed->BellProc) { |             ((dev->kbdfeed && dev->kbdfeed->BellProc) || dev->xkb_interest)) { | ||||||
| 
 | 
 | ||||||
|             rc = XaceHook(XACE_DEVICE_ACCESS, client, dev, DixBellAccess); |             rc = XaceHook(XACE_DEVICE_ACCESS, client, dev, DixBellAccess); | ||||||
|             if (rc != Success) |             if (rc != Success) | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue