# Email-specific core key-mappings # # There are additional mappings in .cson files that bind # menu items. In the future, we should break these into files like: # darwin-gmail.cson, darwin-macmail.cson, win32-gmail.cson... 'body': 'c' : 'application:new-message' # Gmail '/' : 'application:focus-search' # Gmail 'r' : 'application:reply' # Gmail 'R' : 'application:reply-all' # Nylas Mail 'a' : 'application:reply-all' # Gmail 'f' : 'application:forward' # Gmail 'escape': 'application:pop-sheet' 'u' : 'application:pop-sheet' # Gmail 'k' : 'core:previous-item' # Gmail 'up' : 'core:previous-item' # Mac mail 'j' : 'core:next-item' # Gmail 'down' : 'core:next-item' # Mac mail ']' : 'core:remove-and-previous' # Gmail '[' : 'core:remove-and-next' # Gmail 'e' : 'core:remove-item' # Gmail 'delete' : 'core:remove-item' # Mac mail 'backspace': 'core:remove-item' # Outlook 'enter' : 'core:focus-item' 'x' : 'core:select-item' # Default cross-platform core behaviors 'left': 'core:move-left' 'right': 'core:move-right' '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. # Also make sure not to catch anything intended for a webview 'body input, body textarea, body *[contenteditable], body webview': '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!' 'backspace': 'native!' 'shift-backspace': 'native!' 'delete': 'native!' 'shift-delete': 'native!' 'cmd-y': '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!' 'cmd-b': 'native!' 'cmd-i': 'native!' 'cmd-u': 'native!' 'ctrl-y': '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!' 'ctrl-b': 'native!' 'ctrl-i': 'native!' 'ctrl-u': '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!' 'body input, body textarea, body *[contenteditable]': 'tab': 'core:focus-next' 'shift-tab': 'core:focus-previous' 'body webview': 'tab': 'native!' 'shift-tab': '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, body .popover-container input': '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!' 'delete': 'native!' 'tab': 'native!' ',': 'native!' '.tokenizing-field.empty input': 'backspace': 'tokenizing-field:remove' 'delete': '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'