diff --git a/src/xpra/server/keyboard_config_base.py b/src/xpra/server/keyboard_config_base.py index c6624d233f..c44ebe85c3 100644 --- a/src/xpra/server/keyboard_config_base.py +++ b/src/xpra/server/keyboard_config_base.py @@ -27,13 +27,15 @@ def get_info(self): } return info - def parse_options(self, props): pass def get_hash(self): return "" + def set_layout(self, layout, variant): + pass + def set_keymap(self): pass diff --git a/src/xpra/server/source.py b/src/xpra/server/source.py index 9cfd132c1c..5d9aabdb08 100644 --- a/src/xpra/server/source.py +++ b/src/xpra/server/source.py @@ -1166,12 +1166,7 @@ def _make_metadata(self, wid, window, propname): # Keyboard magic # def set_layout(self, layout, variant): - keylog("set_layout(%s, %s)", layout, variant) - if layout!=self.keyboard_config.xkbmap_layout or variant!=self.keyboard_config.xkbmap_variant: - self.keyboard_config.xkbmap_layout = layout - self.keyboard_config.xkbmap_variant = variant - return True - return False + return self.keyboard_config.set_layout(layout, variant) def keys_changed(self): if self.keyboard_config: diff --git a/src/xpra/x11/server_keyboard_config.py b/src/xpra/x11/server_keyboard_config.py index a0e0958b44..978a4dc512 100644 --- a/src/xpra/x11/server_keyboard_config.py +++ b/src/xpra/x11/server_keyboard_config.py @@ -205,6 +205,15 @@ def is_modifier(self, keycode): return False + def set_layout(self, layout, variant): + log("set_layout(%s, %s)", layout, variant) + if layout!=self.xkbmap_layout or variant!=self.xkbmap_variant: + self.keyboard_config.xkbmap_layout = layout + self.keyboard_config.xkbmap_variant = variant + return True + return False + + def set_keymap(self): if not self.enabled: return