Package: keyd-application-mapper
Version: 2.5.0-2
Severity: grave
Tags: a11y patch
Justification: renders package unusable
X-Debbugs-Cc: l...@martinmarshall.com

Dear Maintainer,

   * What led up to the situation?

Installed the keyd-application-mapper package, which depends on the keyd
package and the keyd executable. Due to a naming conflict, Debian has renamed
the "/usr/bin/keyd" binary to "/usr/bin/keyd.rvaiya". However, the
"/usr/bin/keyd-application-mapper" python script has not been updated to
reflect the new name.

A prerequisite step to test this is that you must copy keyd's gnome-shell-
extension from the installed package to the appropriate location in the home
directory and edit it to work in Gnome 48:

1. Copy the gnome-shell extension directory from "/usr/share/keyd/gnome-
extension-45" to "~/.local/share/gnome-shell/extensions/keyd".

2. Edit the "~/.local/share/gnome-shell/extensions/keyd/metadata.json" file to
allow use of the extension on Gnome 48 by adding "48" to the "shell-version"
list near the bottom.

3. Log out and back into Gnome, in order to register the shell extension.

Now, when running "/usr/bin/keyd-application-mapper" in a terminal and then
opening the Gnome Extensions program, keyd-application-mapper issues the error,
"FileNotFoundError: [Errno 2] No such file or directory: 'keyd'".

   * What exactly did you do (or not do) that was effective (or
     ineffective)?

It's a very simple fix to workaround the problem.

I copied "/usr/bin/keyd-application-mapper" to "~/.local/bin/keyd-application-
mapper", which is in my user's PATH.

Then I edited the definition of the "on_window_change" function in that script,
so that when it calls "subprocess.run", it looks for "keyd.rvaiya" instead of
"keyd".

   * What was the outcome of this action?

Editing the "keyd-application-mapper" script corrected the problem. After doing
so, there is no error, and the keyd Gnome-shell extension works as expected.

   * What outcome did you expect instead?

Expected that it would have already been looking for "keyd.rvaiya" without
having to edit the script, since Debian had renamed the "keyd" binary to that.


-- System Information:
Debian Release: 13.0
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 6.12.27-amd64 (SMP w/16 CPU threads; PREEMPT)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages keyd-application-mapper depends on:
ii  keyd     2.5.0-2
ii  python3  3.13.3-1

Versions of packages keyd-application-mapper recommends:
ii  python3-xlib  0.33-3

keyd-application-mapper suggests no packages.

-- no debconf information
--- /usr/bin/keyd-application-mapper    2025-03-18 02:29:23.000000000 -0400
+++ keyd-application-mapper     2025-05-18 19:53:14.680690269 -0400
@@ -494,7 +494,7 @@
         print(f'Active window: {cls}|{title}')
 
     bindings = lookup_bindings(cls, title)
-    subprocess.run(['keyd', 'bind', 'reset', *bindings], 
stdout=subprocess.DEVNULL)
+    subprocess.run(['keyd.rvaiya', 'bind', 'reset', *bindings], 
stdout=subprocess.DEVNULL)
 
 
 mon = get_monitor(on_window_change)

Reply via email to