Community
    • Login

    [New Plugin] SurroundSelection

    Scheduled Pinned Locked Moved Notepad++ & Plugin Development
    12 Posts 5 Posters 8.0k Views 3 Watching
    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.
    • DaveyDD Offline
      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 Offline
        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 Offline
          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 Offline
            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 Offline
              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 Offline
                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 Offline
                  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 Offline
                    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 Offline
                      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 Offline
                        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

                        Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                        Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                        With your input, this post could be even better 💗

                        Register Login
                        • First post
                          Last post
                        The Community of users of the Notepad++ text editor.
                        Powered by NodeBB | Contributors