Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support libxkbcommon 0.4.3 #1

Closed
b-r-u opened this issue Feb 27, 2018 · 2 comments
Closed

Support libxkbcommon 0.4.3 #1

b-r-u opened this issue Feb 27, 2018 · 2 comments

Comments

@b-r-u
Copy link
Contributor

b-r-u commented Feb 27, 2018

Debian 8.10 still uses libxkbcommon 0.4.3. Accessing an XKBCOMMON_HANDLE results in a panic because the symbols concerning compose tables and compose states (from libxkbcommon 0.5) are missing:

https://github.com/francesca64/xkbcommon-dl/blob/9d35ac837821dcdc4f937242f83bae7460a99146/src/lib.rs#L261-L276

It would be nice if this library could handle different versions at runtime. There is a similar issue for x11-rs (AltF02/x11-rs#35). They chose to add different structs for different versions, but it would also be possible to detect the version in a build script and to enable features accordingly.

b-r-u added a commit to b-r-u/xkbcommon-dl that referenced this issue Feb 27, 2018
This commit adds a new struct that only includes libxkbcommon functions
from the compose and dead-keys support module and removes these
functions from `XkbCommon`. It is now possible to use an
`XKBCOMMON_HANDLE` with libxkbcommon 0.4.3 which does not include this
module. Availability of this module can be checked with
`XKBCOMMON_COMPOSE_OPTION`.

Resolves rust-windowing#1
@francesca64
Copy link
Member

Thanks for catching this!

This is unfortunate news though, since I'm not sure how to compensate for this missing functionality in winit's keyboard handling.

francesca64 pushed a commit that referenced this issue Mar 2, 2018
This commit adds a new struct that only includes libxkbcommon functions
from the compose and dead-keys support module and removes these
functions from `XkbCommon`. It is now possible to use an
`XKBCOMMON_HANDLE` with libxkbcommon 0.4.3 which does not include this
module. Availability of this module can be checked with
`XKBCOMMON_COMPOSE_OPTION`.

Resolves #1
francesca64 pushed a commit that referenced this issue Mar 2, 2018
This commit adds a new struct that only includes libxkbcommon functions
from the compose and dead-keys support module and removes these
functions from `XkbCommon`. It is now possible to use an
`XKBCOMMON_HANDLE` with libxkbcommon 0.4.3 which does not include this
module. Availability of this module can be checked with
`XKBCOMMON_COMPOSE_OPTION`.

Resolves #1
@b-r-u
Copy link
Contributor Author

b-r-u commented Mar 2, 2018

Thanks for merging!
The winit branch doesn't panic anymore and I'll do some research on the dead key situation without xkbcommon (A lot of searching brought me here https://stackoverflow.com/a/18288346 for a start).

francesca64 pushed a commit that referenced this issue Apr 29, 2018
This commit adds a new struct that only includes libxkbcommon functions
from the compose and dead-keys support module and removes these
functions from `XkbCommon`. It is now possible to use an
`XKBCOMMON_HANDLE` with libxkbcommon 0.4.3 which does not include this
module. Availability of this module can be checked with
`XKBCOMMON_COMPOSE_OPTION`.

Resolves #1
mahkoh pushed a commit to mahkoh/xkbcommon-dl that referenced this issue Oct 22, 2021
Fix for shared object errors on Ubuntu 20.04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

2 participants