ZIm/crates/zed
张小白 f0ef3110d3
gpui: Introduce PlatformKeyboardLayout trait for human-friendly keyboard layout names (#29049)
This PR adds a new `PlatformKeyboardLayout` trait with two methods:
`id(&self) -> &str` and `name(&self) -> &str`. The `id()` method returns
a unique identifier for the keyboard layout, while `name()` provides a
human-readable name. This distinction is especially important on
Windows, where the `id` and `name` can be quite different. For example,
the French layout has an `id` of `0000040C`, which is not
human-readable, whereas the `name` would simply be `French`. Currently,
the existing `keyboard_layout()` method returns what's essentially the
same as `id()` in this new design.

This PR implements the `name()` method for both Windows and macOS. On
Linux, for now, `name()` still returns the same value as `id()`.

Release Notes:

- N/A
2025-04-19 22:23:03 +08:00
..
contents Fix bundle script 2023-11-17 17:44:41 -08:00
resources macOS: Add support for external file managers to open directory in Zed (#26357) 2025-03-10 15:21:39 +05:30
src gpui: Introduce PlatformKeyboardLayout trait for human-friendly keyboard layout names (#29049) 2025-04-19 22:23:03 +08:00
build.rs call: Fix crash when screensharing on MacOS (#28784) 2025-04-15 16:36:08 +00:00
Cargo.toml Remove netcat dependency (#28920) 2025-04-16 19:46:36 -04:00
LICENSE-GPL chore: Change AGPL-licensed crates to GPL (except for collab) (#4231) 2024-01-24 00:26:58 +01:00
RELEASE_CHANNEL Restore the default release channel (#23671) 2025-01-26 09:19:24 +00:00