mirror of
https://github.com/Foundry376/Mailspring.git
synced 2025-02-11 09:45:24 +08:00
233 lines
5.4 KiB
Text
233 lines
5.4 KiB
Text
# Email-specific core key-mappings
|
|
# All platforms are put here to consolidate custom actions and to prevent
|
|
# duplication in 3 files.
|
|
#
|
|
# TODO let the user pick whether they want to use Gmail, Mac Mail, or
|
|
# Outlook keymappings
|
|
'body':
|
|
'c' : 'application:new-message' # Gmail
|
|
'cmd-n' : 'application:new-message' # Mac mail
|
|
'ctrl-n': 'application:new-message' # Outlook
|
|
|
|
'k' : 'application:previous-message' # Gmail
|
|
'up': 'application:previous-message' # Mac mail
|
|
|
|
'j' : 'application:next-message' # Gmail
|
|
'down': 'application:next-message' # Mac mail
|
|
|
|
'e' : 'application:archive-thread' # Gmail
|
|
'delete' : 'application:archive-thread' # Mac mail
|
|
'backspace': 'application:archive-thread' # Outlook
|
|
|
|
'r' : 'application:reply' # Gmail
|
|
'cmd-r' : 'application:reply' # Mac mail
|
|
'ctrl-r': 'application:reply' # Outlook
|
|
|
|
'a' : 'application:reply-all' # Gmail
|
|
'cmd-R' : 'application:reply-all' # Mac mail
|
|
'ctrl-R': 'application:reply-all' # Outlook
|
|
|
|
'f' : 'application:forward' # Gmail
|
|
'cmd-F' : 'application:forward' # Mac mail
|
|
'ctrl-F': 'application:forward' # Outlook
|
|
|
|
'cmd-alt-f': 'application:focus-search' # Mac mail
|
|
|
|
'cmd-D': 'application:send-message' # Mac mail
|
|
|
|
# Default cross-platform core behaviors
|
|
'left': 'core:move-left'
|
|
'right': 'core:move-right'
|
|
'enter': 'core:confirm'
|
|
'escape': 'core:cancel'
|
|
'shift-up': 'core:select-up'
|
|
'shift-down': 'core:select-down'
|
|
'shift-left': 'core:select-left'
|
|
'shift-right': 'core:select-right'
|
|
'shift-pageup': 'core:select-page-up'
|
|
'shift-pagedown': 'core:select-page-down'
|
|
'delete': 'core:delete'
|
|
'shift-delete': 'core:cut'
|
|
|
|
# Inputs are native by default.
|
|
'body input, body textarea, body *[contenteditable]':
|
|
'up': 'native!'
|
|
'left': 'native!'
|
|
'down': 'native!'
|
|
'right': 'native!'
|
|
'cmd-up': 'native!'
|
|
'cmd-left': 'native!'
|
|
'cmd-down': 'native!'
|
|
'cmd-right': 'native!'
|
|
'ctrl-up': 'native!'
|
|
'ctrl-left': 'native!'
|
|
'ctrl-down': 'native!'
|
|
'ctrl-right': 'native!'
|
|
'shift-up': 'native!'
|
|
'shift-left': 'native!'
|
|
'shift-down': 'native!'
|
|
'shift-right': 'native!'
|
|
'escape': 'native!'
|
|
'pageup': 'native!'
|
|
'pagedown': 'native!'
|
|
'shift-pageup': 'native!'
|
|
'shift-pagedown': 'native!'
|
|
'enter': 'native!'
|
|
'cmd-enter': 'native!'
|
|
'ctrl-enter': 'native!'
|
|
'shift-enter': 'native!'
|
|
'tab': 'core:focus-next'
|
|
'shift-tab': 'core:focus-previous'
|
|
'backspace': 'native!'
|
|
'shift-backspace': 'native!'
|
|
'delete': 'native!'
|
|
'shift-delete': 'native!'
|
|
'cmd-z': 'native!'
|
|
'cmd-Z': 'native!'
|
|
'cmd-x': 'native!'
|
|
'cmd-X': 'native!'
|
|
'cmd-c': 'native!'
|
|
'cmd-C': 'native!'
|
|
'cmd-v': 'native!'
|
|
'cmd-V': 'native!'
|
|
'cmd-a': 'native!'
|
|
'cmd-A': 'native!'
|
|
'ctrl-z': 'native!'
|
|
'ctrl-Z': 'native!'
|
|
'ctrl-x': 'native!'
|
|
'ctrl-X': 'native!'
|
|
'ctrl-c': 'native!'
|
|
'ctrl-C': 'native!'
|
|
'ctrl-v': 'native!'
|
|
'ctrl-V': 'native!'
|
|
'ctrl-a': 'native!'
|
|
'ctrl-A': 'native!'
|
|
'a': 'native!'
|
|
'b': 'native!'
|
|
'c': 'native!'
|
|
'd': 'native!'
|
|
'e': 'native!'
|
|
'f': 'native!'
|
|
'g': 'native!'
|
|
'h': 'native!'
|
|
'i': 'native!'
|
|
'j': 'native!'
|
|
'k': 'native!'
|
|
'l': 'native!'
|
|
'm': 'native!'
|
|
'n': 'native!'
|
|
'o': 'native!'
|
|
'p': 'native!'
|
|
'q': 'native!'
|
|
'r': 'native!'
|
|
's': 'native!'
|
|
't': 'native!'
|
|
'u': 'native!'
|
|
'v': 'native!'
|
|
'w': 'native!'
|
|
'x': 'native!'
|
|
'y': 'native!'
|
|
'z': 'native!'
|
|
'A': 'native!'
|
|
'B': 'native!'
|
|
'C': 'native!'
|
|
'D': 'native!'
|
|
'E': 'native!'
|
|
'F': 'native!'
|
|
'G': 'native!'
|
|
'H': 'native!'
|
|
'I': 'native!'
|
|
'J': 'native!'
|
|
'K': 'native!'
|
|
'L': 'native!'
|
|
'M': 'native!'
|
|
'N': 'native!'
|
|
'O': 'native!'
|
|
'P': 'native!'
|
|
'Q': 'native!'
|
|
'R': 'native!'
|
|
'S': 'native!'
|
|
'T': 'native!'
|
|
'U': 'native!'
|
|
'V': 'native!'
|
|
'W': 'native!'
|
|
'X': 'native!'
|
|
'Y': 'native!'
|
|
'Z': 'native!'
|
|
'1': 'native!'
|
|
'2': 'native!'
|
|
'3': 'native!'
|
|
'4': 'native!'
|
|
'5': 'native!'
|
|
'6': 'native!'
|
|
'7': 'native!'
|
|
'8': 'native!'
|
|
'9': 'native!'
|
|
'0': 'native!'
|
|
'~': 'native!'
|
|
'!': 'native!'
|
|
'@': 'native!'
|
|
'#': 'native!'
|
|
'$': 'native!'
|
|
'%': 'native!'
|
|
'^': 'native!'
|
|
'&': 'native!'
|
|
'*': 'native!'
|
|
'(': 'native!'
|
|
')': 'native!'
|
|
'-': 'native!'
|
|
'_': 'native!'
|
|
'=': 'native!'
|
|
'+': 'native!'
|
|
'[': 'native!'
|
|
'{': 'native!'
|
|
']': 'native!'
|
|
'}': 'native!'
|
|
'\\': 'native!'
|
|
'|': 'native!'
|
|
';': 'native!'
|
|
':': 'native!'
|
|
'\'': 'native!'
|
|
'"': 'native!'
|
|
'<': 'native!'
|
|
',': 'native!'
|
|
'>': 'native!'
|
|
'.': 'native!'
|
|
'?': 'native!'
|
|
'/': 'native!'
|
|
|
|
# For menus
|
|
'body .menu, body .menu, body .menu input':
|
|
'up': 'menu:move-up'
|
|
'down': 'menu:move-down'
|
|
'enter': 'menu:enter'
|
|
|
|
# For Popover Component
|
|
'body .popover-container':
|
|
'escape': 'popover:close'
|
|
|
|
# Tokenizing Text fields
|
|
|
|
# The default state. There's no input in the text field and there are no
|
|
# autocomplete suggestions
|
|
'.tokenizing-field input':
|
|
'backspace': 'native!'
|
|
'tab': 'native!'
|
|
',': 'native!'
|
|
|
|
'.tokenizing-field.empty input':
|
|
'backspace': 'tokenizing-field:remove'
|
|
|
|
# When we found a name to suggest
|
|
'.tokenizing-field.has-suggestions input':
|
|
',': 'tokenizing-field:add-suggestion'
|
|
'tab': 'tokenizing-field:add-suggestion'
|
|
'enter': 'tokenizing-field:add-suggestion'
|
|
'escape': 'tokenizing-field:cancel'
|
|
|
|
# When there is some text in the input field, but we have no suggestion
|
|
'.tokenizing-field:not(.has-suggestions) input':
|
|
'tab': 'native!'
|
|
',': 'tokenizing-field:add-input-value'
|
|
'enter': 'tokenizing-field:add-input-value'
|
|
'escape': 'tokenizing-field:cancel'
|