Community
    • Login

    [New Plugin] SurroundSelection

    Scheduled Pinned Locked Moved Notepad++ & Plugin Development
    12 Posts 5 Posters 6.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.
    • YaronY
      Yaron
      last edited by

      Hello dail,

      Thank you for this nice and useful feature. I appreciate your prolific great work.

      It works perfectly both with English and Hebrew keyboard layout.

      Some suggestions/questions:

      1. An option to toggle the selection surrounding would be a nice addition.
      2. Any reason only the opening characters surrounds the selection?
      3. This is related to [2]: in RTL ( { [ are the closing characters.

      Best regards.

      1 Reply Last reply Reply Quote 0
      • DaveyDD
        DaveyD
        last edited by

        Hi Dail, Awesome plugin! Thanks!
        I’ve wanted this functionality for quite a while now, I even “made” a python script to do this, only to later learn that I can’t get the keystrokes before the text is overridden… so it didn’t work. I thought to try my first plugin, but never got around to it… Now I don’t have to, thanks to you!

        I tested it on my machine - plain ol’ English - but I tested it and it worked perfectly!

        Regards,
        David

        1 Reply Last reply Reply Quote 0
        • chcgC
          chcg
          last edited by

          Could you update PluginManagers list with the new plugin if you consider it stable enough for more widespreaded usage.

          1 Reply Last reply Reply Quote 0
          • guy038G
            guy038
            last edited by guy038

            Hi, @Dail,

            I was quite eager to test your plugin, on my French configuration ! At first sight, it did not seem to work, on my N++ v7.3.3 configuration, with default plugins, except for the DSpellCheek.dll plugin !

            But, as you spoke about testing our current layout, I began to test all the keys combinations, on my French keyboard…

            I, finally, got the five equivalent keys, on a French keyboard :

            For [......]   =>           VK_OEM_4 key   =   FR Key   ° ) ]
            
            For {......}   =>   SHIFT + VK_OEM_4 key   
            
            For (......)   =>   SHIFT + VK_9     key   =   FR Key   9 ç ^
            
            For '......'   =>           VK_OEM_7 key   =   FR Key   ²
            
            For "......"   =>   SHIFT + VK_OEM_7 key
            

            @dail, to compare the US and FR keyboard layouts, just click on the two links, below :

            http://ascii-table.com/keyboard.php/103P-1

            http://ascii-table.com/keyboard.php/189

            ( BTW, I’ve never seen any French 251 keyboard layout !? )

            Any keyboard, from a world list, can be seen, at :

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


            In addition, you’ll find, in the two next posts, two lists, of my own, which recapitulate :

            • Firstly, all VK_ codes, in hexa and decimal, of all keys of a standard American keyboard

            • Secondly, all VK_ codes, in hexa and decimal, of all keys of a standard French keyboard

            I do hope that these lists may help you, somehow !

            Best Regards,

            guy038

            1 Reply Last reply Reply Quote 1
            • guy038G
              guy038
              last edited by guy038

              @dail,

              As explained, in my previous post, here is the US list of VK_codes of an US keyboard

              
              // https://msdn.microsoft.com/en-us/library/windows/desktop/dd375731(v=vs.85).aspx
              
              // http://ascii-table.com/keyboards.php
              
              
              *==================*========*=======*===================*
              |     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  |                   |
              *==================*========*=======*===================*
              

              Cheers,

              guy038

              1 Reply Last reply Reply Quote 0
              • guy038G
                guy038
                last edited by

                @dail,

                And, here is, below, the equivalent list of VK_codes, on a standard FR keyboard !

                *==================*========*=======*===================*
                |     VK Name      |  Hex   |  Dec  |      Notes        |
                *------------------*--------*-------*-------------------*
                |  VK_NULL         |  0x00  |    0  |                   |
                *==================*========*=======*===================*
                
                
                *==================*========*=======*===================*
                |  FRENCH 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  |                   |
                *------------------*--------*-------*-------------------*
                |  FRENCH keyboard   -   LEFT part   -   SECOND Row     !
                *------------------*--------*-------*-------------------*
                |  VK_OEM_7        |  0xDE  |  222  |  Key FR  '²'      |
                |  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_4        |  0xDB  |  219  |  Key FR  '° ) ]'  |
                |  VK_OEM_PLUS     |  0xBB  |  187  |  Key FR  '+ = }'  |
                |  VK_BACK         |  0x08  |    8  |                   |
                *------------------*--------*-------*-------------------*
                |  FRENCH keyboard   -   LEFT part   -   THIRD Row      |
                *------------------*--------*-------*-------------------*
                |  VK_TAB          |  0x09  |    9  |                   |
                |  VK_A            |  0x41  |   65  |                   |
                |  VK_Z            |  0x5A  |   90  |                   |
                |  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_6        |  0xDD  |  221  |  Key FR  '¨ ^'    |
                |  VK_OEM_1        |  0xBA  |  186  |  Key FR  '£ $ ¤'  |
                |  VK_RETURN       |  0x0D  |   13  |                   |
                *------------------*--------*-------*-------------------*
                |  FRENCH keyboard   -   LEFT part   -   FOURTH Row     |
                *------------------*--------*-------*-------------------*
                |  VK_CAPITAL      |  0x14  |   20  |                   |
                |  VK_Q            |  0x51  |   81  |                   |
                |  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_M            |  0x4D  |   77  |                   |
                |  VK_OEM_3        |  0xC0  |  192  |  Key FR  '% ù'    |
                |  VK_OEM_5        |  0xDC  |  220  |  Key FR  'µ *'    |
                *------------------*--------*-------*-------------------*
                |  FRENCH keyboard   -   LEFT part   -   FIFTH Row      |
                *------------------*--------*-------*-------------------*
                |  VK_SHIFT        |  0x10  |   16  |                   |
                |  VK_OEM_102      |  0xE2  |  226  |  Key FR  '> <'    |
                |  VK_W            |  0x57  |   87  |                   |
                |  VK_X            |  0x58  |   88  |                   |
                |  VK_C            |  0x43  |   67  |                   |
                |  VK_V            |  0x56  |   86  |                   |
                |  VK_B            |  0x42  |   66  |                   |
                |  VK_N            |  0x4E  |   78  |                   |
                |  VK_OEM_COMMA    |  0xBC  |  188  |  Key FR  '? ,'    |
                |  VK_OEM_PERIOD   |  0xBE  |  190  |  Key FR  '. ;'    |
                |  VK_OEM_2        |  0xBF  |  191  |  Key FR  '/ :'    |
                |  VK_OEM_8        |  0xDF  |  223  |  Key FR  '§ !'    |
                |  VK_SHIFT        |  0x10  |   16  |                   |
                *------------------*--------*-------*-------------------*
                |  FRENCH 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  |                   |
                *==================*========*=======*===================*
                
                
                *==================*========*=======*===================*
                |  FRENCH keyboard   -   MIDDLE part   -   FIRST Row    |
                *------------------*--------*-------*-------------------*
                |     VK Name      |  Hex   |  Dec  |      Notes        |
                *------------------*--------*-------*-------------------*
                |  VK_INSERT       |  0x2D  |   45  |                   |
                |  VK_HOME         |  0x24  |   36  |                   |
                |  VK_PRIOR        |  0x21  |   33  |                   |
                *------------------*--------*-------*-------------------*
                |  FRENCH keyboard   -   MIDDLE part   -   SECOND Row   |
                *------------------*--------*-------*-------------------*
                |  VK_DELETE       |  0x2E  |   46  |                   |
                |  VK_END          |  0x23  |   35  |                   |
                |  VK_NEXT         |  0x22  |   34  |                   |
                *------------------*--------*-------*-------------------*
                |  FRENCH keyboard   -   MIDDLE part   -   THIRD Row    |
                *------------------*--------*-------*-------------------*
                |  VK_UP           |  0x26  |   38  |                   |
                *------------------*--------*-------*-------------------*
                |  FRENCH keyboard   -   MIDDLE part   -   FOURTH Row   |
                *------------------*--------*-------*-------------------*
                |  VK_LEFT         |  0x25  |   37  |                   |
                |  VK_DOWN         |  0x28  |   40  |                   |
                |  VK_RIGHT        |  0x27  |   39  |                   |
                *==================*========*=======*===================*
                
                
                *==================*========*=======*===================*
                |  FRENCH 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  |                   |
                *------------------*--------*-------*-------------------*
                |  FRENCH keyboard   -   RIGHT part   -   SECOND Row    |
                *------------------*--------*-------*-------------------*
                |  VK_NUMLOCK      |  0x90  |  144  |                   |
                |  VK_DIVIDE       |  0x6F  |  111  |                   |
                |  VK_MULTIPLY     |  0x6A  |  106  |                   |
                |  VK_SUBTRACT     |  0x6D  |  109  |                   |
                *------------------*--------*-------*-------------------*
                |  FRENCH keyboard   -   RIGHT part   -   THIRD Row     |
                *------------------*--------*-------*-------------------*
                |  VK_NUMPAD7      |  0x67  |  103  |                   |
                |  VK_NUMPAD8      |  0x68  |  104  |                   |
                |  VK_NUMPAD9      |  0x69  |  105  |                   |
                |  VK_ADD          |  0x6B  |  107  |                   |
                *------------------*--------*-------*-------------------*
                |  FRENCH keyboard   -   RIGHT part   -   FOURTH Row    |
                *------------------*--------*-------*-------------------*
                |  VK_NUMPAD4      |  0x64  |  100  |                   |
                |  VK_NUMPAD5      |  0x65  |  101  |                   |
                |  VK_NUMPAD6      |  0x66  |  102  |                   |
                *------------------*--------*-------*-------------------*
                |  FRENCH keyboard   -   RIGHT part   -   FIFTH Row     |
                *------------------*--------*-------*-------------------*
                |  VK_NUMPAD1      |  0x61  |   97  |                   |
                |  VK_NUMPAD2      |  0x62  |   98  |                   |
                |  VK_NUMPAD3      |  0x63  |   99  |                   |
                *------------------*--------*-------*-------------------*
                |  FRENCH 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_MINUS    |  0xBD  |  189  |                   |
                |                  |        |       |                   |
                |  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  |                   |
                *==================*========*=======*===================*
                

                Cheers,

                guy038

                1 Reply Last reply Reply Quote 0
                • dailD
                  dail
                  last edited by

                  @Yaron

                  An option to toggle the selection surrounding would be a nice addition.

                  This has been committed now so this will be in the next release.

                  Any reason only the opening characters surrounds the selection?

                  Honestly I just did it this way since this is what SublimeText does and was waiting to see if anyone would mention it ;) But I can definitely understand how this would be a bit confusing for RTL having to type the closing characters. So this has also been pushed and will be in the next release.

                  @chcg

                  I’ll probably still wait a little while to see if there are any bugs or improvements before putting it in the PM.

                  @guy038

                  Thanks for the testing and very detailed information!

                  @ anybody

                  As I don’t have any way of easily testing other types of layouts I would be glad to accept any Pull Requests adding support for other layouts ;)

                  1 Reply Last reply Reply Quote 0
                  • YaronY
                    Yaron
                    last edited by

                    Hello dail,

                    Thank you for accepting and implementing my requests. I appreciate it.
                    I’ll be looking forward to the next version. :)

                    Best regards.

                    1 Reply Last reply Reply Quote 0
                    • dailD
                      dail
                      last edited by

                      v1.1 has been release for your typing pleasure. This release has a few minor updates:

                      • Add menu option to enable/disable plugin
                      • Allow typing of closing symbols (e.g. ), ], or })

                      Download (32 & 64bit): https://github.com/dail8859/SurroundSelection/releases/tag/v1.1

                      1 Reply Last reply Reply Quote 1
                      • YaronY
                        Yaron
                        last edited by

                        Hello dail,

                        Thank you very much for the new version. I appreciate it.
                        It’s working like a charm. Great work.

                        Best regards.

                        1 Reply Last reply Reply Quote 0
                        • guy038G
                          guy038
                          last edited by guy038

                          Hello, @dail,

                          With your new version 1.1 of your SurroundSelection.dll plugin, the equivalent keys, on my French keyboard, are, as below :

                                                      VK_OEM_4 key   =   FR Key   ° ) ]
                          For [......]   =>
                                                      VK_OEM_6 key   =   FR Key   ^ ¨
                          
                          
                          
                                              SHIFT + VK_OEM_4 key   =   FR Key   ° ) ]
                          For {......}   =>                           
                                              SHIFT + VK_OEM_6 key   =   FR Key   ^ ¨
                          
                          
                          
                                              SHIFT + VK_9     key   =   FR Key   9 ç ^
                          For (......)   =>
                                              SHIFT + VK_0     key   =   FR Key   0 à @
                          
                          
                          
                          For '......'   =>           VK_OEM_7 key   =   FR Key   ²
                          
                          
                          
                          For "......"   =>   SHIFT + VK_OEM_7 key   =   FR Key   ²
                          

                          @dail, although I’m quite able to remember these five weird French keys, is there any way to adapt your plugin to “non-English” users ?

                          May be, I’m going to tell some technical impossibilities, but why not a simple .ini file, where these five keys could be defined ?

                          Anyway, @dail, many thanks for that very handy plugin, especially, when using rectangular selection !!

                          Cheers,

                          guy038

                          1 Reply Last reply Reply Quote 0
                          • First post
                            Last post
                          The Community of users of the Notepad++ text editor.
                          Powered by NodeBB | Contributors