diff --git a/src/os/mouse.zig b/src/os/mouse.zig index 1774399c9..fa39882c7 100644 --- a/src/os/mouse.zig +++ b/src/os/mouse.zig @@ -7,18 +7,20 @@ const log = std.log.scoped(.os); /// The system-configured double-click interval if its available. pub fn clickInterval() ?u32 { - // On macOS, we can ask the system. - if (comptime builtin.target.isDarwin()) { - const NSEvent = objc.getClass("NSEvent") orelse { - log.err("NSEvent class not found. Can't get click interval.", .{}); - return null; - }; + return switch (builtin.os.tag) { + // On macOS, we can ask the system. + .macos => macos: { + const NSEvent = objc.getClass("NSEvent") orelse { + log.err("NSEvent class not found. Can't get click interval.", .{}); + return null; + }; - // Get the interval and convert to ms - const interval = NSEvent.msgSend(f64, objc.sel("doubleClickInterval"), .{}); - const ms = @as(u32, @intFromFloat(@ceil(interval * 1000))); - return ms; - } + // Get the interval and convert to ms + const interval = NSEvent.msgSend(f64, objc.sel("doubleClickInterval"), .{}); + const ms = @as(u32, @intFromFloat(@ceil(interval * 1000))); + break :macos ms; + }, - return null; + else => null, + }; }