LWJGL / lwjgl3

LWJGL is a Java library that enables cross-platform access to popular native APIs useful in the development of graphics (OpenGL, Vulkan, bgfx), audio (OpenAL, Opus), parallel computing (OpenCL, CUDA) and XR (OpenVR, LibOVR, OpenXR) applications.
https://www.lwjgl.org
BSD 3-Clause "New" or "Revised" License
4.67k stars 628 forks source link

Merge the glfw IME fix PR #946

Closed kappa-maintainer closed 7 months ago

kappa-maintainer commented 7 months ago

Description

I am working on porting some older Minecraft version to newer Java and encountered some problem with IME keyboard input. After further investigation, I found this pull request fixed every IME related problem and compiled a set of modified lwjgl3 to use it. I know the glfw native shipped by lwjgl is modified too, could lwjgl add these fixes to its natives as well?

tlf30 commented 7 months ago

Personally, I do not think it would be wise to start merging PRs into LWJGL that are not part of the upstream repo. While I think we all want better IME support in GLFW, it would be better if GLFW merged the PR into their master, then those changes made it to here.

I believe all the major deviation in GLFW is just for adding support for AWT / MacOS related modifications that would never be added to GLFW since these changes are purely related to java support.

kappa-maintainer commented 7 months ago

I see, we will continue to use our fork until it made into lwjgl.

knokko commented 7 months ago

Actually, we also added some of my PRs (for OpenXR/OpengGL interop) that aren't merged yet upstream. Personally, I don't see a problem with adding PRs to our fork whenever it suits us.

Spasi commented 7 months ago

I'm not very comfortable with significant features such as this one. If it never gets merged upstream, we may be stuck maintaining a lot of non-trivial code. For this reason, I've marked this as "experimental" in the release notes and it's a separate commit in the CI repo.

@kappa-maintainer Could you please test the glfw-async implementation as well please? You can download the updated dylib here (not sure if you're on x64 or arm64). We may have to wrap _glfwResetPreeditTextCocoa and _glfwSetIMEStatusCocoa.

kappa-maintainer commented 7 months ago

We will test the IME binding on our fork. As for the glfw-async on macos, I know a project have been using this for months, will tell them to test.