34

Is there a place I can view/change global shortcut options like Command + 9 (turn into Input style)?

In particular, I need a faster way of creating bulleted lists. It's the style "Item" in the Cell context menu which doesn't have its own shortcut.

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
Yaroslav Bulatov
  • 57,332
  • 22
  • 139
  • 197

2 Answers2

34

Here is a nice article.

Also, FROM HERE (unchecked)

Question: How do I modify the front end to add new keyboard shortcuts? Answer: (mathgroup May 2005, trevor baca:)

I've been mucking around in KeyEventTranslations.tr setting up keyboard shortcuts recently and i've learned that front end tokens are pretty cool. this wolfram page gives pretty good docs.

Anyway, here are three that i had to work a little to get going (with good help from the mathgroup, as always).

  • for a quit kernel keyboard shortcut, add the following to KeyEventTranslations.tr:
       Item[KeyEvent["q", Modifiers -> {Control, Option}],
               FrontEndExecute[
                       FrontEndToken[
                                SelectedNotebook[ ],
                                "EvaluatorQuit",
                                Automatic
                       ]
               ]
       ]  

  • for an initialization cell toggle keyboard shortcut (repeated from previous thread), add the following to KeyEventTranslations.tr:
      Item[KeyEvent["i", Modifiers -> {Command, Control}],
               FrontEndExecute[
                       FrontEndToken[
                               SelectedNotebook[ ],
                               "InitializationCell",
                               "Toggle"
                       ]
               ]
       ]  
  • for a save as package keyboard shortcut, add the following to KeyEventTranslations.tr:
       Item[KeyEvent["k", Modifiers -> {Control, Option}], 
           SaveRenameSpecial["Package"]]

Edit

I found a full list of the (undocumented) front-end tokens. Hope you'll understand that these are unsupported!

{"AllWindowsFront", "BackgroundDialog", "Balance", "BringToFront",
"CellContextDialog", "CellGroup", "CellLabelsToTags", "CellMerge",
"CellSplit", "CellTagsEditDialog", "CellTagsEmpty", "CellTagsFind",
"CellUngroup", "Clear", "ClearCellOptions", "ClearNoAutoScroll",
"Close", "CloseAll", "CloseMain", "ColorSelectorDialog",
"ColorsPanel", "CompleteSelection", "Copy", "CopyCell",
"CopySpecial", "CreateCounterBoxDialog", "CreateGridBoxDialog",
"CreateHyperlinkDialog", "CreateInlineCell", "CreateValueBoxDialog",
"Cut", "CycleNotebooksBackward", "CycleNotebooksForward",
"DebuggerAbort", "DebuggerClearAllBreakpoints", "DebuggerContinue",
"DebuggerContinueToSelection", "DebuggerFinish",
"DebuggerResetProfile", "DebuggerShowProfile", "DebuggerStep",
"DebuggerStepIn", "DebuggerStepInBody", "DebuggerStepOut",
"DebuggerToggleBreakpoint", "DebuggerToggleWatchpoint",
"DeleteGeneratedCells", "DeleteIndent", "DeleteInvisible",
"DuplicatePreviousInput", "DuplicatePreviousOutput",
"EditStyleDefinitions", "EnterSubsession", "Evaluate",
"EvaluateCells", "EvaluateInitialization", "EvaluateNextCell",
"EvaluateNotebook", "EvaluatorAbort", "EvaluatorHalt",
"EvaluatorInterrupt", "EvaluatorQuit", "EvaluatorStart",
"ExitSubsession", "ExpirationDialog", "ExplainBeepDialog",
"ExplainColoringDialog", "ExpressionLinewrap", "FileNameDialog",
"FindDialog", "FindEvaluatingCell", "FindNextMisspelling",
"FindNextWarningColor", "FinishNesting", "FixCellHeight",
"FixCellWidth", "FontColorDialog", "FontFamilyB", "FontPanel",
"FontSizeDialog", "FrontEndHide", "FrontEndQuit",
"FrontEndQuitNonInteractive", "GenerateImageCaches",
"GenerateNotebook", "GeneratePalette", "GraphicsAlign",
"GraphicsCoordinatesDialog", "GraphicsOriginalSize",
"GraphicsPlotRangeAll", "GraphicsPlotRangeAutomatic",
"GraphicsPlotRangeFixed", "GraphicsRender", "Group",
"HandleShiftReturn", "HeadersFootersDialog", "HelpDialog",
"HyperlinkGo", "HyperlinkGoBack", "HyperlinkGoForward", "Import",
"ImportPictures", "ImportStyleDefinitions", "Indent",
"InsertClipPlane", "InsertMatchingBraces", "InsertMatchingBrackets",
"InsertMatchingParentheses", "InsertNewGraphic", "InsertObject",
"InsertRawExpression", "InsertSoftReturn", "LicAuthFailureDialog",
"MacintoshOpenDeskAccessory", "MenuListBoxFormFormatTypes",
"MenuListCellEvaluators", "MenuListCellTags",
"MenuListCommonDefaultFormatTypesInput",
"MenuListCommonDefaultFormatTypesInputInline",
"MenuListCommonDefaultFormatTypesOutput",
"MenuListCommonDefaultFormatTypesOutputInline",
"MenuListCommonDefaultFormatTypesText",
"MenuListCommonDefaultFormatTypesTextInline",
"MenuListConvertFormatTypes", "MenuListDisplayAsFormatTypes",
"MenuListExportClipboardSpecial", "MenuListFonts",
"MenuListFontSubstitutions", "MenuListGlobalEvaluators",
"MenuListHelpWindows", "MenuListNotebookEvaluators",
"MenuListNotebooksMenu", "MenuListPackageWindows",
"MenuListPalettesMenu", "MenuListPaletteWindows",
"MenuListPlayerWindows", "MenuListPlugInCommands",
"MenuListPrintingStyleEnvironments", "MenuListQuitEvaluators",
"MenuListRelatedFilesMenu", "MenuListSaveClipboardSpecial",
"MenuListScreenStyleEnvironments", "MenuListStartEvaluators",
"MenuListStyleDefinitions", "MenuListStyles",
"MenuListStylesheetWindows", "MenuListTextWindows",
"MenuListWindows", "ModifyBoxFormFormatTypes",
"ModifyDefaultFontProperties", "ModifyEvaluatorNames",
"ModifyFontSubstitutions", "ModifyNotebooksMenu",
"ModifyRelatedFiles", "MoveBackward", "MoveForward", "MoveToBack",
"MoveToFront", "New", "NewPackage", "NewText",
"NextFunctionTemplate", "NotebookMail", "NotebookMailSelection",
"NotebookOneNote", "NotebookOneNoteSelection",
"NotebookStatisticsDialog", "Open", "OpenCloseGroup",
"OpenFromNotebooksMenu", "OpenFromNotebooksMenuEmpty",
"OpenFromPalettesMenu", "OpenFromRelatedFilesMenu", "OpenHelpLink",
"OpenSelection", "OpenSelectionParents", "OpenURL", "OptionsDialog",
"PasswordDialog", "Paste", "PasteApply", "PasteApplyNoAutoScroll",
"PasteDiscard", "PasteDiscardNoAutoScroll", "PasteSpecial",
"PlainFont", "PreferencesDialog", "PreviousFunctionTemplate",
"PrintDialog", "PrintOptionsDialog", "PrintSelectionDialog",
"PublishToPlayer", "RebuildHelpIndex", "RecordSoundDialog",
"RefreshDynamicObjects", "RelatedFilesMenu",
"RemoveFromEvaluationQueue", "Replace", "ReplaceAll", "ReplaceFind",
"ReplaceParent", "Revert", "RunColorDialog", "RunEdgeColorDialog",
"RunFaceColorDialog", "Save", "SaveRename", "SaveRenameSpecial",
"ScrollLineDown", "ScrollLineUp", "ScrollNotebookEnd",
"ScrollNotebookStart", "ScrollPageBottom", "ScrollPageDown",
"ScrollPageFirst", "ScrollPageLast", "ScrollPageNext",
"ScrollPagePrevious", "ScrollPageTop", "ScrollPageUp",
"SelectGeneratedCells", "SelectionAnimate", "SelectionBrace",
"SelectionBracket", "SelectionCloseAllGroups",
"SelectionCloseUnselectedCells", "SelectionConvert",
"SelectionConvertB", "SelectionDisplayAs", "SelectionDisplayAsB",
"SelectionHelpDialog", "SelectionOpenAllGroups",
"SelectionParenthesize", "SelectionSaveSpecial", "SelectionScroll",
"SelectionSetFind", "SelectionSpeak", "SelectionSpeakSummary",
"SelectionUnbracket", "SelectNotebookWindow", "SetDefaultGraphic",
"SimilarCellBelow", "SoundPlay", "SpellCheckerDialog",
"StackWindows", "Style", "StyleDefinitionsOther", "StyleOther",
"SubsessionEvaluateCells", "SystemPrintOptionsDialog",
"TemplateSelection", "TestEvaluateNotebook", "TileWindowsTall",
"TileWindowsWide", "ToggleDebugFlag", "ToggleDynamicUpdating",
"ToggleGrayBox", "ToggleOptionListElement", "ToggleShowExpression",
"ToggleTestingFlag", "TrustNotebook", "Undo", "Ungroup",
"WindowMiniaturize", "XInfoDialog", "ZoomWindow"}
Dr. belisarius
  • 60,527
  • 15
  • 115
  • 190
  • 7
    +10 for kernel quit!!! I have been yearning for this for years, but it never really occurred to me that it was possible :) – Janus Nov 18 '10 at 01:31
  • Ah, hacking KeyEventTranslations.tr brings back memories of trying to get Mathematica 3 working properly on Linux... happy days. – Timo Nov 18 '10 at 06:33
  • @Yaro Tested on Winsh and works. Check the "Modifiers->" part, there is a note in the header of the keytrans file. – Dr. belisarius Nov 20 '10 at 07:14
  • perhaps the problem is a conflict with another operation. CTRL+OPTION+Q on Mac already does something similar to "Check Balance". However, it's not in .tr file, and I can't find some of the other Shorcuts showing in Edit menu in the .tr file either – Yaroslav Bulatov Nov 20 '10 at 07:30
  • @Yaro to get it working on Win, I removed the "Option" in {Control,Option}, so Ctrl+q quits the kernel – Dr. belisarius Nov 20 '10 at 07:34
  • 1
    The first two links in this response are broken. This may be a fix for one those: https://web.archive.org/web/20080608124549/http://www.lamberta.org/blog/mathematica-keybindings/ – gdelfino Jun 26 '14 at 11:03
  • Yaroslav, I didn't get it to work on Mac either. However I did get the whole process of quitting the Kernel, confirming, and starting up the Kernel again, with the keyboard shortcut to work, using a program called Keyboard Maestro which I use all the time for automating things on the Mac. If anyone is interested I can make a small screencast on post it on YouTube – Bob Ueland Nov 05 '14 at 11:54
  • `FrontEndTokenExecute` allows writing this a bit shorter. – masterxilo Apr 02 '17 at 12:53
7

The shortcuts for different types of cells are stored in the Stylesheet. Choose the style you want and change the MenuKeyCommand MenuCommandKey value. The dropdown options in the Option Inspector only allow you to use 1-9, but I tested it with "`" and "=" and they worked fine. Sometimes its easier to modify the Stylesheet using the Show Expression (Ctrl-Shift-E) rather than the Option Inspector.

telefunkenvf14
  • 1,011
  • 7
  • 19
Simon
  • 14,631
  • 4
  • 41
  • 101