     let tisInputSource: TISInputSource
     let id: String
     let name: String
-    let isCJK: Bool
+    let isCJKV: Bool
 
     var icon: NSImage? = nil
 

            }
    }
    
    static func nonCJKSource() -> InputSource? {
        return inputSources.first(where: { !$0.isCJK })
    }

    static func selectPrevious(shortcut: (Int, UInt64)) {

    func select() {
        TISSelectInputSource(tisInputSource)

        if isCJKV, let selectPreviousShortcut = InputSourceManager.getSelectPreviousShortcut() {
            // Workaround for TIS CJKV layout bug:
            // when it's CJKV, select nonCJKV input first and then return
            if let nonCJKV = InputSourceManager.nonCJKVSource() {
                nonCJKV.select()
                InputSourceManager.selectPrevious(shortcut: selectPreviousShortcut)
            }
        }
