• Login
Community
  • Login

List of all assigned keyboard shortcuts

Scheduled Pinned Locked Moved Help wanted · · · – – – · · ·
47 Posts 17 Posters 29.3k Views
Loading More Posts
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • A
    Andreas Hagele
    last edited by Oct 21, 2016, 1:51 AM

    I’m sure this or similar questions have been asked before. I just can’t find any conclusive answer.
    Is there a way to get the WHOLE list of currently assigned keyboard shortcuts in a sorted and searchable manner?
    Even an API or a plugin for it would do. Even having all the assignments in an editor window would do. If I could iterate through it in a python code snippet would work.
    The “Shortcut mapper” is of no use. Can’t find anything there. And the lists published on the web are not reflecting my own setup.
    Are the mappings found somewhere in on /several config files one could parse?
    Surely there must be an answer for such a simple question.

    1 Reply Last reply Reply Quote 0
    • S
      Scott Sumner
      last edited by Oct 21, 2016, 2:59 PM

      I had some ideas about this at one point, so I made some notes about it.

      Here was the approach I had in mind; this is an after-the-fact design (no Notepad++ run-time awareness):

      Get needed files:

      Obtain the N++ source code and extract the following files:
      menuCmdID.h
      keys.h
      Parameters.cpp

      Use the following files from your N++ install, after you’ve configured shortcuts to your individual liking:
      shortcuts.xml (which is likely customized somewhat by you, using Shortcut Mapper, and in other ways)
      english.xml (or whatever your language of choice is)

      open menuCmdID.h
      get lines that look like this:
      #define IDM_SEARCH_VOLATILE_FINDNEXT (IDM_SEARCH + 14)
      after noting that:
      #define IDM 40000
      #define IDM_SEARCH (IDM + 3000)
      tie a number to an IDM_* string
      example:
      43014 IDM_SEARCH_VOLATILE_FINDNEXT

      open parameters.cpp
      get lines that look like this:
      {VK_F3, IDM_SEARCH_VOLATILE_FINDNEXT, true, true, false, NULL},
      tie a keycombo to an IDM_ tag
      example:
      tie “ctrl+alt+F3” to “IDM_SEARCH_VOLATILE_FINDNEXT”
      note: true,true,false in the above example corresponds to ctrl->yes, alt->yes, shift->no

      open english.xml
      get lines that look like this:
      <Item id=“43014” name=“Find (Volatile) Next”/>
      tie a number to a description
      example:
      43014 Find (Volatile) Next

      open keys.h
      get lines that look like this:
      #define VK_N 0x4E
      tie a (base) key to the number
      example:
      78 0x4E N

      at this point you would have enough information (once you put it all together) to dump out the DEFAULT key-mapping, like so:
      …
      43014 Ctrl+Alt+F3 : Find (Volatile) Next
      …

      open shortcuts.xml
      get lines that look like this:
      <Shortcut id=“43014” Ctrl=“yes” Alt=“yes” Shift=“no” Key=“78” />
      note: if a default shortcut isn’t change by the user, no entry will be found here for an id!
      tie keycombo to the id
      example:
      43014 Ctrl+Alt+N

      now you can dump out the key-mappings with overrides in place (I set my find-volatile-next to ctrl+alt+N):
      …
      43014 Ctrl+Alt+N : Find (Volatile) Next
      …

      so this is a rather simplistic(!) view of the situation, because this does not take into account:
      scintilla key mappings
      macro menu key mappings
      run menu key mappings
      plugin key mappings (very difficult indeed)
      …anything else I’ve forgotten/overlooked…

      In conclusion, this simple question does not have a simple answer. :)
      This is a difficult task, indeed!
      (unless I have missed something…always a possibility…)

      1 Reply Last reply Reply Quote 1
      • C
        cmeriaux
        last edited by Oct 21, 2016, 4:28 PM

        Try my nightly build of my shortcut branch
        https://ci.appveyor.com/project/cmeriaux/notepad-plus-plus/build/1.0.173/job/xqlj863c7703u23a/artifacts

        I added a function that export default shortcuts in a XML with many comments.
        That may almost suits your needs.

        1 Reply Last reply Reply Quote 0
        • J
          Jim Dailey
          last edited by Oct 21, 2016, 5:23 PM

          I believe the O.P wants the current hotkey settings, which are the only ones that matter. :-)

          1 Reply Last reply Reply Quote 0
          • C
            cmeriaux
            last edited by Oct 24, 2016, 6:23 AM

            actually, the created function export the complete current shortcut config.
            Try my Nightly build https://ci.appveyor.com/project/cmeriaux/notepad-plus-plus/build/1.0.192/job/8cd7rf3rjb3ye87i/artifacts

            1 Reply Last reply Reply Quote 0
            • G
              guy038
              last edited by guy038 Nov 8, 2016, 8:01 PM Nov 8, 2016, 7:48 PM

              Hello, Scott and All,

              Scott, starting from your very interesting post, about a way to gather all the default N++ shortcuts, from different N++ source files, I tried, these past days, to go on, building an ( almost ! ) exhaustive table of all the commands ( mainly, Notepad++ and Scintilla ones )

              This list, based on the last N++ v7.2 version, shows all the commands, with their existing default shortcuts, or without any default shortcut
              ( VK_NULL ) and give a way to, systematically, associate a shortcut to a command, by :

              • Using, mainly, the Shortcut Mapper program

              • Creating a macro , with an associated shortcut, when the specific wanted command is NOT available in the Shortcut Mapper


              This list is quite long : about 700 lines ! So here is, below, the very beginning and the very end of this table, ONLY !

              *------*------------*-----------------------------------------------*---------*--------*-------*---------*---------------*--------*-------*    *-------------*-------*----------------------------------------------------*---------------------------------*
              | Type |  Menu N++  |        Command Name, in N++ Menu ORDER        | Cmd Id  |  Ctrl  |  Alt  |  Shift  |   Key Name    | Key H  | Key D |    | Menu Mapper |  Num  |         Command Name, in Shortcut Mapper           |              Notes              |
              *------*------------*-----------------------------------------------*---------*--------*-------*---------*---------------*--------*-------*    *-------------*-------*----------------------------------------------------*---------------------------------*
              |      |    File    |  IDM_FILE_NEW                                 |  41001  |  Ctrl  |       |         |  VK_N         |  0x4E  |   78  |    |    Main     |    1  |  New                                               |                                 |
              |      |    File    |  IDM_FILE_OPEN                                |  41002  |  Ctrl  |       |         |  VK_O         |  0x4F  |   79  |    |    Main     |    2  |  Open                                              |                                 |
              |      |            |                                               |         |        |       |         |               |        |       |    |             |       |                                                    |                                 |
              |      |    File    |  IDM_FILE_OPEN_FOLDER                         |  41019  |        |       |         |  VK_NULL      |  0x00  |       |    |    Main     |    3  |  Explorer                                          |                                 |
              |      |    File    |  IDM_FILE_OPEN_CMD                            |  41020  |        |       |         |  VK_NULL      |  0x00  |       |    |    Main     |    4  |  cmd                                               |                                 |
              |      |            |                                               |         |        |       |         |               |        |       |    |             |       |                                                    |                                 |
              |      |    File    |  IDM_FILE_OPENFOLDERASWORSPACE                |  41022  |        |       |         |  VK_NULL      |  0x00  |       |    |    Main     |    5  |  Open Folder as Workspace...                       |                                 |
              |      |    File    |  IDM_FILE_RELOAD                              |  41014  |        |       |         |  VK_NULL      |  0x00  |       |    |    Main     |    6  |  Reload from Disk                                  |                                 |
              |      |    File    |  IDM_FILE_SAVE                                |  41006  |  Ctrl  |       |         |  VK_S         |  0x53  |   83  |    |    Main     |    7  |  Save                                              |                                 |
              |      |    File    |  IDM_FILE_SAVEAS                              |  41008  |  Ctrl  |  Alt  |         |  VK_S         |  0x53  |   83  |    |    Main     |    8  |  Save As...                                        |                                 |
              |      |    File    |  IDM_FILE_SAVECOPYAS                          |  41015  |        |       |         |  VK_NULL      |  0x00  |       |    |    Main     |    9  |  Save a Copy As...                                 |                                 |
              |      |    File    |  IDM_FILE_SAVEALL                             |  41007  |  Ctrl  |       |  Shift  |  VK_S         |  0x53  |   83  |    |    Main     |   10  |  Save All                                          |                                 |
              |      |    File    |  IDM_FILE_RENAME                              |  41017  |        |       |         |  VK_NULL      |  0x00  |       |    |    Main     |   11  |  Rename...                                         |                                 |
              |      |    File    |  IDM_FILE_CLOSE                               |  41003  |  Ctrl  |       |         |  VK_W         |  0x57  |   87  |    |    Main     |   12  |  Close                                             |                                 |
              |      |    File    |  IDM_FILE_CLOSEALL                            |  41004  |        |       |         |  VK_NULL      |  0x00  |       |    |    Main     |   13  |  Close All                                         |                                 |
              |      |            |                                               |         |        |       |         |               |        |       |    |             |       |                                                    |                                 |
              |      |    File    |  IDM_FILE_CLOSEALL_BUT_CURRENT                |  41005  |        |       |         |  VK_NULL      |  0x00  |       |    |    Main     |   14  |  Close All but Active Document                     |                                 |
              |      |    File    |  IDM_FILE_CLOSEALL_TOLEFT                     |  41009  |        |       |         |  VK_NULL      |  0x00  |       |    |    Main     |   15  |  Close All to the Left                             |                                 |
              |      |    File    |  IDM_FILE_CLOSEALL_TORIGHT                    |  41018  |        |       |         |  VK_NULL      |  0x00  |       |    |    Main     |   16  |  Close All to the Right                            |                                 |
              |      |            |                                               |         |        |       |         |               |        |       |    |             |       |                                                                                      |
              |      |    File    |  IDM_FILE_DELETE                              |  41016  |        |       |         |  VK_NULL      |  0x00  |       |    |    Main     |   17  |  Move to Recycle Bin                               |                                 |
              |      |            |                                               |         |        |       |         |               |        |       |    |             |       |                                                    |                                 |
              |      |    File    |  IDM_FILE_LOADSESSION                         |  41012  |        |       |         |  VK_NULL      |  0x00  |       |    |    Main     |   18  |  Load Session...                                   |                                 |
              |      |    File    |  IDM_FILE_SAVESESSION                         |  41013  |        |       |         |  VK_NULL      |  0x00  |       |    |    Main     |   19  |  Save Session...                                   |                                 |
              |      |            |                                               |         |        |       |         |               |        |       |    |             |       |                                                    |                                 |
              |      |    File    |  IDM_FILE_PRINT                               |  41010  |  Ctrl  |       |         |  VK_P         |  0x50  |   80  |    |    Main     |   20  |  Print...                                          |                                 |
              |      |    File    |  IDM_FILE_PRINTNOW                            |  1001   |        |       |         |  VK_NULL      |  0x00  |       |    |    Main     |   21  |  Print Now                                         |                                 |
              |      |            |                                               |         |        |       |         |               |        |       |    |             |       |                                                    |                                 |
              |      |    File    |  IDM_FILE_RESTORELASTCLOSEDFILE               |  41021  |  Ctrl  |       |  Shift  |  VK_T         |  0x54  |   84  |    |    Main     |   23  |  Restore Recent Closed File                        |                                 |
              |  MA  |    File    |  IDM_OPEN_ALL_RECENT_FILE                     |  42040  |        |       |         |  VK_NULL      |  0x00  |       |    |             |       |                                                    |                                 |
              |  MA  |    File    |  IDM_CLEAN_RECENT_FILE_LIST                   |  42041  |        |       |         |  VK_NULL      |  0x00  |       |    |             |       |                                                    |                                 |
              |      |            |                                               |         |        |       |         |               |        |       |    |             |       |                                                    |                                 |
              |      |    File    |  IDM_FILE_EXIT                                |  41011  |        |  Alt  |         |  VK_F4        |  0x73  |  115  |    |    Main     |   22  |  Exit                                              |                                 |
              
              .....................................
              .....................................
              
              |  SC  |            |                                               |   2335  |  Ctrl  |       |         |  VK_BACK      |  0x08  |   08  |    |  Scintilla  |   86  |  SCI_DELWORDLEFT                                   |                                 |
              |  SC  |            |                                               |   2336  |  Ctrl  |       |         |  VK_DELETE    |  0x2E  |   46  |    |  Scintilla  |   87  |  SCI_DELWORDRIGHT                                  |                                 |
              |  SC  |            |                                               |   2395  |  Ctrl  |       |  Shift  |  VK_BACK      |  0x08  |   08  |    |  Scintilla  |   88  |  SCI_DELLINELEFT                                   |                                 |
              |  SC  |            |                                               |   2396  |  Ctrl  |       |  Shift  |  VK_DELETE    |  0x2E  |   46  |    |  Scintilla  |   89  |  SCI_DELLINERIGHT                                  |                                 |
              |  SC  |            |                                               |   2338  |  Ctrl  |       |  Shift  |  VK_L         |  0x4C  |   76  |    |  Scintilla  |   90  |  SCI_LINEDELETE                                    |                                 |
              |  SC  |            |                                               |   2337  |  Ctrl  |       |         |  VK_L         |  0x4C  |   76  |    |  Scintilla  |   91  |  SCI_LINECUT                                       |                                 |
              |  SC  |            |                                               |   2455  |  Ctrl  |       |  Shift  |  VK_X         |  0x58  |   88  |    |  Scintilla  |   92  |  SCI_LINECOPY                                      |                                 |
              |  SC  |            |                                               |   2339  |  Ctrl  |       |         |  VK_T         |  0x54  |   84  |    |  Scintilla  |   93  |  SCI_LINETRANSPOSE                                 |                                 |
              |  SC  |            |                                               |   2404  |        |       |         |  VK_NULL      |  0x00  |       |    |  Scintilla  |   94  |  SCI_LINEDUPLICATE                                 |  IDM_EDIT_DUP_LINE              |
              |  SC  |            |                                               |   2325  |        |       |         |  VK_ESCAPE    |  0x1B  |   27  |    |  Scintilla  |   95  |  SCI_CANCEL                                        |                                 |
              |  SC  |            |                                               |   2607  |        |       |         |  VK_NULL      |  0x00  |       |    |  Scintilla  |   96  |  SCI_SWAPMAINANCHORCARET                           |                                 |
              |  SC  |            |                                               |   2606  |        |       |         |  VK_NULL      |  0x00  |       |    |  Scintilla  |   97  |  SCI_ROTATESELECTION                               |                                 |
              *------*------------*-----------------------------------------------*---------*--------*-------*---------*---------------*--------*-------*    *-------------*-------*----------------------------------------------------*---------------------------------*
              | Type |  Menu N++  |        Command Name, in N++ Menu ORDER        | Sci Id  |  Ctrl  |  Alt  |  Shift  |   Key Name    | Key H  | Key D |    | Menu Mapper |  Num  |         Command Name, in Shortcut Mapper           |              Notes              |
              *------*------------*-----------------------------------------------*---------*--------*-------*---------*---------------*--------*-------*    *-------------*-------*----------------------------------------------------*---------------------------------*
              

              So, Scott, and concerned people, if you don’t mind giving me an e-mail address, I’ll send you this file, as an attached piece ! And, please, just tell me if this file seems valuable and useful to you !

              Later, if of some interest, this file ( 177 Kb ) could be stored on Net :-) I promised you that I’ll update this file, each time a new release comes out, although I quite sure it won’t change very often !

              Ahhhhhhh ! As a post cannot be longer than 16384 characters, just go on reading my 3 following posts :-))

              guy038

              1 Reply Last reply Reply Quote 3
              • G
                guy038
                last edited by guy038 Nov 8, 2016, 8:16 PM Nov 8, 2016, 7:52 PM

                Hi, Scott and All,

                So, continuation of my previous post !

                NOTES :

                • I named this table Synthesis.cpp. By that means, in that C++ Source file, the MenuId and ScintillaID numbers, as well the the keys numbers, coloured in orange, are easy to see !

                • The first column give the different ways to associate a shortcut, to each command, in the shortcut Mapper :

                  • The notations xx and // refer to commands that produce no result or that are not used !

                  • The notations RU, PL and SC refer to usual Run, Plugins or Scintilla commands

                  • The notation MA refer to commands which can be run, via a Macro, exclusively, with an associated shortcut

                  • When, for a specific line, the Type column is EMPTY, this means that a shortcut can be associated to that command, either :

                    • by using the Shortcut Mapper

                    • by creating a Macro and its associated shortcut

                In the second table, below, for the example shortcut, associated to the Alt + F12 keys, you’ll find, depending on the Type notation, the correct line(s) to add, in the noticed Shortcut.xml node :

                *------*-----------------------*----------------------------------------------------------------------------------------------------------------------------------*
                | Type |  Shortcuts.xml NODE   |               Example of Command Syntax to use for Shortcut  Alt + VK_F12  ( 123 )                                               |
                *------*-----------------------*----------------------------------------------------------------------------------------------------------------------------------*
                |  xx  |                       |  NO Result                                                                                                                       |
                *------*-----------------------*----------------------------------------------------------------------------------------------------------------------------------*
                |  //  |                       |  NOT Used                                                                                                                        |
                *------*-----------------------*----------------------------------------------------------------------------------------------------------------------------------*
                |      |  InternalCommands     |  <Shortcut id="41022" Ctrl="no" Alt="yes" Shift="no" Key="123" />                                                                |
                |      |-----------------------*----------------------------------------------------------------------------------------------------------------------------------*
                |      |                       |  <Macro name="Open Folder as Workspace..." Ctrl="no" Alt="yes" Shift="no" Key="123">                                             |
                |      |  Macros               |      <Action type="2" message="0" wParam="41022" lParam="0" sParam="" />                                                         |
                |      |                       |  </Macro>                                                                                                                        |
                *------*-----------------------*----------------------------------------------------------------------------------------------------------------------------------*
                |      |                       |  <Macro name="Online Help" Ctrl="no" Alt="yes" Shift="no" Key="123">                                                             |
                |  MA  |  Macros               |      <Action type="2" message="0" wParam="47003" lParam="0" sParam="" />                   ( NpWiki++ Main Page )                |
                |      |                       |  </Macro>                                                                                                                        |
                *------*-----------------------*----------------------------------------------------------------------------------------------------------------------------------*
                |  RU  |  UserDefinedCommands  |  <Command name="Launch in Firefox" Ctrl="no" Alt="yes" Shift="no" Key="123">firefox &quot;$(FULL_CURRENT_PATH)&quot;</Command>   |
                *------*-----------------------*----------------------------------------------------------------------------------------------------------------------------------*
                |  PL  |  PluginCommands       |  <PluginCommand moduleName="NppConverter.dll" internalID="3" Ctrl="no" Alt="yes" Shift="no" Key="123" />                         |
                *------*-----------------------*----------------------------------------------------------------------------------------------------------------------------------*
                |  SC  |  ScintillaKeys        |  <ScintKey ScintID="2330" menuCmdID="0" Ctrl="no" Alt="yes" Shift="no" Key="123" />        ( Writes a 'Form Feed' Character )    |
                *------*-----------------------*----------------------------------------------------------------------------------------------------------------------------------*
                

                Refer, also, to the link below :

                http://docs.notepad-plus-plus.org/index.php/Editing_Configuration_Files#.3CMacros.3E

                • The second column shows the N++ menu, where each command belongs

                • The third column displays, when possible, the N++ command name, of each command, given in the same ORDER than they appear in N++ menus

                • The fourth column contains the five digits NumID of each Notepad++ command or the four digits SciID of each Scintilla command

                • The four following columns give the description of the default shortcut of each command, in Notepad++, v7.2

                • The two following columns display the hexadecimal and decimal forms of the Windows VK_ value, of the key, used in each shortcut, or the hex 0x00 value for the VK_NULL key. Note that the decimal value is the scan-code, used by the Key tag, in the shortcuts.xml file

                guy038

                1 Reply Last reply Reply Quote 3
                • G
                  guy038
                  last edited by guy038 Nov 8, 2016, 8:16 PM Nov 8, 2016, 7:55 PM

                  Hi, Scott and All,

                  So, continuation of my previous post !

                  Here is below, a third table, with the Windows Virtual Keys values, for the default US keyboard :

                  *==================*========*=======*===================*
                  |     VK Name      |  Hex   |  Dec  |      Notes        |
                  *------------------*--------*-------*-------------------*
                  |  VK_NULL         |  0x00  |    0  |                   |
                  *==================*========*=======*===================*
                  
                  
                  *==================*========*=======*===================*
                  |  US keyboard   -   LEFT part   -   FIRST Row          |
                  *------------------*--------*-------*-------------------*
                  |     VK Name      |  Hex   |  Dec  |      Notes        |
                  *------------------*--------*-------*-------------------*
                  |  VK_ESCAPE       |  0x1B  |   27  |                   |
                  |                  |        |       |                   |
                  |  VK_F1           |  0x70  |  112  |                   |
                  |  VK_F2           |  0x71  |  113  |                   |
                  |  VK_F3           |  0x72  |  114  |                   |
                  |  VK_F4           |  0x73  |  115  |                   |
                  |                  |        |       |                   |
                  |  VK_F5           |  0x74  |  116  |                   |
                  |  VK_F6           |  0x75  |  117  |                   |
                  |  VK_F7           |  0x76  |  118  |                   |
                  |  VK_F8           |  0x77  |  119  |                   |
                  |                  |        |       |                   |
                  |  VK_F9           |  0x78  |  120  |                   |
                  |  VK_F10          |  0x79  |  121  |                   |
                  |  VK_F11          |  0x7A  |  122  |                   |
                  |  VK_F12          |  0x7B  |  123  |                   |
                  *------------------*--------*-------*-------------------*
                  |  US keyboard   -   LEFT part   -   SECOND Row         !
                  *------------------*--------*-------*-------------------*
                  |  VK_OEM_3        |  0xC0  |  192  |  Key US  '~ `'    |
                  |  VK_1            |  0x31  |   49  |                   |
                  |  VK_2            |  0x32  |   50  |                   |
                  |  VK_3            |  0x33  |   51  |                   |
                  |  VK_4            |  0x34  |   52  |                   |
                  |  VK_5            |  0x35  |   53  |                   |
                  |  VK_6            |  0x36  |   54  |                   |
                  |  VK_7            |  0x37  |   55  |                   |
                  |  VK_8            |  0x38  |   56  |                   |
                  |  VK_9            |  0x39  |   57  |                   |
                  |  VK_0            |  0x30  |   48  |                   |
                  |  VK_OEM_MINUS    |  0xBD  |  189  |  Key US  '_ -'    |
                  |  VK_OEM_PLUS     |  0xBB  |  187  |  Key US  '+ ='    |
                  |  VK_BACK         |  0x08  |    8  |                   |
                  *------------------*--------*-------*-------------------*
                  |  US keyboard   -   LEFT part   -   THIRD Row          |
                  *------------------*--------*-------*-------------------*
                  |  VK_TAB          |  0x09  |    9  |                   |
                  |  VK_Q            |  0x51  |   81  |                   |
                  |  VK_W            |  0x57  |   87  |                   |
                  |  VK_E            |  0x45  |   69  |                   |
                  |  VK_R            |  0x52  |   82  |                   |
                  |  VK_T            |  0x54  |   84  |                   |
                  |  VK_Y            |  0x59  |   89  |                   |
                  |  VK_U            |  0x55  |   85  |                   |
                  |  VK_I            |  0x49  |   73  |                   |
                  |  VK_O            |  0x4F  |   79  |                   |
                  |  VK_P            |  0x50  |   80  |                   |
                  |  VK_OEM_4        |  0xDB  |  219  |  Key US  '{ ['    |
                  |  VK_OEM_6        |  0xDD  |  221  |  Key US  '} ]'    |
                  |  VK_OEM_5        |  0xDC  |  220  |  Key US  '| \'    |
                  *------------------*--------*-------*-------------------*
                  |  US keyboard   -   LEFT part   -   FOURTH Row         |
                  *------------------*--------*-------*-------------------*
                  |  VK_CAPITAL      |  0x14  |   20  |                   |
                  |  VK_A            |  0x41  |   65  |                   |
                  |  VK_S            |  0x53  |   83  |                   |
                  |  VK_D            |  0x44  |   68  |                   |
                  |  VK_F            |  0x46  |   70  |                   |
                  |  VK_G            |  0x47  |   71  |                   |
                  |  VK_H            |  0x48  |   72  |                   |
                  |  VK_J            |  0x4A  |   74  |                   |
                  |  VK_K            |  0x4B  |   75  |                   |
                  |  VK_L            |  0x4C  |   76  |                   |
                  |  VK_OEM_1        |  0xBA  |  186  |  Key US  ': ;'    |
                  |  VK_OEM_7        |  0xDE  |  222  |  Key US  '" ''    |
                  |  VK_RETURN       |  0x0D  |   13  |                   |
                  *------------------*--------*-------*-------------------*
                  |  US keyboard   -   LEFT part   -   FIFTH Row          |
                  *------------------*--------*-------*-------------------*
                  |  VK_SHIFT        |  0x10  |   16  |                   |
                  |  VK_Z            |  0x5A  |   90  |                   |
                  |  VK_X            |  0x58  |   88  |                   |
                  |  VK_C            |  0x43  |   67  |                   |
                  |  VK_V            |  0x56  |   86  |                   |
                  |  VK_B            |  0x42  |   66  |                   |
                  |  VK_N            |  0x4E  |   78  |                   |
                  |  VK_M            |  0x4D  |   77  |                   |
                  |  VK_OEM_COMMA    |  0xBC  |  188  |  Key US  '< ,'    |
                  |  VK_OEM_PERIOD   |  0xBE  |  190  |  Key US  '> .'    |
                  |  VK_OEM_2        |  0xBF  |  191  |  Key US  '? /'    |
                  |  VK_SHIFT        |  0x10  |   16  |                   |
                  *------------------*--------*-------*-------------------*
                  |  US keyboard   -   LEFT part   -   SIXTH Row          |
                  *------------------*--------*-------*-------------------*
                  |  VK_CONTROL      |  0x11  |   17  |                   |
                  |  VK_LWIN         |  0x5B  |   91  |                   |
                  |  VK_MENU         |  0x12  |   18  |                   |
                  |  VK_SPACE        |  0x20  |   32  |                   |
                  |  VK_RWIN         |  0x5C  |   92  |                   |
                  |  VK_APPS         |  0x5D  |   93  |                   |
                  |  VK_CONTROL      |  0x11  |   17  |                   |
                  *==================*========*=======*===================*
                  
                  
                  *==================*========*=======*===================*
                  |  US keyboard   -   MIDDLE part   -   FIRST Row        |
                  *------------------*--------*-------*-------------------*
                  |     VK Name      |  Hex   |  Dec  |      Notes        |
                  *------------------*--------*-------*-------------------*
                  |  VK_INSERT       |  0x2D  |   45  |                   |
                  |  VK_HOME         |  0x24  |   36  |                   |
                  |  VK_PRIOR        |  0x21  |   33  |                   |
                  *------------------*--------*-------*-------------------*
                  |  US keyboard   -   MIDDLE part   -   SECOND Row       |
                  *------------------*--------*-------*-------------------*
                  |  VK_DELETE       |  0x2E  |   46  |                   |
                  |  VK_END          |  0x23  |   35  |                   |
                  |  VK_NEXT         |  0x22  |   34  |                   |
                  *------------------*--------*-------*-------------------*
                  |  US keyboard   -   MIDDLE part   -   THIRD Row        |
                  *------------------*--------*-------*-------------------*
                  |  VK_UP           |  0x26  |   38  |                   |
                  *------------------*--------*-------*-------------------*
                  |  US keyboard   -   MIDDLE part   -   FOURTH Row       |
                  *------------------*--------*-------*-------------------*
                  |  VK_LEFT         |  0x25  |   37  |                   |
                  |  VK_DOWN         |  0x28  |   40  |                   |
                  |  VK_RIGHT        |  0x27  |   39  |                   |
                  *==================*========*=======*===================*
                  
                  
                  *==================*========*=======*===================*
                  |  US keyboard   -   RIGHT part   -   FIRST Row         |
                  *------------------*--------*-------*-------------------*
                  |     VK Name      |  Hex   |  Dec  |      Notes        |
                  *------------------*--------*-------*-------------------*
                  |  VK_SNAPSHOT     |  0x2C  |   44  |                   |
                  |  VK_SCROLL       |  0x91  |  145  |                   |
                  |  VK_PAUSE        |  0x13  |   19  |                   |
                  |  VK_ATTN         |  0xF6  |  246  |                   |
                  *------------------*--------*-------*-------------------*
                  |  US keyboard   -   RIGHT part   -   SECOND Row        |
                  *------------------*--------*-------*-------------------*
                  |  VK_NUMLOCK      |  0x90  |  144  |                   |
                  |  VK_DIVIDE       |  0x6F  |  111  |                   |
                  |  VK_MULTIPLY     |  0x6A  |  106  |                   |
                  |  VK_SUBTRACT     |  0x6D  |  109  |                   |
                  *------------------*--------*-------*-------------------*
                  |  US keyboard   -   RIGHT part   -   THIRD Row         |
                  *------------------*--------*-------*-------------------*
                  |  VK_NUMPAD7      |  0x67  |  103  |                   |
                  |  VK_NUMPAD8      |  0x68  |  104  |                   |
                  |  VK_NUMPAD9      |  0x69  |  105  |                   |
                  |  VK_ADD          |  0x6B  |  107  |                   |
                  *------------------*--------*-------*-------------------*
                  |  US keyboard   -   RIGHT part   -   FOURTH Row        |
                  *------------------*--------*-------*-------------------*
                  |  VK_NUMPAD4      |  0x64  |  100  |                   |
                  |  VK_NUMPAD5      |  0x65  |  101  |                   |
                  |  VK_NUMPAD6      |  0x66  |  102  |                   |
                  *------------------*--------*-------*-------------------*
                  |  US keyboard   -   RIGHT part   -   FIFTH Row         |
                  *------------------*--------*-------*-------------------*
                  |  VK_NUMPAD1      |  0x61  |   97  |                   |
                  |  VK_NUMPAD2      |  0x62  |   98  |                   |
                  |  VK_NUMPAD3      |  0x63  |   99  |                   |
                  *------------------*--------*-------*-------------------*
                  |  US keyboard   -   RIGHT part   -   SIXTH Row         |
                  *------------------*--------*-------*-------------------*
                  |  VK_NUMPAD0      |  0x60  |   96  |                   |
                  |  VK_DECIMAL      |  0x6E  |  110  |                   |
                  |  VK_RETURN       |  0x0D  |   13  |                   |
                  *==================*========*=======*===================*
                  
                  
                  *==================*========*=======*===================*
                  |                  OTHER Virtual Keys                   |
                  *------------------*--------*-------*-------------------*
                  |  VK_CANCEL       |  0x03  |    3  |                   |
                  |  VK_CLEAR        |  0x0C  |   12  |                   |
                  |                  |        |       |                   |
                  |  VK_KANA         |  0x15  |   21  |                   |
                  |  VK_HANGUL       |  0x15  |   21  |                   |
                  |  VK_JUNJA        |  0x17  |   23  |                   |
                  |  VK_FINAL        |  0x18  |   24  |                   |
                  |  VK_HANJA        |  0x19  |   25  |                   |
                  |  VK_KANJI        |  0x19  |   25  |                   |
                  |                  |        |       |                   |
                  |  VK_CONVERT      |  0x1C  |   28  |                   |
                  |  VK_NONCONVERT   |  0x1D  |   29  |                   |
                  |  VK_ACCEPT       |  0x1E  |   30  |                   |
                  |  VK_MODECHANGE   |  0x1F  |   31  |                   |
                  |                  |        |       |                   |
                  |  VK_SELECT       |  0x29  |   41  |                   |
                  |  VK_PRINT        |  0x2A  |   42  |                   |
                  |  VK_EXECUTE      |  0x2B  |   43  |                   |
                  |  VK_HELP         |  0x2F  |   47  |                   |
                  |                  |        |       |                   |
                  |  VK_SLEEP        |  0x5F  |   95  |                   |
                  |                  |        |       |                   |
                  |  VK_SEPARATOR    |  0x6C  |  108  |                   |
                  |                  |        |       |                   |
                  |  VK_F13          |  0x7C  |  124  |                   |
                  |  VK_F14          |  0x7D  |  125  |                   |
                  |  VK_F15          |  0x7E  |  126  |                   |
                  |  VK_F16          |  0x7F  |  127  |                   |
                  |  VK_F17          |  0x80  |  128  |                   |
                  |  VK_F18          |  0x81  |  129  |                   |
                  |  VK_F19          |  0x82  |  130  |                   |
                  |  VK_F20          |  0x83  |  131  |                   |
                  |  VK_F21          |  0x84  |  132  |                   |
                  |  VK_F22          |  0x85  |  133  |                   |
                  |  VK_F23          |  0x86  |  134  |                   |
                  |  VK_F24          |  0x87  |  135  |                   |
                  |                  |        |       |                   |
                  |  VK_OEM_8        |  0xDF  |  223  |                   |
                  |                  |        |       |                   |
                  |  VK_OEM_102      |  0xE2  |  226  |  Key US  '< >'    |
                  |  VK_OEM_RESET    |  0xE9  |  233  |                   |
                  |  VK_OEM_JUMP     |  0xEA  |  234  |                   |
                  |  VK_OEM_PA1      |  0xEB  |  235  |                   |
                  |  VK_OEM_PA2      |  0xEC  |  236  |                   |
                  |  VK_OEM_PA3      |  0xED  |  237  |                   |
                  |  VK_OEM_WSCTRL   |  0xEE  |  238  |                   |
                  |  VK_OEM_CUSEL    |  0xEF  |  239  |                   |
                  |                  |        |       |                   |
                  |  VK_OEM_ATTN     |  0xF0  |  240  |                   |
                  |  VK_OEM_FINISH   |  0xF1  |  241  |                   |
                  |  VK_OEM_COPY     |  0xF2  |  242  |                   |
                  |  VK_OEM_AUTO     |  0xF3  |  243  |                   |
                  |  VK_OEM_ENLW     |  0xF4  |  244  |                   |
                  |  VK_OEM_BACKTAB  |  0xF5  |  245  |                   |
                  |  VK_CRSEL        |  0xF7  |  247  |                   |
                  |  VK_EXSEL        |  0xF8  |  248  |                   |
                  |  VK_EREOF        |  0xF9  |  249  |                   |
                  |  VK_PLAY         |  0xFA  |  250  |                   |
                  |  VK_ZOOM         |  0xFB  |  251  |                   |
                  |  VK_NONAME       |  0xFC  |  252  |                   |
                  |  VK_PA1          |  0xFD  |  253  |                   |
                  |  VK_OEM_CLEAR    |  0xFE  |  254  |                   |
                  *==================*========*=======*===================*
                  

                  Refer, also, to the two links below :

                  https://msdn.microsoft.com/en-us/library/windows/desktop/dd375731(v=vs.85).aspx

                  http://ascii-table.com/keyboards.php

                  Then, the remaining columns refer to a table, closed to the previous one, relative to the Shortcut Mapper, itself :

                  • The 11th column notices, in which tab of the Shortcut Mapper, each command is indicated

                  • The 12th column gives the ORDER number of each command, indicated in the Shortcut Mapper

                  • The 13 column shows, when possible, the Scintilla name of each command

                  • The 14th and last column, just displays possible notes, about each command, if any

                  Remark : As this table is ordered, according to the occurring of commands in N++ menus, this same list, in the Shortcut Mapper table, may differ, in few locations, from the real list of the N++ Shortcut Mapper ( See, for instance, the set of the 8 Sort commands ! )

                  guy038

                  1 Reply Last reply Reply Quote 3
                  • G
                    guy038
                    last edited by guy038 May 22, 2019, 9:00 PM Nov 8, 2016, 7:56 PM

                    Hi, Scott and All,

                    Final post !

                    BTW, if, from that 700 lines list, you want to extract, in one go, the 191 default shortcuts, used in N++ v7.2, just perform the following S/R, in Regular expression mode, that deletes any line which does not have a VK name, ( different from VK_NULL ), inside the 8th column !

                    SEARCH (?-s)^(?=.{108}(VK_NULL |[ -])).+\R

                    REPLACE EMPTY

                    So, from that narrowed list and/or from the complete one, you should easily update the list of all your own shortcuts, shouldn’t you ?

                    Best Regards

                    guy038

                    1 Reply Last reply Reply Quote 2
                    • Macgryver JohnsonM
                      Macgryver Johnson
                      last edited by Macgryver Johnson Nov 9, 2016, 12:25 PM Nov 9, 2016, 12:24 PM

                      Hi @guy038
                      I would really like to see your list.
                      Can I get that list?
                      Thanks in advance
                      my email: macgyver204@gmail.com

                      1 Reply Last reply Reply Quote 0
                      • G
                        guy038
                        last edited by Nov 9, 2016, 7:27 PM

                        Hi, Macgryver Johnson and Scott,

                        I sent you my Synthesis.cpp file, few minutes ago, by e-mail to both of you

                        Cheers

                        guy038

                        1 Reply Last reply Reply Quote 0
                        • William RutkowskiW
                          William Rutkowski
                          last edited by Nov 12, 2016, 11:16 PM

                          https://drive.google.com/file/d/0B86nuTd5nMTKaENHcmliUC1kdnc/edit?usp=sharing

                          This comes from the Notepad++ sites homepage. Scroll down to the bottom it is the last option. Hope it helps…Peace…

                          1 Reply Last reply Reply Quote 1
                          • IvyNoI
                            IvyNo
                            last edited by May 22, 2019, 4:27 PM

                            Hi,
                            I know these posts are pretty old, but I hope I can still get the list.
                            Would you please send it to my email ivy.noname@web.de
                            Thanks a lot

                            1 Reply Last reply Reply Quote 0
                            • G
                              guy038
                              last edited by May 23, 2019, 10:21 AM

                              Hello, @IvyNo,

                              These next days, I’ll try to update the old list of Notepad++ and Scintilla commands, which I talk about in my first post of this thread, above. So, from the v7.2 version you’ll get the last v7.7 version of this file.

                              Remember that this file is, simply, a personal synthesis of some data from the 3 files Parameters.cpp, keys.h and menuCmdID.h, normally located in folder notepad-plus-plus-7.7\PowerEditor\src of the archive notepad-plus-plus-7.7.zip

                              So, please, let me a couple of days to get it right and I’ll send you this Synthesis.cpp file, as well as the default complete list of N++ v7.7 shortcuts, bye-mail ;-))

                              Best Regards,

                              guy038

                              1 Reply Last reply Reply Quote 4
                              • IvyNoI
                                IvyNo
                                last edited by May 24, 2019, 5:04 PM

                                Hi Guy038,
                                Thanks a lot for your fast answer.
                                There is no hurry, take your time, I am happy to get the list, no matter when :-)
                                Kind regards

                                1 Reply Last reply Reply Quote 0
                                • G
                                  guy038
                                  last edited by Jun 14, 2019, 10:34 AM

                                  Hi, @IvyNo,

                                  Sorry for the long delay :-( First, I spent a week on vacation for a family celebration ( at the seaside !), then I helped a friend of my wife’s for computer problems and I had to prepare for my daughter’s future move, next Saturday ! And, of course, I delved into the source files of Notapad+++ 7.7.0 !

                                  I sent you a mail, some minutes ago, with 6 attached files :

                                  • Synthesis.cpp, which recapitulates all Notepad++ 7.7.0 internal commands and corresponding Scintilla messages

                                  • SCI_list.cpp, which contains all messages and values of the ...\Scintilla\include\Scintilla.h file

                                  • Shortcuts_list.cpp, which lists all default shortcuts of Notepad++ 7.7.0

                                  and, for information :

                                  • Define_list.cpp, which recapitulates all #define statements, referring to a numeric or string value, found in all the source files

                                  • Enum_List.cpp, which contains all enumerations from the ...\Scintilla\include\Scintilla.iface file

                                  • Keys_US.cpp, which lists all the scan codes of a traditional US keyboard

                                  Note :

                                  • These .cpp files could have been renamed as simple .txt files. But, by doing so, we just take advantage of the highlighting of numerical values and strings and of the folding, due to the pair { and } :-))

                                  I just hope that you’ll find useful some part of all that stuff, anyway !

                                  Best Regards,

                                  guy038

                                  1 Reply Last reply Reply Quote 3
                                  • Дмитрий РыжовД
                                    Дмитрий Рыжов
                                    last edited by Aug 11, 2019, 6:35 PM

                                    Hi @guy038
                                    I have been looking for a similar table for a long time. Can I see the results of your labors? jang.spb@gmail.com

                                    1 Reply Last reply Reply Quote 0
                                    • EkopalypseE
                                      Ekopalypse
                                      last edited by Aug 12, 2019, 11:45 AM

                                      If I could iterate through it in a python code snippet would work

                                      Just in case some else has the same requirement

                                      import ctypes
                                      import ctypes.wintypes as wintypes
                                      
                                      user32 = ctypes.WinDLL('user32', use_last_error=True)
                                      
                                      NPP_HANDLE = user32.FindWindowW(u'Notepad++', None)
                                      
                                      MIIM_SUBMENU = 4
                                      MIIM_STRING = 64
                                      
                                      class MENUITEMINFO(ctypes.Structure):
                                          _fields_ = [ ("cbSize"       , wintypes.UINT),
                                                       ("fMask"        , wintypes.UINT),
                                                       ("fType"        , wintypes.UINT),
                                                       ("fState"       , wintypes.UINT),
                                                       ("wID"          , wintypes.UINT),
                                                       ("hSubMenu"     , wintypes.HMENU),
                                                       ("hbmpChecked"  , wintypes.HBITMAP),
                                                       ("hbmpUnchecked", wintypes.HBITMAP),
                                                       ("dwItemData"   , wintypes.LPVOID),  # ULONG_PTR
                                                       ("dwTypeData"   , wintypes.LPWSTR),
                                                       ("cch"          , wintypes.UINT),
                                                       ("hbmpItem"     , wintypes.HBITMAP),]
                                      
                                      npp_menu_handle = user32.GetMenu(NPP_HANDLE)
                                      
                                      def get_configured_shortcuts(menu_handle):
                                          menu_items = user32.GetMenuItemCount(menu_handle)
                                          for item in range(menu_items):
                                              uitem = item
                                              fByPosition = True
                                              mii = MENUITEMINFO()
                                              mii.cbSize = ctypes.sizeof(mii)
                                              mii.fMask = MIIM_STRING | MIIM_SUBMENU
                                              lpmii = ctypes.byref(mii)
                                      
                                              user32.GetMenuItemInfoW(menu_handle,
                                                                      uitem,
                                                                      fByPosition,
                                                                      lpmii)
                                      
                                              if mii.hSubMenu:
                                                  get_configured_shortcuts(mii.hSubMenu)
                                      
                                              mii.dwTypeData = ctypes.cast(ctypes.create_unicode_buffer(mii.cch+1), ctypes.c_wchar_p)
                                              mii.cch = mii.cch+1
                                              mii.cbSize = ctypes.sizeof(mii)
                                              user32.GetMenuItemInfoW(menu_handle,
                                                                   uitem,
                                                                   fByPosition,
                                                                   lpmii)
                                      
                                              if '\t' in mii.dwTypeData:
                                                  shortcuts.append(mii.dwTypeData.split('\t'))
                                      
                                      
                                      shortcuts = []
                                      for i in range(user32.GetMenuItemCount(npp_menu_handle)):
                                          submenu_handle = user32.GetSubMenu(npp_menu_handle, i)
                                          get_configured_shortcuts(submenu_handle)
                                      
                                      _max_length = len(max([x[0] for x in shortcuts], key=len))
                                      notepad.new()
                                      editor.setText('\r\n'.join(['{0:<{2}} : {1}'.format(x[0], x[1], _max_length) for x in shortcuts]))
                                      
                                      Alan KilbornA 1 Reply Last reply Aug 12, 2019, 12:34 PM Reply Quote 2
                                      • Alan KilbornA
                                        Alan Kilborn @Ekopalypse
                                        last edited by Aug 12, 2019, 12:34 PM

                                        @Ekopalypse

                                        Interesting approach to get some of the shortcuts. :)

                                        EkopalypseE 1 Reply Last reply Aug 12, 2019, 12:34 PM Reply Quote 0
                                        • EkopalypseE
                                          Ekopalypse @Alan Kilborn
                                          last edited by Aug 12, 2019, 12:34 PM

                                          @Alan-Kilborn

                                          Why some? What did I miss?

                                          Alan KilbornA 1 Reply Last reply Aug 12, 2019, 12:39 PM Reply Quote 0
                                          • First post
                                            Last post
                                          The Community of users of the Notepad++ text editor.
                                          Powered by NodeBB | Contributors