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

    func select() {
        TISSelectInputSource(tisInputSource)

        if isCJK, let selectPreviousShortcut = InputSourceManager.getSelectPreviousShortcut() {
            // Workaround for TIS CJK layout bug:
            // when it's CJK, select nonCJK input first and then return
            if let nonCJK = InputSourceManager.nonCJKSource() {
                nonCJK.select()
                InputSourceManager.selectPrevious(shortcut: selectPreviousShortcut)
            }
        }

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

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