ZIm/crates/gpui/examples
张小白 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
..
image chore: Bump Rust edition to 2024 (#27800) 2025-03-31 20:55:27 +02:00
svg chore: Bump Rust edition to 2024 (#27800) 2025-03-31 20:55:27 +02:00
animation.rs chore: Bump Rust edition to 2024 (#27800) 2025-03-31 20:55:27 +02:00
data_table.rs chore: Bump Rust edition to 2024 (#27800) 2025-03-31 20:55:27 +02:00
drag_drop.rs gpui: Keep drag cursor style when dragging (#24797) 2025-04-10 23:54:12 +00:00
gif_viewer.rs chore: Bump Rust edition to 2024 (#27800) 2025-03-31 20:55:27 +02:00
gradient.rs chore: Bump Rust edition to 2024 (#27800) 2025-03-31 20:55:27 +02:00
hello_world.rs chore: Bump Rust edition to 2024 (#27800) 2025-03-31 20:55:27 +02:00
image_loading.rs chore: Bump Rust edition to 2024 (#27800) 2025-03-31 20:55:27 +02:00
input.rs gpui: Introduce PlatformKeyboardLayout trait for human-friendly keyboard layout names (#29049) 2025-04-19 22:23:03 +08:00
on_window_close_quit.rs chore: Bump Rust edition to 2024 (#27800) 2025-03-31 20:55:27 +02:00
opacity.rs chore: Bump Rust edition to 2024 (#27800) 2025-03-31 20:55:27 +02:00
ownership_post.rs chore: Bump Rust edition to 2024 (#27800) 2025-03-31 20:55:27 +02:00
painting.rs chore: Bump Rust edition to 2024 (#27800) 2025-03-31 20:55:27 +02:00
pattern.rs chore: Bump Rust edition to 2024 (#27800) 2025-03-31 20:55:27 +02:00
set_menus.rs chore: Bump Rust edition to 2024 (#27800) 2025-03-31 20:55:27 +02:00
shadow.rs chore: Bump Rust edition to 2024 (#27800) 2025-03-31 20:55:27 +02:00
text_layout.rs Revert buggy pr (#28554) 2025-04-10 18:58:36 -06:00
text_wrapper.rs chore: Bump Rust edition to 2024 (#27800) 2025-03-31 20:55:27 +02:00
uniform_list.rs chore: Bump Rust edition to 2024 (#27800) 2025-03-31 20:55:27 +02:00
window.rs chore: Bump Rust edition to 2024 (#27800) 2025-03-31 20:55:27 +02:00
window_positioning.rs chore: Bump Rust edition to 2024 (#27800) 2025-03-31 20:55:27 +02:00
window_shadow.rs chore: Bump Rust edition to 2024 (#27800) 2025-03-31 20:55:27 +02:00