From c286622839ee2590bb913bca07bf9f859bab5575 Mon Sep 17 00:00:00 2001 From: jtnunley Date: Thu, 11 May 2023 09:07:55 -0700 Subject: [PATCH 1/4] Use platform build constants --- src/platform/modifier_supplement.rs | 11 ++++------- src/platform/scancode.rs | 11 ++++------- 2 files changed, 8 insertions(+), 14 deletions(-) diff --git a/src/platform/modifier_supplement.rs b/src/platform/modifier_supplement.rs index 361ed05d04..cbb2517467 100644 --- a/src/platform/modifier_supplement.rs +++ b/src/platform/modifier_supplement.rs @@ -1,11 +1,8 @@ #![cfg(any( - target_os = "windows", - target_os = "macos", - target_os = "linux", - target_os = "dragonfly", - target_os = "freebsd", - target_os = "netbsd", - target_os = "openbsd" + windows_platform, + macos_platform, + x11_platform, + wayland_platform ))] use crate::keyboard::Key; diff --git a/src/platform/scancode.rs b/src/platform/scancode.rs index 00188c6212..915b4c7b34 100644 --- a/src/platform/scancode.rs +++ b/src/platform/scancode.rs @@ -1,11 +1,8 @@ #![cfg(any( - target_os = "windows", - target_os = "macos", - target_os = "linux", - target_os = "dragonfly", - target_os = "freebsd", - target_os = "netbsd", - target_os = "openbsd" + windows_platform, + macos_platform, + x11_platform, + wayland_platform ))] // TODO: Maybe merge this with `modifier_supplement` if the two are indeed supported on the same From 8f25af108a5c44415997f3af6b69e56acb5d1e05 Mon Sep 17 00:00:00 2001 From: jtnunley Date: Sun, 14 May 2023 11:27:19 -0700 Subject: [PATCH 2/4] Fix various CI errors --- Cargo.toml | 6 +++--- src/platform/modifier_supplement.rs | 7 +------ src/platform/scancode.rs | 7 +------ src/platform/windows.rs | 2 +- src/platform_impl/macos/view.rs | 1 - 5 files changed, 6 insertions(+), 17 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index e0a2458fcf..67cb07829c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -36,8 +36,8 @@ rustdoc-args = ["--cfg", "docsrs"] [features] default = ["x11", "wayland", "wayland-dlopen", "wayland-csd-adwaita"] -x11 = ["x11-dl", "mio", "percent-encoding", "xkbcommon-dl/x11"] -wayland = ["wayland-client", "wayland-backend", "wayland-protocols", "sctk", "fnv"] +x11 = ["x11-dl", "memmap2", "mio", "percent-encoding", "xkbcommon-dl/x11"] +wayland = ["wayland-client", "wayland-backend", "wayland-protocols", "sctk", "fnv", "memmap2"] wayland-dlopen = ["wayland-backend/dlopen"] wayland-csd-adwaita = ["sctk-adwaita", "sctk-adwaita/ab_glyph"] wayland-csd-adwaita-crossfont = ["sctk-adwaita", "sctk-adwaita/crossfont"] @@ -111,7 +111,7 @@ features = [ [target.'cfg(all(unix, not(any(target_os = "redox", target_family = "wasm", target_os = "android", target_os = "ios", target_os = "macos"))))'.dependencies] libc = "0.2.64" mio = { version = "0.8", features = ["os-ext"], optional = true } -memmap2 = { version = "0.2.1", optional = true } +memmap2 = { version = "0.5.10", optional = true } percent-encoding = { version = "2.0", optional = true } fnv = { version = "1.0.3", optional = true } sctk = { package = "smithay-client-toolkit", version = "0.17.0", optional = true } diff --git a/src/platform/modifier_supplement.rs b/src/platform/modifier_supplement.rs index cbb2517467..433846787e 100644 --- a/src/platform/modifier_supplement.rs +++ b/src/platform/modifier_supplement.rs @@ -1,9 +1,4 @@ -#![cfg(any( - windows_platform, - macos_platform, - x11_platform, - wayland_platform -))] +#![cfg(any(windows_platform, macos_platform, x11_platform, wayland_platform))] use crate::keyboard::Key; diff --git a/src/platform/scancode.rs b/src/platform/scancode.rs index 915b4c7b34..5378b48566 100644 --- a/src/platform/scancode.rs +++ b/src/platform/scancode.rs @@ -1,9 +1,4 @@ -#![cfg(any( - windows_platform, - macos_platform, - x11_platform, - wayland_platform -))] +#![cfg(any(windows_platform, macos_platform, x11_platform, wayland_platform))] // TODO: Maybe merge this with `modifier_supplement` if the two are indeed supported on the same // set of platforms diff --git a/src/platform/windows.rs b/src/platform/windows.rs index ad4ea0a331..7a27080ee6 100644 --- a/src/platform/windows.rs +++ b/src/platform/windows.rs @@ -11,7 +11,7 @@ use crate::{ keyboard::{Key, KeyCode, NativeKeyCode}, monitor::MonitorHandle, platform::{modifier_supplement::KeyEventExtModifierSupplement, scancode::KeyCodeExtScancode}, - platform_impl::{WinIcon, loword, primarylangid}, + platform_impl::{loword, primarylangid, WinIcon}, window::{BadIcon, Icon, Window, WindowBuilder}, }; diff --git a/src/platform_impl/macos/view.rs b/src/platform_impl/macos/view.rs index a12c636f26..f0a6fc178e 100644 --- a/src/platform_impl/macos/view.rs +++ b/src/platform_impl/macos/view.rs @@ -535,7 +535,6 @@ declare_class!( _ => false, }; - if !had_ime_input || self.state.forward_key_to_app { let in_ime = self.is_ime_enabled(); let key_event = create_key_event(&alt_aware_event, true, is_repeat, in_ime, None); From ef944e8c2537849f8f12c8a4b0f5bf21de3d53ad Mon Sep 17 00:00:00 2001 From: jtnunley Date: Thu, 11 May 2023 09:17:00 -0700 Subject: [PATCH 3/4] Add docs for `KeyCodeExtScancode` --- src/platform/scancode.rs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/platform/scancode.rs b/src/platform/scancode.rs index 5378b48566..962622e7af 100644 --- a/src/platform/scancode.rs +++ b/src/platform/scancode.rs @@ -5,6 +5,10 @@ use crate::keyboard::KeyCode; +/// Additional methods for the [`KeyCode`] type that allow the user to access the platform-specific +/// scancode. +/// +/// [`KeyCode`]: crate::keyboard::KeyCode pub trait KeyCodeExtScancode { /// The raw value of the platform-specific physical key identifier. /// From 2b597bc19620c9ae3df1b6fd28f2150cc384ef0a Mon Sep 17 00:00:00 2001 From: jtnunley Date: Sun, 14 May 2023 11:30:34 -0700 Subject: [PATCH 4/4] Undo wayland cargo.toml changes --- Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Cargo.toml b/Cargo.toml index 67cb07829c..b43c038ba3 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -37,7 +37,7 @@ rustdoc-args = ["--cfg", "docsrs"] [features] default = ["x11", "wayland", "wayland-dlopen", "wayland-csd-adwaita"] x11 = ["x11-dl", "memmap2", "mio", "percent-encoding", "xkbcommon-dl/x11"] -wayland = ["wayland-client", "wayland-backend", "wayland-protocols", "sctk", "fnv", "memmap2"] +wayland = ["wayland-client", "wayland-backend", "wayland-protocols", "sctk", "fnv"] wayland-dlopen = ["wayland-backend/dlopen"] wayland-csd-adwaita = ["sctk-adwaita", "sctk-adwaita/ab_glyph"] wayland-csd-adwaita-crossfont = ["sctk-adwaita", "sctk-adwaita/crossfont"]