From d931ea9b4e316b71fa45822d3c6bc97aed02eee0 Mon Sep 17 00:00:00 2001 From: Econa77 Date: Sat, 9 May 2026 14:29:14 +0900 Subject: [PATCH 1/3] Update macOS deployment target to 11 --- Cartfile.resolved | 4 ++-- Example/Example.xcodeproj/project.pbxproj | 2 ++ Lib/KeyHolder.xcodeproj/project.pbxproj | 2 ++ Package.swift | 15 +++++++++------ 4 files changed, 15 insertions(+), 8 deletions(-) diff --git a/Cartfile.resolved b/Cartfile.resolved index 2e7f300..e65f1d0 100644 --- a/Cartfile.resolved +++ b/Cartfile.resolved @@ -1,2 +1,2 @@ -github "Clipy/Magnet" "v3.4.0" -github "Clipy/Sauce" "v2.4.0" +github "Clipy/Magnet" "v3.5.0" +github "Clipy/Sauce" "v2.5.0" diff --git a/Example/Example.xcodeproj/project.pbxproj b/Example/Example.xcodeproj/project.pbxproj index 28907f4..c81b7d9 100644 --- a/Example/Example.xcodeproj/project.pbxproj +++ b/Example/Example.xcodeproj/project.pbxproj @@ -346,6 +346,7 @@ COMBINE_HIDPI_IMAGES = YES; INFOPLIST_FILE = Example/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks"; + MACOSX_DEPLOYMENT_TARGET = 11.0; PRODUCT_BUNDLE_IDENTIFIER = "com.clipy-app.Example"; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_VERSION = 5.0; @@ -360,6 +361,7 @@ COMBINE_HIDPI_IMAGES = YES; INFOPLIST_FILE = Example/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks"; + MACOSX_DEPLOYMENT_TARGET = 11.0; PRODUCT_BUNDLE_IDENTIFIER = "com.clipy-app.Example"; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_VERSION = 5.0; diff --git a/Lib/KeyHolder.xcodeproj/project.pbxproj b/Lib/KeyHolder.xcodeproj/project.pbxproj index abc5f5c..3a8199a 100644 --- a/Lib/KeyHolder.xcodeproj/project.pbxproj +++ b/Lib/KeyHolder.xcodeproj/project.pbxproj @@ -424,6 +424,7 @@ INFOPLIST_FILE = KeyHolder/Info.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; + MACOSX_DEPLOYMENT_TARGET = 11.0; PRODUCT_BUNDLE_IDENTIFIER = "com.clipy-app.KeyHolder"; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; @@ -446,6 +447,7 @@ INFOPLIST_FILE = KeyHolder/Info.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; + MACOSX_DEPLOYMENT_TARGET = 11.0; PRODUCT_BUNDLE_IDENTIFIER = "com.clipy-app.KeyHolder"; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; diff --git a/Package.swift b/Package.swift index 7f582e8..a54c69c 100644 --- a/Package.swift +++ b/Package.swift @@ -1,11 +1,10 @@ -// swift-tools-version:5.1 -// The swift-tools-version declares the minimum version of Swift required to build this package. +// swift-tools-version:5.9 import PackageDescription let package = Package( name: "KeyHolder", platforms: [ - .macOS(.v10_13) + .macOS(.v11) ], products: [ .library( @@ -13,17 +12,21 @@ let package = Package( targets: ["KeyHolder"]), ], dependencies: [ - .package(url: "https://github.com/Clipy/Magnet", .upToNextMinor(from: "3.4.0")), + .package(url: "https://github.com/Clipy/Magnet", .upToNextMinor(from: "3.5.0")), ], targets: [ .target( name: "KeyHolder", dependencies: ["Magnet"], - path: "Lib/KeyHolder"), + path: "Lib/KeyHolder", + exclude: ["Info.plist"] + ), .testTarget( name: "KeyHolderTests", dependencies: ["KeyHolder"], - path: "Lib/KeyHolderTests"), + path: "Lib/KeyHolderTests", + exclude: ["Info.plist"] + ), ], swiftLanguageVersions: [.v5] ) From 40167f35182972a3959c950cfa58f746a9d51e9d Mon Sep 17 00:00:00 2001 From: Econa77 Date: Sat, 9 May 2026 14:30:20 +0900 Subject: [PATCH 2/3] Support keyboard layout aware command shortcuts --- Carthage/Checkouts/Magnet | 2 +- Carthage/Checkouts/Sauce | 2 +- Lib/KeyHolder/RecordView.swift | 10 +++++----- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/Carthage/Checkouts/Magnet b/Carthage/Checkouts/Magnet index 26d672a..c721032 160000 --- a/Carthage/Checkouts/Magnet +++ b/Carthage/Checkouts/Magnet @@ -1 +1 @@ -Subproject commit 26d672a031fd33eac94887b4e19aca0ab4761f45 +Subproject commit c721032f386a6664a234e04b98cb68823865369a diff --git a/Carthage/Checkouts/Sauce b/Carthage/Checkouts/Sauce index 8f8faba..c9ebdcf 160000 --- a/Carthage/Checkouts/Sauce +++ b/Carthage/Checkouts/Sauce @@ -1 +1 @@ -Subproject commit 8f8fabaa8509c1a653d6c2c3c87396a4c493d876 +Subproject commit c9ebdcfddb4b94da5b9a6ebd113ab385edda88c1 diff --git a/Lib/KeyHolder/RecordView.swift b/Lib/KeyHolder/RecordView.swift index 86cee04..04aefb3 100644 --- a/Lib/KeyHolder/RecordView.swift +++ b/Lib/KeyHolder/RecordView.swift @@ -208,11 +208,11 @@ open class RecordView: NSView { override open func performKeyEquivalent(with theEvent: NSEvent) -> Bool { guard isFirstResponder else { return false } - guard let key = Sauce.shared.key(for: Int(theEvent.keyCode)) else { return false } + let modifiers = theEvent.modifierFlags.carbonModifiers() + guard let key = Sauce.shared.key(for: Int(theEvent.keyCode), carbonModifiers: modifiers) else { return false } - if theEvent.modifierFlags.carbonModifiers() != 0 { - let modifiers = theEvent.modifierFlags.carbonModifiers() - guard let keyCombo = KeyCombo(key: key, carbonModifiers: modifiers) else { return false } + if modifiers != 0 { + let keyCombo = KeyCombo(key: key, carbonModifiers: modifiers) guard delegate?.recordView(self, canRecordKeyCombo: keyCombo) ?? true else { return false } self.keyCombo = keyCombo didChange?(keyCombo) @@ -220,7 +220,7 @@ open class RecordView: NSView { endRecording() return true } else if key.isFunctionKey { - guard let keyCombo = KeyCombo(key: key, cocoaModifiers: []) else { return false } + let keyCombo = KeyCombo(key: key, cocoaModifiers: []) guard delegate?.recordView(self, canRecordKeyCombo: keyCombo) ?? true else { return false } self.keyCombo = keyCombo didChange?(keyCombo) From 910847e5a3f2aabb74f7014a345b6a8e5cfe9f35 Mon Sep 17 00:00:00 2001 From: Econa77 Date: Sat, 9 May 2026 14:33:21 +0900 Subject: [PATCH 3/3] Update test target deployment settings --- Lib/KeyHolder.xcodeproj/project.pbxproj | 2 ++ Lib/KeyHolderTests/KeyHolderTests.swift | 19 +------------------ 2 files changed, 3 insertions(+), 18 deletions(-) diff --git a/Lib/KeyHolder.xcodeproj/project.pbxproj b/Lib/KeyHolder.xcodeproj/project.pbxproj index 3a8199a..a797072 100644 --- a/Lib/KeyHolder.xcodeproj/project.pbxproj +++ b/Lib/KeyHolder.xcodeproj/project.pbxproj @@ -461,6 +461,7 @@ COMBINE_HIDPI_IMAGES = YES; INFOPLIST_FILE = KeyHolderTests/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks"; + MACOSX_DEPLOYMENT_TARGET = 11.0; PRODUCT_BUNDLE_IDENTIFIER = "com.clipy-app.KeyHolderTests"; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_SWIFT3_OBJC_INFERENCE = On; @@ -474,6 +475,7 @@ COMBINE_HIDPI_IMAGES = YES; INFOPLIST_FILE = KeyHolderTests/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks"; + MACOSX_DEPLOYMENT_TARGET = 11.0; PRODUCT_BUNDLE_IDENTIFIER = "com.clipy-app.KeyHolderTests"; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_SWIFT3_OBJC_INFERENCE = On; diff --git a/Lib/KeyHolderTests/KeyHolderTests.swift b/Lib/KeyHolderTests/KeyHolderTests.swift index 9f22ff2..b4b7abb 100644 --- a/Lib/KeyHolderTests/KeyHolderTests.swift +++ b/Lib/KeyHolderTests/KeyHolderTests.swift @@ -11,21 +11,4 @@ import XCTest @testable import KeyHolder -class KeyHolderTests: XCTestCase { - - override func setUp() { - super.setUp() - } - - override func tearDown() { - super.tearDown() - } - - func testExample() {} - - func testPerformanceExample() { - self.measure { - } - } - -} +class KeyHolderTests: XCTestCase {}