dotnet / Silk.NET

The high-speed OpenGL, OpenCL, OpenAL, OpenXR, GLFW, SDL, Vulkan, Assimp, WebGPU, and DirectX bindings library your mother warned you about.
https://dotnet.github.io/Silk.NET
MIT License
4.04k stars 387 forks source link

Tracking issue for Regional Keyboard Support #737

Open Perksey opened 2 years ago

Perksey commented 2 years ago

COMMUNITY-DRIVEN WORK TRACKING ISSUE

Summary of feature

Today, Silk.NET has no official support for receiving KeyDown (et al) events in any keyboard layout other than US (even though the SDL backend accidentally mandatorily supports it, but this is a bug with that backend).

This has been requested lots of times, and even got to a point where a proposal made it to review but was ultimately rejected as we wanted to think of a new approach using scancodes.

This line of work is that new approach. With this, a set of methods are exposed to convert scancodes to Keys and back.

This is a big feature that will be entirely community-driven, so I have made a tracking issue and a branch develop/2.0/community_region_specific_input which all intermediate work will go into and, when the feature is complete, will be merged in (unsquashed).

Please read these Discord messages in the Silk.NET Discord server:

Development

Milestones

Perksey commented 2 years ago

Pinging @ThomasMiz as area owner. Note that this is fully community-driven work, and will not be done by the Silk.NET team unless sponsored to do so.

@Beyley Please let me know if you want to officially put your name one or more of these items. You can do multiple items in one PR, or one PR for each item. Your choice! Thanks for help shaping this in the Discord.

Perksey commented 2 years ago

Note: 2.15 finally fixes the backend differences which technically made it so you don't need this proposal. This has always been a bug ever since 2.0 was released, but it is now fixed.