diff --git a/qubes/ext/gui.py b/qubes/ext/gui.py index a78aa82b8..01027c66b 100644 --- a/qubes/ext/gui.py +++ b/qubes/ext/gui.py @@ -159,6 +159,12 @@ def on_keyboard_reset(self, vm, event, name, oldvalue=None): @qubes.ext.handler("property-set:keyboard_layout") def on_keyboard_set(self, vm, event, name, newvalue, oldvalue=None): + if newvalue == oldvalue: + return + + if vm.is_running(): + vm.untrusted_qdb.write("/keyboard-layout", newvalue) + for domain in vm.app.domains: if getattr( domain, "guivm", None @@ -169,9 +175,6 @@ def on_keyboard_set(self, vm, event, name, newvalue, oldvalue=None): oldvalue=oldvalue, ) - if vm.is_running(): - vm.untrusted_qdb.write("/keyboard-layout", newvalue) - @qubes.ext.handler("domain-tag-add:created-by-*") def set_guivm_on_created_by(self, vm, event, tag, **kwargs): """Set GuiVM based on 'tag-created-vm-with' and 'set-created-guivm'