vChewing-macOS/Packages/vChewing_Shared/Sources/Shared/Protocols/InputSignalProtocol.swift

60 lines
1.9 KiB
Swift

// (c) 2022 and onwards The vChewing Project (MIT-NTL License).
// ====================
// This code is released under the MIT license (SPDX-License-Identifier: MIT)
// ... with NTL restriction stating that:
// No trademark license is granted to use the trade names, trademarks, service
// marks, or product names of Contributor, except as required to fulfill notice
// requirements defined in MIT License.
import Cocoa
import CocoaExtension
extension NSEvent: InputSignalProtocol {}
// MARK: - InputSignalProtocol
public protocol InputSignalProtocol {
var isTypingVertical: Bool { get }
var text: String { get }
var inputTextIgnoringModifiers: String? { get }
var charCode: UInt16 { get }
var keyCode: UInt16 { get }
var isFlagChanged: Bool { get }
var mainAreaNumKeyChar: String? { get }
var isASCII: Bool { get }
var isInvalid: Bool { get }
var isKeyCodeBlacklisted: Bool { get }
var isReservedKey: Bool { get }
var isNumericPadKey: Bool { get }
var isMainAreaNumKey: Bool { get }
var isShiftHold: Bool { get }
var isCommandHold: Bool { get }
var isControlHold: Bool { get }
var isControlHotKey: Bool { get }
var isOptionHold: Bool { get }
var isOptionHotKey: Bool { get }
var isCapsLockOn: Bool { get }
var isFunctionKeyHold: Bool { get }
var isNonLaptopFunctionKey: Bool { get }
var isEnter: Bool { get }
var isTab: Bool { get }
var isUp: Bool { get }
var isDown: Bool { get }
var isLeft: Bool { get }
var isRight: Bool { get }
var isPageUp: Bool { get }
var isPageDown: Bool { get }
var isSpace: Bool { get }
var isBackSpace: Bool { get }
var isEsc: Bool { get }
var isHome: Bool { get }
var isEnd: Bool { get }
var isDelete: Bool { get }
var isCursorBackward: Bool { get }
var isCursorForward: Bool { get }
var isCursorClockRight: Bool { get }
var isCursorClockLeft: Bool { get }
var isUpperCaseASCIILetterKey: Bool { get }
var isSymbolMenuPhysicalKey: Bool { get }
}