another attempt to fix the keybinding problem for plugins.
This commit is contained in:
@ -23,5 +23,5 @@
|
||||
# Fork of Orca Screen Reader (GNOME)
|
||||
# Original source: https://gitlab.gnome.org/GNOME/orca
|
||||
|
||||
version = "2025.04.20"
|
||||
version = "2025.06.05"
|
||||
codeName = "plugins"
|
||||
|
@ -182,7 +182,14 @@ class PluginSystemManager:
|
||||
bindings = plugin.get_bindings()
|
||||
for binding in bindings.keyBindings:
|
||||
logger.info(f"Adding binding: {binding.keysymstring} with modifiers {binding.modifiers}")
|
||||
active_script.getKeyBindings().add(binding)
|
||||
# Check if binding already exists to avoid duplicates
|
||||
if not active_script.getKeyBindings().hasKeyBinding(binding, "keysNoMask"):
|
||||
active_script.getKeyBindings().add(binding)
|
||||
# Register key grab at system level - this was missing!
|
||||
from . import cthulhu
|
||||
grab_ids = cthulhu.addKeyGrab(binding)
|
||||
if grab_ids:
|
||||
binding._grab_ids = grab_ids
|
||||
|
||||
def _on_settings_changed(self, app=None):
|
||||
"""Re-register all plugin keybindings when settings change."""
|
||||
|
Reference in New Issue
Block a user