diff --git a/SwiftNeoVim/KeyUtils.swift b/SwiftNeoVim/KeyUtils.swift index 0d948fcb..cf890b8b 100644 --- a/SwiftNeoVim/KeyUtils.swift +++ b/SwiftNeoVim/KeyUtils.swift @@ -56,6 +56,7 @@ class KeyUtils { NSF33FunctionKey: "F33", NSF34FunctionKey: "F34", NSF35FunctionKey: "F35", + 0x19: "Tab", ] static func isSpecial(key: String) -> Bool { diff --git a/SwiftNeoVim/NeoVimView.swift b/SwiftNeoVim/NeoVimView.swift index af969f6a..7bb44487 100644 --- a/SwiftNeoVim/NeoVimView.swift +++ b/SwiftNeoVim/NeoVimView.swift @@ -1036,6 +1036,7 @@ extension NeoVimView: NSTextInputClient { let control = modifierFlags.contains(.control) let option = modifierFlags.contains(.option) let command = modifierFlags.contains(.command) + let shift = modifierFlags.contains(.shift) if control { result += "C-" @@ -1049,6 +1050,10 @@ extension NeoVimView: NSTextInputClient { result += "D-" } + if shift { + result += "S-" + } + if result.characters.count > 0 { return result }