Grab keybindings in extension



Prior to 3.16 I was able to "grab" already bound hotkeys in an extension and do my own thing.

With 3.16 (and now 3.18) this doesn't work reliably any more. Keys are either not bound, or bound and then sometimes the keybinding is lost after some time.

Before you ask "Why the hell would someone want to do that?", let me explain the idea behind it.
I'm specifically talking about volume keys, which would be handled by my extension [1] to allow for configurable volume steps - a feature quite often asked for.

Now, I know there's been a lot of discussion always boiling down to "You don't need configurable volume steps", but quite a lot of people, including myself, actually do, because either their hardware does strange things or their equipment (like active speakers) is non-linear. With the latter problem a volume step of 6 might go from quiet to blows-your-ears-out in one step (two of my headphones show this behaviour).

That being said, there's also crappy notebook speakers that benefit from volume boost - which can't be controlled by GSD's implementation, another use-case I tried to "fix" with my extension - so a customized volume overlay's quite handy as well.


I'd absolutely understand if you told me that grabbing already bound hotkeys is a bad idea (it is, I know!), but I'd also really like to get my extension to work again.
Having tried different approaches - monitoring GSD for changed PIDs (thinking crashes might be the culprit) and deferred binding of hotkeys - I'm out of ideas. I also even tried to disable the hotkey settings through dconf, but that didn't seem to stop GSD from handling it.


Could someone with more knowledge about the internals shed some light on this problem or point me in the right direction?


Thanks and all the best,
Alex


[1] https://github.com/aleho/gnome-shell-volume-mixer



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]