1
0
mirror of https://github.com/Toxblh/MTMR.git synced 2026-01-11 09:28:38 +00:00

media keys implemented

This commit is contained in:
Serg 2018-04-10 18:25:03 +07:00
parent 4fb7cb9b99
commit 2750d00317
5 changed files with 17 additions and 77 deletions

View File

@ -40,17 +40,19 @@ class SupportedTypesHolder {
private var supportedTypes: [String: ParametersDecoder] = [
"escape": { _ in return (item: .staticButton(title: "esc"), action: .keyPress(keycode: 53)) },
"brightnessUp": { _ in return (item: .staticButton(title: "🔆"), action: .keyPress(keycode: 113)) },
"brightnessDown": { _ in return (item: .staticButton(title: "🔅"), action: .keyPress(keycode: 107)) },
"volumeDown": { _ in return (item: .staticButton(title: "🔉"), action: .hidKey(keycode: NX_KEYTYPE_SOUND_DOWN)) },
"volumeUp": { _ in return (item: .staticButton(title: "🔊"), action: .hidKey(keycode: NX_KEYTYPE_SOUND_UP)) },
"previous": { _ in return (item: .staticButton(title: ""), action: .hidKey(keycode: NX_KEYTYPE_PREVIOUS)) },
"play": { _ in return (item: .staticButton(title: ""), action: .hidKey(keycode: NX_KEYTYPE_PLAY)) },
"next": { _ in return (item: .staticButton(title: ""), action: .hidKey(keycode: NX_KEYTYPE_NEXT)) },
]
static let sharedInstance = SupportedTypesHolder()
func lookup(by type: String) -> ParametersDecoder {
if let extraType = supportedTypes[type] {
return extraType
} else {
return { decoder in
return (item: try ItemType(from: decoder), action: try ActionType(from: decoder))
}
return supportedTypes[type] ?? { decoder in
return (item: try ItemType(from: decoder), action: try ActionType(from: decoder))
}
}

View File

@ -29,15 +29,6 @@ extension KeyPress {
}
}
struct BrightnessUpPress: KeyPress {
let keyCode: CGKeyCode = 113
}
struct BrightnessDownPress: KeyPress {
let keyCode: CGKeyCode = 107
}
func doKey(_ key: Int, down: Bool) {
let flags = NSEvent.ModifierFlags(rawValue: down ? 0xa00 : 0xb00)
let data1 = (key << 16) | ((down ? 0xa : 0xb) << 8)

View File

@ -105,44 +105,6 @@ class TouchBarController: NSObject, NSTouchBarDelegate {
return AppleScriptTouchBarItem(identifier: identifier, appleScript: source, interval: interval)
}
switch identifier {
case .brightUp:
return CustomButtonTouchBarItem(identifier: identifier, title: "🔆", key: BrightnessUpPress())
case .brightDown:
return CustomButtonTouchBarItem(identifier: identifier, title: "🔅", key: BrightnessDownPress())
case .volumeDown:
return CustomButtonTouchBarItem(identifier: identifier, title: "🔉", HIDKeycode: NX_KEYTYPE_SOUND_DOWN)
case .volumeUp:
return CustomButtonTouchBarItem(identifier: identifier, title: "🔊", HIDKeycode: NX_KEYTYPE_SOUND_UP)
case .weather:
let url = Bundle.main.url(forResource: "weather", withExtension: "scpt")!
let script = try! String.init(contentsOf: url)
return AppleScriptTouchBarItem(identifier: identifier, appleScript: script, interval: 600)
case .sleep:
let item = NSCustomTouchBarItem(identifier: identifier)
item.view = NSButton(title: "☕️", target: self, action: #selector(goToSleep))
return item
case .prev:
return CustomButtonTouchBarItem(identifier: identifier, title: "", HIDKeycode: NX_KEYTYPE_PREVIOUS)
case .play:
return CustomButtonTouchBarItem(identifier: identifier, title: "", HIDKeycode: NX_KEYTYPE_PLAY)
case .next:
return CustomButtonTouchBarItem(identifier: identifier, title: "", HIDKeycode: NX_KEYTYPE_NEXT)
case .battery:
let url = Bundle.main.url(forResource: "battery", withExtension: "scpt")!
let script = try! String.init(contentsOf: url)
return AppleScriptTouchBarItem(identifier: identifier, appleScript: script, interval: 60)
case .time:
return TimeTouchBarItem(identifier: identifier, formatTemplate: "HH:mm")
default:
return nil
}
}

View File

@ -9,29 +9,6 @@
import Cocoa
extension NSTouchBarItem.Identifier {
static let escButton = NSTouchBarItem.Identifier("com.toxblh.mtmr.escButton")
static let dismissButton = NSTouchBarItem.Identifier("com.toxblh.mtmr.dismissButton")
// Volume
static let volumeUp = NSTouchBarItem.Identifier("com.toxblh.mtmr.volumeUp")
static let volumeDown = NSTouchBarItem.Identifier("com.toxblh.mtmr.volumeDown")
// Brightness
static let brightUp = NSTouchBarItem.Identifier("com.toxblh.mtmr.brightUp")
static let brightDown = NSTouchBarItem.Identifier("com.toxblh.mtmr.brightDown")
// Music
static let prev = NSTouchBarItem.Identifier("com.toxblh.mtmr.prev")
static let next = NSTouchBarItem.Identifier("com.toxblh.mtmr.next")
static let play = NSTouchBarItem.Identifier("com.toxblh.mtmr.play")
// Plugins
static let sleep = NSTouchBarItem.Identifier("com.toxblh.mtmr.sleep")
static let weather = NSTouchBarItem.Identifier("com.toxblh.mtmr.weather")
static let time = NSTouchBarItem.Identifier("com.toxblh.mtmr.time")
static let battery = NSTouchBarItem.Identifier("com.toxblh.mtmr.battery")
static let nowPlaying = NSTouchBarItem.Identifier("com.toxblh.mtmr.nowPlaying")
static let controlStripItem = NSTouchBarItem.Identifier("com.toxblh.mtmr.controlStrip")
}

View File

@ -1,5 +1,13 @@
[
{ "type": "escape" },
{ "type": "brightnessUp" },
{ "type": "exitTouchbar" },
{ "type": "brightnessDown" },
{ "type": "brightnessUp" },
{ "type": "volumeDown" },
{ "type": "volumeUp" },
{ "type": "previous" },
{ "type": "play" },
{ "type": "next" },
{ "type": "volumeUp" },
{ "type": "volumeUp" },
]