diff --git a/core/src/input/keyboard.rs b/core/src/input/keyboard.rs index 9b313f49..cb2861d4 100644 --- a/core/src/input/keyboard.rs +++ b/core/src/input/keyboard.rs @@ -491,6 +491,28 @@ impl KeyboardController { && (keystroke_data.key != "End") && (keystroke_data.key != "Control") && (keystroke_data.key != "Shift") + && !matches!( + keystroke_data.key.as_str(), + "F1" | "F2" + | "F3" + | "F4" + | "F5" + | "F6" + | "F7" + | "F8" + | "F9" + | "F10" + | "F11" + | "F12" + | "F13" + | "F14" + | "F15" + | "F16" + | "F17" + | "F18" + | "F19" + | "F20" + ) && (!keystroke_data.key.is_empty()) && !keystroke_data.meta && !keystroke_data.alt diff --git a/core/src/input/keyboard_macos.rs b/core/src/input/keyboard_macos.rs index 2e7dec0e..796d20bb 100644 --- a/core/src/input/keyboard_macos.rs +++ b/core/src/input/keyboard_macos.rs @@ -190,6 +190,26 @@ impl KeyboardLayoutTrait for KeyboardLayout { independent_codes.insert("Meta", 0x37); independent_codes.insert("Alt", 0x3A); independent_codes.insert("CapsLock", 0x39); + independent_codes.insert("F1", 0x7A); + independent_codes.insert("F2", 0x78); + independent_codes.insert("F3", 0x63); + independent_codes.insert("F4", 0x76); + independent_codes.insert("F5", 0x60); + independent_codes.insert("F6", 0x61); + independent_codes.insert("F7", 0x62); + independent_codes.insert("F8", 0x64); + independent_codes.insert("F9", 0x65); + independent_codes.insert("F10", 0x6D); + independent_codes.insert("F11", 0x67); + independent_codes.insert("F12", 0x6F); + independent_codes.insert("F13", 0x69); + independent_codes.insert("F14", 0x6B); + independent_codes.insert("F15", 0x71); + independent_codes.insert("F16", 0x6A); + independent_codes.insert("F17", 0x40); + independent_codes.insert("F18", 0x4F); + independent_codes.insert("F19", 0x50); + independent_codes.insert("F20", 0x5A); independent_codes } } diff --git a/core/src/window/camera_window.rs b/core/src/window/camera_window.rs index 859936bd..e4ca1435 100644 --- a/core/src/window/camera_window.rs +++ b/core/src/window/camera_window.rs @@ -848,7 +848,7 @@ impl CameraWindow { let mon_pos: winit::dpi::LogicalPosition = monitor.position().to_logical(scale); let x = mon_pos.x + mon_size.width - PIN_CORNER_WIDTH - PIN_CORNER_MARGIN; - let y = mon_pos.y; + let y = mon_pos.y + PIN_CORNER_MARGIN; let _ = self.window.request_inner_size(winit::dpi::LogicalSize::new( PIN_CORNER_WIDTH,