xkbcommon / libxkbcommon

keymap handling library for toolkits and window systems
https://xkbcommon.org
Other
267 stars 122 forks source link

No way to list keymap component dependencies #390

Open wismill opened 8 months ago

wismill commented 8 months ago

Currently there is no way to do the following in xkeyboard-config:

We could create internal API/developer tools to deal with it.

whot commented 8 months ago

fwiw, xkeyboard-config has the symbols-tree.py script which does the latter, at least in one direction. I tried to refactor it once to get it to work in the other direction ("what includes foo(bar)") but gave up, didn't really have the need at the time.

It's not a full XKB parser either but probably does the job for the use-case here - I guess 90% is good enough here ;)

I think this is more an issue for xkeyboard-config rather than libxkbcommon. theoretically we support multiple backend formats and I don't think having a public API for this is useful. Developer tools - maybe? I mean we always want more toys to play with, right? :)

wismill commented 8 months ago

I think this is more an issue for xkeyboard-config rather than libxkbcommon.

@whot This is the primary use case. But any keymap developer may find this feature useful for debugging (I do!).

theoretically we support multiple backend formats and I don't think having a public API for this is useful

Agreed, but let’s be honest: AFAIK, nobody works on XKB2 or an alternative format. And transitioning to an hypothetical new format would still imply using the old format for years.

I proposed an internal API, not a public one. It would used by a new developer (i.e. not installed) tool.

This proposal is motivated by recent issues in xkeyboard-config related to includes. I would like to provide the maintainers tools to avoid them, for local use and in the CI.

whot commented 8 months ago

XKB2 will be called Godot :)