added support for right shift key
This commit is contained in:
parent
a7bd81e387
commit
f439911a8d
@ -30,6 +30,7 @@ class HotkeyManager: ObservableObject {
|
|||||||
isRightOptionKeyPressed = false
|
isRightOptionKeyPressed = false
|
||||||
isFnKeyPressed = false
|
isFnKeyPressed = false
|
||||||
isRightCommandKeyPressed = false
|
isRightCommandKeyPressed = false
|
||||||
|
isRightShiftKeyPressed = false
|
||||||
}
|
}
|
||||||
setupKeyMonitors()
|
setupKeyMonitors()
|
||||||
}
|
}
|
||||||
@ -40,6 +41,7 @@ class HotkeyManager: ObservableObject {
|
|||||||
isRightOptionKeyPressed = false
|
isRightOptionKeyPressed = false
|
||||||
isFnKeyPressed = false
|
isFnKeyPressed = false
|
||||||
isRightCommandKeyPressed = false
|
isRightCommandKeyPressed = false
|
||||||
|
isRightShiftKeyPressed = false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -47,6 +49,7 @@ class HotkeyManager: ObservableObject {
|
|||||||
private var isRightOptionKeyPressed = false
|
private var isRightOptionKeyPressed = false
|
||||||
private var isFnKeyPressed = false
|
private var isFnKeyPressed = false
|
||||||
private var isRightCommandKeyPressed = false
|
private var isRightCommandKeyPressed = false
|
||||||
|
private var isRightShiftKeyPressed = false
|
||||||
private var localKeyMonitor: Any?
|
private var localKeyMonitor: Any?
|
||||||
private var globalKeyMonitor: Any?
|
private var globalKeyMonitor: Any?
|
||||||
private var visibilityTask: Task<Void, Never>?
|
private var visibilityTask: Task<Void, Never>?
|
||||||
@ -59,12 +62,14 @@ class HotkeyManager: ObservableObject {
|
|||||||
case rightOption = "rightOption"
|
case rightOption = "rightOption"
|
||||||
case fn = "fn"
|
case fn = "fn"
|
||||||
case rightCommand = "rightCommand"
|
case rightCommand = "rightCommand"
|
||||||
|
case rightShift = "rightShift"
|
||||||
|
|
||||||
var displayName: String {
|
var displayName: String {
|
||||||
switch self {
|
switch self {
|
||||||
case .rightOption: return "Right Option (⌥)"
|
case .rightOption: return "Right Option (⌥)"
|
||||||
case .fn: return "Fn"
|
case .fn: return "Fn"
|
||||||
case .rightCommand: return "Right Command (⌘)"
|
case .rightCommand: return "Right Command (⌘)"
|
||||||
|
case .rightShift: return "Right Shift (⇧)"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -281,6 +286,11 @@ class HotkeyManager: ObservableObject {
|
|||||||
keyState = event.modifierFlags.contains(.command) && event.keyCode == 0x36
|
keyState = event.modifierFlags.contains(.command) && event.keyCode == 0x36
|
||||||
guard keyState != isRightCommandKeyPressed else { return }
|
guard keyState != isRightCommandKeyPressed else { return }
|
||||||
isRightCommandKeyPressed = keyState
|
isRightCommandKeyPressed = keyState
|
||||||
|
|
||||||
|
case .rightShift:
|
||||||
|
keyState = event.modifierFlags.contains(.shift) && event.keyCode == 0x3C
|
||||||
|
guard keyState != isRightShiftKeyPressed else { return }
|
||||||
|
isRightShiftKeyPressed = keyState
|
||||||
}
|
}
|
||||||
|
|
||||||
// Toggle recording based on key state
|
// Toggle recording based on key state
|
||||||
|
|||||||
@ -231,6 +231,8 @@ struct RecordView: View {
|
|||||||
keyName = "Fn"
|
keyName = "Fn"
|
||||||
case .rightCommand:
|
case .rightCommand:
|
||||||
keyName = "right Command (⌘)"
|
keyName = "right Command (⌘)"
|
||||||
|
case .rightShift:
|
||||||
|
keyName = "right Shift (⇧)"
|
||||||
}
|
}
|
||||||
|
|
||||||
let activateDescription = hotkeyManager.isPushToTalkEnabled ?
|
let activateDescription = hotkeyManager.isPushToTalkEnabled ?
|
||||||
|
|||||||
@ -204,6 +204,8 @@ struct SettingsView: View {
|
|||||||
return "Using Function (Fn) key to quickly start recording. Release to stop."
|
return "Using Function (Fn) key to quickly start recording. Release to stop."
|
||||||
case .rightCommand:
|
case .rightCommand:
|
||||||
return "Using Right Command (⌘) key to quickly start recording. Release to stop."
|
return "Using Right Command (⌘) key to quickly start recording. Release to stop."
|
||||||
|
case .rightShift:
|
||||||
|
return "Using Right Shift (⇧) key to quickly start recording. Release to stop."
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -306,6 +308,7 @@ struct PushToTalkKeySelector: View {
|
|||||||
case .rightOption: return "⌥"
|
case .rightOption: return "⌥"
|
||||||
case .fn: return "Fn"
|
case .fn: return "Fn"
|
||||||
case .rightCommand: return "⌘"
|
case .rightCommand: return "⌘"
|
||||||
|
case .rightShift: return "⇧"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -314,6 +317,7 @@ struct PushToTalkKeySelector: View {
|
|||||||
case .rightOption: return "Right Option"
|
case .rightOption: return "Right Option"
|
||||||
case .fn: return "Function"
|
case .fn: return "Function"
|
||||||
case .rightCommand: return "Right Command"
|
case .rightCommand: return "Right Command"
|
||||||
|
case .rightShift: return "Right Shift"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user