From 9b83c9b191e078ac9a956f8903563b4522efba00 Mon Sep 17 00:00:00 2001 From: koyama Date: Fri, 17 Sep 2021 01:52:06 +0900 Subject: [PATCH 1/6] use F14/F15 key as normalfunction key, rather than brightness down/up. --- MonitorControl/AppDelegate.swift | 3 +++ 1 file changed, 3 insertions(+) diff --git a/MonitorControl/AppDelegate.swift b/MonitorControl/AppDelegate.swift index 7b972328..e7063827 100644 --- a/MonitorControl/AppDelegate.swift +++ b/MonitorControl/AppDelegate.swift @@ -37,6 +37,9 @@ class AppDelegate: NSObject, NSApplicationDelegate { }() func applicationDidFinishLaunching(_: Notification) { + + MediaKeyTap.useAlternateBrightnessKeys = false; + app = self self.subscribeEventListeners() if NSEvent.modifierFlags.contains(NSEvent.ModifierFlags.shift) { From d670b16c58cc469a7494a1b58b55135ada57f5da Mon Sep 17 00:00:00 2001 From: koyama Date: Fri, 17 Sep 2021 02:30:27 +0900 Subject: [PATCH 2/6] Add a setting for F14 / F15 keys. --- MonitorControl/AppDelegate.swift | 6 +- MonitorControl/Info.plist | 2 +- MonitorControl/Support/Utils.swift | 3 + MonitorControl/UI/Base.lproj/Main.storyboard | 65 ++++++++++++------- .../MainPrefsViewController.swift | 17 +++++ 5 files changed, 64 insertions(+), 29 deletions(-) diff --git a/MonitorControl/AppDelegate.swift b/MonitorControl/AppDelegate.swift index e7063827..7a599149 100644 --- a/MonitorControl/AppDelegate.swift +++ b/MonitorControl/AppDelegate.swift @@ -37,9 +37,7 @@ class AppDelegate: NSObject, NSApplicationDelegate { }() func applicationDidFinishLaunching(_: Notification) { - - MediaKeyTap.useAlternateBrightnessKeys = false; - + app = self self.subscribeEventListeners() if NSEvent.modifierFlags.contains(NSEvent.ModifierFlags.shift) { @@ -57,6 +55,8 @@ class AppDelegate: NSObject, NSApplicationDelegate { self.statusItem.menu = self.statusMenu self.checkPermissions() CGDisplayRegisterReconfigurationCallback({ _, _, _ in app.displayReconfigured() }, nil) + + MediaKeyTap.useAlternateBrightnessKeys = prefs.bool(forKey: Utils.PrefKeys.altBrightnessKeys.rawValue); self.updateDisplays(firstrun: true) } diff --git a/MonitorControl/Info.plist b/MonitorControl/Info.plist index 993e52de..0718666e 100644 --- a/MonitorControl/Info.plist +++ b/MonitorControl/Info.plist @@ -19,7 +19,7 @@ CFBundleShortVersionString $(MARKETING_VERSION) CFBundleVersion - 3094 + 3103 LSApplicationCategoryType public.app-category.utilities LSMinimumSystemVersion diff --git a/MonitorControl/Support/Utils.swift b/MonitorControl/Support/Utils.swift index aec9c567..47c96c0b 100644 --- a/MonitorControl/Support/Utils.swift +++ b/MonitorControl/Support/Utils.swift @@ -92,6 +92,9 @@ class Utils: NSObject { /// Change Brightness/Volume for all screens case allScreens + /// Use F14 / F15 keys to control brightness + case altBrightnessKeys + /// Friendly name changed case friendlyName diff --git a/MonitorControl/UI/Base.lproj/Main.storyboard b/MonitorControl/UI/Base.lproj/Main.storyboard index e1544f05..4b1bf6e2 100644 --- a/MonitorControl/UI/Base.lproj/Main.storyboard +++ b/MonitorControl/UI/Base.lproj/Main.storyboard @@ -1,8 +1,8 @@ - + - + @@ -11,10 +11,10 @@ - + - + @@ -32,6 +32,7 @@ + @@ -43,7 +44,7 @@ - + @@ -53,7 +54,7 @@ + + + + @@ -325,6 +339,7 @@ + @@ -337,7 +352,7 @@ - + diff --git a/MonitorControl/View Controllers/MainPrefsViewController.swift b/MonitorControl/View Controllers/MainPrefsViewController.swift index d6e70264..56c8ed5a 100644 --- a/MonitorControl/View Controllers/MainPrefsViewController.swift +++ b/MonitorControl/View Controllers/MainPrefsViewController.swift @@ -2,6 +2,7 @@ import Cocoa import os.log import Preferences import ServiceManagement +import MediaKeyTap class MainPrefsViewController: NSViewController, PreferencePane { let preferencePaneIdentifier = Preferences.PaneIdentifier.main @@ -26,6 +27,7 @@ class MainPrefsViewController: NSViewController, PreferencePane { @IBOutlet var fallbackSw: NSButton! @IBOutlet var listenFor: NSPopUpButton! @IBOutlet var allScreens: NSButton! + @IBOutlet var altBrightnessKeys: NSButton! @IBOutlet var showAdvancedDisplays: NSButton! override func viewDidLoad() { @@ -51,6 +53,7 @@ class MainPrefsViewController: NSViewController, PreferencePane { self.fallbackSw.state = self.prefs.bool(forKey: Utils.PrefKeys.fallbackSw.rawValue) ? .on : .off self.listenFor.selectItem(at: self.prefs.integer(forKey: Utils.PrefKeys.listenFor.rawValue)) self.allScreens.state = self.prefs.bool(forKey: Utils.PrefKeys.allScreens.rawValue) ? .on : .off + self.altBrightnessKeys.state = self.prefs.bool(forKey: Utils.PrefKeys.altBrightnessKeys.rawValue) ? .on : .off; self.showAdvancedDisplays.state = self.prefs.bool(forKey: Utils.PrefKeys.showAdvancedDisplays.rawValue) ? .on : .off } @@ -68,6 +71,20 @@ class MainPrefsViewController: NSViewController, PreferencePane { #endif } + @IBAction func altBrightnessKeysTouched(_ sender: NSButton) { + switch sender.state { + case .on: + self.prefs.set(true, forKey: Utils.PrefKeys.altBrightnessKeys.rawValue) + case .off: + self.prefs.set(false, forKey: Utils.PrefKeys.altBrightnessKeys.rawValue) + default: break + } + MediaKeyTap.useAlternateBrightnessKeys = (sender.state == .on); + #if DEBUG + os_log("Toggle altBrightnessKeys state: %{public}@", type: .info, sender.state == .on ? "on" : "off") + #endif + } + @IBAction func startAtLoginClicked(_ sender: NSButton) { switch sender.state { case .on: From 62d243f40ecdf1c5b59d6e21bd238c802921c70f Mon Sep 17 00:00:00 2001 From: koyama Date: Fri, 17 Sep 2021 02:32:37 +0900 Subject: [PATCH 3/6] Fix checkbox label --- MonitorControl/UI/Base.lproj/Main.storyboard | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MonitorControl/UI/Base.lproj/Main.storyboard b/MonitorControl/UI/Base.lproj/Main.storyboard index 4b1bf6e2..4f6dd618 100644 --- a/MonitorControl/UI/Base.lproj/Main.storyboard +++ b/MonitorControl/UI/Base.lproj/Main.storyboard @@ -276,7 +276,7 @@