dotnet / dotnet/Silk.NET

Tracking issue for Regional Keyboard Support

Open
#737 2 comments 0 reactions 0 assignees View on GitHub
area-Input enhancement good first issue help wanted tracking issue / epic
Dominant language
C#
Stars
5.2k
Forks
477
Avg merge
3d 16h
Merged PRs (30d)
2

Description

**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](https://github.com/dotnet/Silk.NET/pull/397) 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 `Key`s 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:**
- https://discord.com/channels/521092042781229087/607634593201520651/926654719001247754
- https://discord.com/channels/521092042781229087/607634593201520651/926656904594350130
- https://discord.com/channels/521092042781229087/607634593201520651/926657474193412117
- (and possibly surrounding messages on the above)

# Development

- [ ] [Not Started] Formalize a [proposal](https://github.com/dotnet/Silk.NET/blob/main/documentation/proposals/template-proposal.md) using the [proposal process](https://github.com/dotnet/Silk.NET/blob/main/documentation/proposals/readme.md) - _(unassigned)_
- NB: this should be the only PR against the `main` branch
- [ ] [Not Started] Review proposal in a working group meeting (work can continue on the other items while this happens) - @dotnet/silk-dotnet
- [ ] [Not Started] Add new `IKeyboard` APIs and expand `Key` as necessary - _(unassigned)_
- [ ] [Not Started] Implement new `IKeyboard` APIs in GLFW - _(unassigned)_
- [ ] [Not Started] Implement new `IKeyboard` APIs in SDL - _(unassigned)_
- [ ] [Not Started] Merge `develop/2.0/community_region_specific_input` into `main` - @ThomasMiz

# Milestones
- [ ] Release with Regional Keyboard Support

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.