1. Updated Resource Submission Rules: All model & skin resource submissions must now include an in-game screenshot. This is to help speed up the moderation process and to show how the model and/or texture looks like from the in-game camera.
    Dismiss Notice
  2. DID YOU KNOW - That you can unlock new rank icons by posting on the forums or winning contests? Click here to customize your rank or read our User Rank Policy to see a list of ranks that you can unlock. Have you won a contest and still haven't received your rank award? Then please contact the administration.
    Dismiss Notice
  3. Lead your forces to battle in the 15th Techtree Contest. The call is yours, commander!
    Dismiss Notice
  4. The reforging of the races is complete. Come see the 14th Techtree Contest Results.
    Dismiss Notice
  5. It's time to choose your horse in the race - the 32nd Modeling Contest Poll is up!
    Dismiss Notice
  6. Check out the Staff job openings thread.
    Dismiss Notice
Dismiss Notice
60,000 passwords have been reset on July 8, 2019. If you cannot login, read this.

Hotkey Assignment World Editor

Discussion in 'World Editor Help Zone' started by NME Ironarrow, May 23, 2020.

Tags:
  1. NME Ironarrow

    NME Ironarrow

    Joined:
    Apr 6, 2020
    Messages:
    5
    Resources:
    0
    Resources:
    0
    Hello Everyone!
    I'm working on a map and I wanted to know if there is a way to change the hotkeys of the items in the Hero slots from Numpad1 to Q, Numpad 2 to W and so on...
    I know I can change my own settings to some custom ones but i want it to be general to all the players that are playing the map
    Thanks for the support!
     
  2. Macadamia

    Macadamia

    Joined:
    Jan 30, 2020
    Messages:
    687
    Resources:
    0
    Resources:
    0
    According to this old thread, people can do it with an external program, but that does not answer your question :
    [General] - Can I change the hotkeys of items in inventory?

    Fact is I don't think what @DracoL1ch mentions in this thread has changed with Reforged.
    As far as I can see by reading most text data files of the game, there is no way to change them directly.

    This said, there are key event natives :

    Code (vJASS):

    native BlzTriggerRegisterPlayerKeyEvent            takes trigger whichTrigger, player whichPlayer, oskeytype key, integer metaKey, boolean keyDown returns event
    native BlzGetTriggerPlayerKey                      takes nothing returns oskeytype
    native BlzGetTriggerPlayerMetaKey                  takes nothing returns integer
    native BlzGetTriggerPlayerIsKeyDown                takes nothing returns boolean
     


    And these native constants :

    Code (vJASS):

    //===================================================
    // OS Key constants
    //===================================================

        constant oskeytype              OSKEY_BACKSPACE                      = ConvertOsKeyType($08)
        constant oskeytype              OSKEY_TAB                            = ConvertOsKeyType($09)
        constant oskeytype              OSKEY_CLEAR                          = ConvertOsKeyType($0C)
        constant oskeytype              OSKEY_RETURN                         = ConvertOsKeyType($0D)
        constant oskeytype              OSKEY_SHIFT                          = ConvertOsKeyType($10)
        constant oskeytype              OSKEY_CONTROL                        = ConvertOsKeyType($11)
        constant oskeytype              OSKEY_ALT                            = ConvertOsKeyType($12)
        constant oskeytype              OSKEY_PAUSE                          = ConvertOsKeyType($13)
        constant oskeytype              OSKEY_CAPSLOCK                       = ConvertOsKeyType($14)
        constant oskeytype              OSKEY_KANA                           = ConvertOsKeyType($15)
        constant oskeytype              OSKEY_HANGUL                         = ConvertOsKeyType($15)
        constant oskeytype              OSKEY_JUNJA                          = ConvertOsKeyType($17)
        constant oskeytype              OSKEY_FINAL                          = ConvertOsKeyType($18)
        constant oskeytype              OSKEY_HANJA                          = ConvertOsKeyType($19)
        constant oskeytype              OSKEY_KANJI                          = ConvertOsKeyType($19)
        constant oskeytype              OSKEY_ESCAPE                         = ConvertOsKeyType($1B)
        constant oskeytype              OSKEY_CONVERT                        = ConvertOsKeyType($1C)
        constant oskeytype              OSKEY_NONCONVERT                     = ConvertOsKeyType($1D)
        constant oskeytype              OSKEY_ACCEPT                         = ConvertOsKeyType($1E)
        constant oskeytype              OSKEY_MODECHANGE                     = ConvertOsKeyType($1F)
        constant oskeytype              OSKEY_SPACE                          = ConvertOsKeyType($20)
        constant oskeytype              OSKEY_PAGEUP                         = ConvertOsKeyType($21)
        constant oskeytype              OSKEY_PAGEDOWN                       = ConvertOsKeyType($22)
        constant oskeytype              OSKEY_END                            = ConvertOsKeyType($23)
        constant oskeytype              OSKEY_HOME                           = ConvertOsKeyType($24)
        constant oskeytype              OSKEY_LEFT                           = ConvertOsKeyType($25)
        constant oskeytype              OSKEY_UP                             = ConvertOsKeyType($26)
        constant oskeytype              OSKEY_RIGHT                          = ConvertOsKeyType($27)
        constant oskeytype              OSKEY_DOWN                           = ConvertOsKeyType($28)
        constant oskeytype              OSKEY_SELECT                         = ConvertOsKeyType($29)
        constant oskeytype              OSKEY_PRINT                          = ConvertOsKeyType($2A)
        constant oskeytype              OSKEY_EXECUTE                        = ConvertOsKeyType($2B)
        constant oskeytype              OSKEY_PRINTSCREEN                    = ConvertOsKeyType($2C)
        constant oskeytype              OSKEY_INSERT                         = ConvertOsKeyType($2D)
        constant oskeytype              OSKEY_DELETE                         = ConvertOsKeyType($2E)
        constant oskeytype              OSKEY_HELP                           = ConvertOsKeyType($2F)
        constant oskeytype              OSKEY_0                              = ConvertOsKeyType($30)
        constant oskeytype              OSKEY_1                              = ConvertOsKeyType($31)
        constant oskeytype              OSKEY_2                              = ConvertOsKeyType($32)
        constant oskeytype              OSKEY_3                              = ConvertOsKeyType($33)
        constant oskeytype              OSKEY_4                              = ConvertOsKeyType($34)
        constant oskeytype              OSKEY_5                              = ConvertOsKeyType($35)
        constant oskeytype              OSKEY_6                              = ConvertOsKeyType($36)
        constant oskeytype              OSKEY_7                              = ConvertOsKeyType($37)
        constant oskeytype              OSKEY_8                              = ConvertOsKeyType($38)
        constant oskeytype              OSKEY_9                              = ConvertOsKeyType($39)
        constant oskeytype              OSKEY_A                              = ConvertOsKeyType($41)
        constant oskeytype              OSKEY_B                              = ConvertOsKeyType($42)
        constant oskeytype              OSKEY_C                              = ConvertOsKeyType($43)
        constant oskeytype              OSKEY_D                              = ConvertOsKeyType($44)
        constant oskeytype              OSKEY_E                              = ConvertOsKeyType($45)
        constant oskeytype              OSKEY_F                              = ConvertOsKeyType($46)
        constant oskeytype              OSKEY_G                              = ConvertOsKeyType($47)
        constant oskeytype              OSKEY_H                              = ConvertOsKeyType($48)
        constant oskeytype              OSKEY_I                              = ConvertOsKeyType($49)
        constant oskeytype              OSKEY_J                              = ConvertOsKeyType($4A)
        constant oskeytype              OSKEY_K                              = ConvertOsKeyType($4B)
        constant oskeytype              OSKEY_L                              = ConvertOsKeyType($4C)
        constant oskeytype              OSKEY_M                              = ConvertOsKeyType($4D)
        constant oskeytype              OSKEY_N                              = ConvertOsKeyType($4E)
        constant oskeytype              OSKEY_O                              = ConvertOsKeyType($4F)
        constant oskeytype              OSKEY_P                              = ConvertOsKeyType($50)
        constant oskeytype              OSKEY_Q                              = ConvertOsKeyType($51)
        constant oskeytype              OSKEY_R                              = ConvertOsKeyType($52)
        constant oskeytype              OSKEY_S                              = ConvertOsKeyType($53)
        constant oskeytype              OSKEY_T                              = ConvertOsKeyType($54)
        constant oskeytype              OSKEY_U                              = ConvertOsKeyType($55)
        constant oskeytype              OSKEY_V                              = ConvertOsKeyType($56)
        constant oskeytype              OSKEY_W                              = ConvertOsKeyType($57)
        constant oskeytype              OSKEY_X                              = ConvertOsKeyType($58)
        constant oskeytype              OSKEY_Y                              = ConvertOsKeyType($59)
        constant oskeytype              OSKEY_Z                              = ConvertOsKeyType($5A)
        constant oskeytype              OSKEY_LMETA                          = ConvertOsKeyType($5B)
        constant oskeytype              OSKEY_RMETA                          = ConvertOsKeyType($5C)
        constant oskeytype              OSKEY_APPS                           = ConvertOsKeyType($5D)
        constant oskeytype              OSKEY_SLEEP                          = ConvertOsKeyType($5F)
        constant oskeytype              OSKEY_NUMPAD0                        = ConvertOsKeyType($60)
        constant oskeytype              OSKEY_NUMPAD1                        = ConvertOsKeyType($61)
        constant oskeytype              OSKEY_NUMPAD2                        = ConvertOsKeyType($62)
        constant oskeytype              OSKEY_NUMPAD3                        = ConvertOsKeyType($63)
        constant oskeytype              OSKEY_NUMPAD4                        = ConvertOsKeyType($64)
        constant oskeytype              OSKEY_NUMPAD5                        = ConvertOsKeyType($65)
        constant oskeytype              OSKEY_NUMPAD6                        = ConvertOsKeyType($66)
        constant oskeytype              OSKEY_NUMPAD7                        = ConvertOsKeyType($67)
        constant oskeytype              OSKEY_NUMPAD8                        = ConvertOsKeyType($68)
        constant oskeytype              OSKEY_NUMPAD9                        = ConvertOsKeyType($69)
        constant oskeytype              OSKEY_MULTIPLY                       = ConvertOsKeyType($6A)
        constant oskeytype              OSKEY_ADD                            = ConvertOsKeyType($6B)
        constant oskeytype              OSKEY_SEPARATOR                      = ConvertOsKeyType($6C)
        constant oskeytype              OSKEY_SUBTRACT                       = ConvertOsKeyType($6D)
        constant oskeytype              OSKEY_DECIMAL                        = ConvertOsKeyType($6E)
        constant oskeytype              OSKEY_DIVIDE                         = ConvertOsKeyType($6F)
        constant oskeytype              OSKEY_F1                             = ConvertOsKeyType($70)
        constant oskeytype              OSKEY_F2                             = ConvertOsKeyType($71)
        constant oskeytype              OSKEY_F3                             = ConvertOsKeyType($72)
        constant oskeytype              OSKEY_F4                             = ConvertOsKeyType($73)
        constant oskeytype              OSKEY_F5                             = ConvertOsKeyType($74)
        constant oskeytype              OSKEY_F6                             = ConvertOsKeyType($75)
        constant oskeytype              OSKEY_F7                             = ConvertOsKeyType($76)
        constant oskeytype              OSKEY_F8                             = ConvertOsKeyType($77)
        constant oskeytype              OSKEY_F9                             = ConvertOsKeyType($78)
        constant oskeytype              OSKEY_F10                            = ConvertOsKeyType($79)
        constant oskeytype              OSKEY_F11                            = ConvertOsKeyType($7A)
        constant oskeytype              OSKEY_F12                            = ConvertOsKeyType($7B)
        constant oskeytype              OSKEY_F13                            = ConvertOsKeyType($7C)
        constant oskeytype              OSKEY_F14                            = ConvertOsKeyType($7D)
        constant oskeytype              OSKEY_F15                            = ConvertOsKeyType($7E)
        constant oskeytype              OSKEY_F16                            = ConvertOsKeyType($7F)
        constant oskeytype              OSKEY_F17                            = ConvertOsKeyType($80)
        constant oskeytype              OSKEY_F18                            = ConvertOsKeyType($81)
        constant oskeytype              OSKEY_F19                            = ConvertOsKeyType($82)
        constant oskeytype              OSKEY_F20                            = ConvertOsKeyType($83)
        constant oskeytype              OSKEY_F21                            = ConvertOsKeyType($84)
        constant oskeytype              OSKEY_F22                            = ConvertOsKeyType($85)
        constant oskeytype              OSKEY_F23                            = ConvertOsKeyType($86)
        constant oskeytype              OSKEY_F24                            = ConvertOsKeyType($87)
        constant oskeytype              OSKEY_NUMLOCK                        = ConvertOsKeyType($90)
        constant oskeytype              OSKEY_SCROLLLOCK                     = ConvertOsKeyType($91)
        constant oskeytype              OSKEY_OEM_NEC_EQUAL                  = ConvertOsKeyType($92)
        constant oskeytype              OSKEY_OEM_FJ_JISHO                   = ConvertOsKeyType($92)
        constant oskeytype              OSKEY_OEM_FJ_MASSHOU                 = ConvertOsKeyType($93)
        constant oskeytype              OSKEY_OEM_FJ_TOUROKU                 = ConvertOsKeyType($94)
        constant oskeytype              OSKEY_OEM_FJ_LOYA                    = ConvertOsKeyType($95)
        constant oskeytype              OSKEY_OEM_FJ_ROYA                    = ConvertOsKeyType($96)
        constant oskeytype              OSKEY_LSHIFT                         = ConvertOsKeyType($A0)
        constant oskeytype              OSKEY_RSHIFT                         = ConvertOsKeyType($A1)
        constant oskeytype              OSKEY_LCONTROL                       = ConvertOsKeyType($A2)
        constant oskeytype              OSKEY_RCONTROL                       = ConvertOsKeyType($A3)
        constant oskeytype              OSKEY_LALT                           = ConvertOsKeyType($A4)
        constant oskeytype              OSKEY_RALT                           = ConvertOsKeyType($A5)
        constant oskeytype              OSKEY_BROWSER_BACK                   = ConvertOsKeyType($A6)
        constant oskeytype              OSKEY_BROWSER_FORWARD                = ConvertOsKeyType($A7)
        constant oskeytype              OSKEY_BROWSER_REFRESH                = ConvertOsKeyType($A8)
        constant oskeytype              OSKEY_BROWSER_STOP                   = ConvertOsKeyType($A9)
        constant oskeytype              OSKEY_BROWSER_SEARCH                 = ConvertOsKeyType($AA)
        constant oskeytype              OSKEY_BROWSER_FAVORITES              = ConvertOsKeyType($AB)
        constant oskeytype              OSKEY_BROWSER_HOME                   = ConvertOsKeyType($AC)
        constant oskeytype              OSKEY_VOLUME_MUTE                    = ConvertOsKeyType($AD)
        constant oskeytype              OSKEY_VOLUME_DOWN                    = ConvertOsKeyType($AE)
        constant oskeytype              OSKEY_VOLUME_UP                      = ConvertOsKeyType($AF)
        constant oskeytype              OSKEY_MEDIA_NEXT_TRACK               = ConvertOsKeyType($B0)
        constant oskeytype              OSKEY_MEDIA_PREV_TRACK               = ConvertOsKeyType($B1)
        constant oskeytype              OSKEY_MEDIA_STOP                     = ConvertOsKeyType($B2)
        constant oskeytype              OSKEY_MEDIA_PLAY_PAUSE               = ConvertOsKeyType($B3)
        constant oskeytype              OSKEY_LAUNCH_MAIL                    = ConvertOsKeyType($B4)
        constant oskeytype              OSKEY_LAUNCH_MEDIA_SELECT            = ConvertOsKeyType($B5)
        constant oskeytype              OSKEY_LAUNCH_APP1                    = ConvertOsKeyType($B6)
        constant oskeytype              OSKEY_LAUNCH_APP2                    = ConvertOsKeyType($B7)
        constant oskeytype              OSKEY_OEM_1                          = ConvertOsKeyType($BA)
        constant oskeytype              OSKEY_OEM_PLUS                       = ConvertOsKeyType($BB)
        constant oskeytype              OSKEY_OEM_COMMA                      = ConvertOsKeyType($BC)
        constant oskeytype              OSKEY_OEM_MINUS                      = ConvertOsKeyType($BD)
        constant oskeytype              OSKEY_OEM_PERIOD                     = ConvertOsKeyType($BE)
        constant oskeytype              OSKEY_OEM_2                          = ConvertOsKeyType($BF)
        constant oskeytype              OSKEY_OEM_3                          = ConvertOsKeyType($C0)
        constant oskeytype              OSKEY_OEM_4                          = ConvertOsKeyType($DB)
        constant oskeytype              OSKEY_OEM_5                          = ConvertOsKeyType($DC)
        constant oskeytype              OSKEY_OEM_6                          = ConvertOsKeyType($DD)
        constant oskeytype              OSKEY_OEM_7                          = ConvertOsKeyType($DE)
        constant oskeytype              OSKEY_OEM_8                          = ConvertOsKeyType($DF)
        constant oskeytype              OSKEY_OEM_AX                         = ConvertOsKeyType($E1)
        constant oskeytype              OSKEY_OEM_102                        = ConvertOsKeyType($E2)
        constant oskeytype              OSKEY_ICO_HELP                       = ConvertOsKeyType($E3)
        constant oskeytype              OSKEY_ICO_00                         = ConvertOsKeyType($E4)
        constant oskeytype              OSKEY_PROCESSKEY                     = ConvertOsKeyType($E5)
        constant oskeytype              OSKEY_ICO_CLEAR                      = ConvertOsKeyType($E6)
        constant oskeytype              OSKEY_PACKET                         = ConvertOsKeyType($E7)
        constant oskeytype              OSKEY_OEM_RESET                      = ConvertOsKeyType($E9)
        constant oskeytype              OSKEY_OEM_JUMP                       = ConvertOsKeyType($EA)
        constant oskeytype              OSKEY_OEM_PA1                        = ConvertOsKeyType($EB)
        constant oskeytype              OSKEY_OEM_PA2                        = ConvertOsKeyType($EC)
        constant oskeytype              OSKEY_OEM_PA3                        = ConvertOsKeyType($ED)
        constant oskeytype              OSKEY_OEM_WSCTRL                     = ConvertOsKeyType($EE)
        constant oskeytype              OSKEY_OEM_CUSEL                      = ConvertOsKeyType($EF)
        constant oskeytype              OSKEY_OEM_ATTN                       = ConvertOsKeyType($F0)
        constant oskeytype              OSKEY_OEM_FINISH                     = ConvertOsKeyType($F1)
        constant oskeytype              OSKEY_OEM_COPY                       = ConvertOsKeyType($F2)
        constant oskeytype              OSKEY_OEM_AUTO                       = ConvertOsKeyType($F3)
        constant oskeytype              OSKEY_OEM_ENLW                       = ConvertOsKeyType($F4)
        constant oskeytype              OSKEY_OEM_BACKTAB                    = ConvertOsKeyType($F5)
        constant oskeytype              OSKEY_ATTN                           = ConvertOsKeyType($F6)
        constant oskeytype              OSKEY_CRSEL                          = ConvertOsKeyType($F7)
        constant oskeytype              OSKEY_EXSEL                          = ConvertOsKeyType($F8)
        constant oskeytype              OSKEY_EREOF                          = ConvertOsKeyType($F9)
        constant oskeytype              OSKEY_PLAY                           = ConvertOsKeyType($FA)
        constant oskeytype              OSKEY_ZOOM                           = ConvertOsKeyType($FB)
        constant oskeytype              OSKEY_NONAME                         = ConvertOsKeyType($FC)
        constant oskeytype              OSKEY_PA1                            = ConvertOsKeyType($FD)
        constant oskeytype              OSKEY_OEM_CLEAR                      = ConvertOsKeyType($FE)
     


    So maybe it is possible to intercept key strokes and then trigger the usage of items with keys, this said I cannot garantee anything as I have never tried them.
     
  3. Uncle

    Uncle

    Joined:
    Aug 10, 2018
    Messages:
    1,531
    Resources:
    0
    Resources:
    0
    You could use OSKey to mimic the item usage for Instant items, but things that require targeting become more tricky.