(ctl)IME // Deprecating modifierFlags conditions.
This commit is contained in:
parent
e8f84e4505
commit
ee680297de
|
@ -19,15 +19,6 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR TH
|
||||||
import Cocoa
|
import Cocoa
|
||||||
|
|
||||||
@objc public class IME: NSObject {
|
@objc public class IME: NSObject {
|
||||||
// 直接在 AppleKeyboardConverter 內使用 KeyParser 判定修飾鍵狀態的話,會出現蛇吞自己尾巴的現象。
|
|
||||||
// 所以就藉由 ctlInputMethod 的這幾個常態變數來判斷。
|
|
||||||
// 這裡不會列出全部的 modifier flags,只會列出可能會影響符號輸入的 flags、主要用於 AppleKeyboardConverter。
|
|
||||||
@objc static var isOptionPressed: Bool = false
|
|
||||||
@objc static var isShiftPressed: Bool = false
|
|
||||||
@objc static var isCapsLockOn: Bool = false
|
|
||||||
@objc static var isCommandPressed: Bool = false
|
|
||||||
@objc static var isNumericPad: Bool = false
|
|
||||||
@objc static var isFunction: Bool = false
|
|
||||||
|
|
||||||
// MARK: - Functions
|
// MARK: - Functions
|
||||||
|
|
||||||
|
|
|
@ -73,25 +73,6 @@ class ctlInputMethod: IMKInputController {
|
||||||
client.overrideKeyboard(withKeyboardNamed: isfunctionKeyboardLayout ? mgrPrefs.functionKeyboardLayout : mgrPrefs.basisKeyboardLayout)
|
client.overrideKeyboard(withKeyboardNamed: isfunctionKeyboardLayout ? mgrPrefs.functionKeyboardLayout : mgrPrefs.basisKeyboardLayout)
|
||||||
}
|
}
|
||||||
|
|
||||||
func updateModifierFlags(_ event: NSEvent!) {
|
|
||||||
// 這裡不會列出全部的 modifier flags,只會列出可能會影響符號輸入的 flags、主要用於 AppleKeyboardConverter。
|
|
||||||
IME.isShiftPressed = event.modifierFlags.intersection(.deviceIndependentFlagsMask).contains(.shift)
|
|
||||||
IME.isOptionPressed = event.modifierFlags.intersection(.deviceIndependentFlagsMask).contains(.option)
|
|
||||||
IME.isCapsLockOn = event.modifierFlags.intersection(.deviceIndependentFlagsMask).contains(.capsLock)
|
|
||||||
IME.isCommandPressed = event.modifierFlags.intersection(.deviceIndependentFlagsMask).contains(.command)
|
|
||||||
IME.isNumericPad = event.modifierFlags.intersection(.deviceIndependentFlagsMask).contains(.numericPad)
|
|
||||||
IME.isFunction = event.modifierFlags.intersection(.deviceIndependentFlagsMask).contains(.function)
|
|
||||||
}
|
|
||||||
|
|
||||||
func resetModifierFlags() {
|
|
||||||
IME.isShiftPressed = false
|
|
||||||
IME.isOptionPressed = false
|
|
||||||
IME.isCapsLockOn = false
|
|
||||||
IME.isCommandPressed = false
|
|
||||||
IME.isNumericPad = false
|
|
||||||
IME.isFunction = false
|
|
||||||
}
|
|
||||||
|
|
||||||
// MARK: - IMKInputController methods
|
// MARK: - IMKInputController methods
|
||||||
|
|
||||||
override init!(server: IMKServer!, delegate: Any!, client inputClient: Any!) {
|
override init!(server: IMKServer!, delegate: Any!, client inputClient: Any!) {
|
||||||
|
|
Loading…
Reference in New Issue