xurei / hyperkeys

Unleash you keyboard shorcuts
https://hyperkeys.xureilab.com
GNU General Public License v3.0
62 stars 2 forks source link

Run command settings blank on linux #50

Open sblatnick opened 1 month ago

sblatnick commented 1 month ago

Environment

Describe the bug and how to reproduce If I add "Run command" and click the gear settings, the window becomes a blank gray and I can't do anything until I restart the application. If I add "Switch audio output", and set it to a shortcut, nothing seems to happen.

Expected behavior I was expecting to be able to configure a command or a soundcard to switch to. As far as linux goes, is there any advantage to HyperKeys over the standard Keyboard Shortcuts app? Maybe the primary users are on Windows?

Config file [{"name":"RUN_COMMAND","shortcuts":{"RUN_COMMAND":"ctrl+*"},"config":{"command":""},"id":"21cfa819-f07b-4298-8bf1-2466019f04ae","enabled":true},{"name":"SWITCH_AUDIO","shortcuts":{"SWITCH_AUDIO":"ctrl+/"},"id":"fff17893-779e-492f-8b5e-4b72bcaa50df","enabled":true}]

Screenshots

2024-10-25-06_59_43-screenshot Clicked on the gear: 2024-10-25-06_59_50-screenshot

xurei commented 1 month ago

Thanks for the feedback. I can indeed reproduce this on my system.

I'll investigate this during the week-end. In the meantime, could you try the previous version (1.3.0) and tell me if the problem is there ?

EDIT: apparently the problem also arises with the "Window Pin By Name" macro. I used it a few days ago without any issue, so this is definitely a regression. Sorry about that 😞

sblatnick commented 1 month ago

No worries. I can confirm that 1.3.0 does NOT have this issue. Edit: I've added a command /usr/bin/notify-send "hello" and when I use the shortcut it does not seem to run.

xurei commented 1 month ago

I found and fixed the issue. The fixed version is here : https://github.com/xurei/hyperkeys/releases/tag/v1.3.2

This app is quite old, but I'm still using it, so I keep it up-to-date but I'm not actively working on it.

To answer the question "is there any advantage to HyperKeys over the standard Keyboard Shortcuts app? Maybe the primary users are on Windows?", the main reason I'm using this is the Window Pin feature. I suppose that the keyboard shortcuts of your Window Manager and some scripting can achieve the same goal, but I like to have these in my own, separated space.

For the "Switch audio" macro, you need pactl installed to use it. It was not very clear, so I added a warning in the macro description. Anyways, make sur you have pulseaudio-utils installed (it works with PulseAudio and PipeWire).

About the notify-send issue : I tried it and it does not work. I didn't find the reason yet, so I created a new issue: #51.

Please tell me if it works for you, so I can close this issue.

sblatnick commented 1 month ago

Sorry to be the bearer of bad news, but the update has several issues:

  1. The dialog now appears behind when the checkbox is unchecked. It's fine when checked, but defaults to unchecked. Also I noticed the new entry appeared in the middle rather than appended or prepended to the list. 2024-10-28-07_33_09-screenshot
  2. The trash icon doesn't allow me to delete entries.
  3. notify-send appears to not works still.
xurei commented 1 month ago

Damnit ! This update was supposed to be a simple dependencies upgrade 😞

Well, back to it I guess. I'll keep you posted.

PS: the 3rd point has moved to another issue: https://github.com/xurei/hyperkeys/issues/51, I'm probably not going to fix it for the next release

sblatnick commented 1 month ago

No worries, just trying to help.

The apps I currently use keyboard shortcuts through (mate-keybinding-properties and Compiz) are fine for me. I may still use it to toggle the sound card with a shortcut, but there may be a way to do that with a simple script I can map to a shortcut.

When I found this project, the reason it interested me was the idea of being able to set "any" keyboard shortcuts. I had hoped it meant I could use a custom modifier, like pressing two letter keys at the same time. I think I was wrong. That probably isn't doable unless we break the letter key pushed by itself. This program still seems restricted to the default set of modifiers, like most others I've seen.

That said, it could be a nice centralized location for all shortcut needs.

xurei commented 1 week ago

I just released a new version : https://github.com/xurei/hyperkeys/releases/tag/v1.3.3

Tested it myself for a few weeks to make sure it works well.

Hopefully everything works as expected this time 🤞.

sblatnick commented 6 days ago

Downloaded and tried.

The good news: The UI for existing macros works flawlessly. I can edit shortcuts, delete macros, toggle them active, and update the commands.

The bad news: "Add Macro" seemingly doesn't do anything. None of the shortcuts seem to execute.

xurei commented 6 days ago

Fixed the "Add macro" button not being clickable (a z-index issue).

What do you mean by "None of the shortcuts seem to execute" ?

See https://github.com/xurei/hyperkeys/releases/tag/v1.3.4

sblatnick commented 5 days ago

Just that when I use the shortcut (Example: Ctrl + 1) the command never executes (Example: /usr/bin/notify-send "hello world")

xurei commented 5 days ago

There is indeed an issue with notify-send, but I didn't have the time to look at this.

There might also be some shortcuts that are not being captured. I experienced issues myself with 1234 keys that are not being understood correctly.

Does a shortcut like CTRL+ALT+A works with "nautilus" for example ?

sblatnick commented 5 days ago

Success! Ctrl+Alt+A does work with caja (the Mate fork of nautilus)

I tried Ctrl+Alt+S with "Switch audio output" and it crashed with:

$ ./HyperKeys-1.3.4.AppImage 
getPath /tmp/.mount_HyperKjvpARZ/hyperkeys
getDataPath /home/steve/.config/hyperkeys
/tmp/.mount_HyperKjvpARZ/resources/app/300x300.png
Latest release: v1.3.0 vs 1.3.4
EXCEPTION OCCURRED
TypeError: Cannot read properties of undefined (reading 'command')
    at Function.execute (/tmp/.mount_HyperKjvpARZ/resources/app/hyperkeys-extensions/switch-audio/action-switch-audio.js:79:39)

However, that does hint the Ctrl+# doesn't work, like you said.

I switched the shortcut back to Ctrl+1 and found out the numbers only work from the keys above the letters, not a numberpad. So that explains why numbers weren't working, although I used the number pad when setting the shortcut.

sblatnick commented 5 days ago

Also, the log about 1.3.0 vs 1.3.4 is worth noting, in case that is a problem.

xurei commented 5 days ago

Do you have pulseaudio-utils installed ?

apt install pulseaudio-utils
sblatnick commented 4 days ago

Yes, I do. According to the description in Synaptic, the package includes:

paplay - Playback a WAV file via a PulseAudio sink. pacat - Cat raw audio data to a PulseAudio sink. parec - Cat raw audio data from a PulseAudio source. pacmd - Connect to PulseAudio's built-in command line control interface. pactl - Send a control command to a PulseAudio server. padsp - /dev/dsp wrapper to transparently support OSS applications. pax11publish - Store/retrieve PulseAudio default server/sink/source settings in the X11 root window.