If a slave device triggers e.g. NumLock, this needs to be pushed down to all
attached slave devices so that the LEDs light up on all of them.

Signed-off-by: Peter Hutterer <[email protected]>
---
 xkb/xkbActions.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/xkb/xkbActions.c b/xkb/xkbActions.c
index c89baaf..33a0277 100644
--- a/xkb/xkbActions.c
+++ b/xkb/xkbActions.c
@@ -1339,13 +1339,21 @@ XkbHandleActions(DeviceIntPtr dev, DeviceIntPtr kbd, 
DeviceEvent *event)
         }
         xkbi->flags &= ~_XkbStateNotifyInProgress;
     }
+
     changed = XkbIndicatorsToUpdate(dev, changed, FALSE);
     if (changed) {
+        DeviceIntPtr d;
         XkbEventCauseRec cause;
 
         XkbSetCauseKey(&cause, key, event->type);
         XkbUpdateIndicators(dev, changed, FALSE, NULL, &cause);
+
+        nt_list_for_each_entry(d, inputInfo.devices, next) {
+            if (GetMaster(d, MASTER_KEYBOARD) == dev)
+                XkbUpdateKbdModifiersFromMaster(d);
+        }
     }
+
     return;
 }
 
-- 
1.8.4.2

_______________________________________________
[email protected]: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to