summaryrefslogblamecommitdiff
path: root/src/keyboarddata.h
blob: 5f8294104fb925db01416dff69dd7aead7e0754b (plain) (tree)





















                                                                         





                           
                    

                        
                          


                              
 
                                                   
                                                  
                          
                           
                               
                                

                              
                           
                                 
                                

                              
                           
                                 
                                

                                
                           
                                  
                                

                             
                           
                
                                

                               
                           
                
                                

                               
                           
                                     
                                

                                          
                           
                                           
                                

                                                  
                           
                                   
                                

                                     
                           
                                
                                

                                     
                           
                
                                

                       
                           
                             
                                

                              
                           
                
                                
                   

                                        
                
                                

                                
                           
                
                                

                            
                           
                
                                

                               
                           
                
                                

                         
                           
                               
                                

                                   
                           
                                         
                                

                                                  
                                            
                                    
                                

                                   
                           
                            
                                

                                   
                           
                                   
                                

                                   
                           
                                    
                                

                                   
                           
                                      
                                

                                                
                                            
                           
                                

                                                      
                           
                             
                                
                      
                                  
                           
                
                                

                            
                           
                                 
                                
                       
                            
                           
                                 
                                
                       
                            
                           
                                 
                                
                       
                            
                           
                                 
                                
                       
                            
                           
                                 
                                
                       
                            
                           
                                 
                                
                       
                            
                           
                                 
                                
                       
                            
                           
                                 
                                
                       
                            
                           
                                 
                                
                       
                             
                           
                                 
                                
                       
                                 
                           
                                 
                                
                       
                                  
                           
                                 
                                
                       
                                     
                           
                                 
                                
                       
                                  
                           
                                 
                                
                       
                                
                           
                                 
                                
                       

                                          
                                 
                                
                       

                                          
                                 
                                
                       

                                          
                                 
                                
                       

                                          
                                 
                                
                       

                                          
                                 
                                
                       
                              
                                            
                                       
                                

                                   
                                            
                                         
                                

                                   
                                            
                                            
                                

                                   
                                            
                                            
                                

                                   
                                            
                                        
                                

                                   
                                            
                                          
                                

                                   
                                            
                                       
                                

                                   
                                            
                                           
                                

                                   
                                            
                                        
                                

                                                     
                                            
                                        
                                

                                   
                                            
                                         
                                

                                   
                                            
                                                
                                

                                       
                                            
                                         
                                

                                   
                                            
                                       
                                

                                   
                                            
                                               
                                

                                   
                                            
                                            
                                

                                   
                                            
                                                
                                

                                             
                                            
                                             
                                
                                   

                                            
                                              
                                
                                   

                                                
                                             
                                
                                   

                                             
                                      
                                
                      

                                             
                                      
                                
                      
                            
                           
                
                                

                                 
                           
                              
                                 

                                 
                           
                              
                                 

                                 
                           
                              
                                 

                                 
                           
                              
                                 

                                 
                           
                              
                                 

                                 
                           
                              
                                 

                                 
                           
                              
                                 

                                 
                           
                              
                                 

                                 
                           
                              
                                 

                                  
                           
                              
                                 

                                      
                           
                              
                                 

                                       
                           
                              
                                 

                                          
                           
                              
                                 

                                       
                           
                              
                                 

                                     
                           
                              
                                 

                                  
                           
                              
                                 

                                  
                           
                              
                                 

                                  
                           
                              
                                 

                                  
                           
                              
                                 

                                  
                           
                              
                                 

                                  
                           
                              
                                 

                                  
                           
                              
                                 

                                  
                           
                              
                                 

                                  
                           
                              
                                 

                                  
                           
                              
                                 

                                            
                           
                              
                                 

                                             
                           
                              
                                 

                                          
                           
                              
                                 

                                  
                           
                              
                                 

                                  
                           
                              
                                 

                                  
                           
                              
                                 

                                  
                           
                              
                                 

                                  
                           
                              
                                 

                                  
                           
                              
                                 

                                  
                           
                              
                                 

                                  
                           
                              
                                 

                                  
                           
                              
                                 

                                          
                           
                              
                                 

                                      
                           
                              
                                 

                                  
                           
                              
                                 

                                  
                           
                              
                                 

                                  
                           
                              
                                 

                                  
                           
                              
                                 

                                  
                           
                              
                                 

                                  
                           
                              
                                 

                                  
                           
                              
                                 

                                      
                           
                              
                                 

                                       
                           
                              
                                 
                   
                                 
                           
                
                                

                                
                           
                
                                
                      
                                               
                           
                                             
                                
                                     
                            
                                             
                                   
                                
                                                                  
                                    
                                            
                                     
                                

                                        
                                            
                                       
                                

                                
                                            
                                    
                                

                                
                                            
                                    
                                
                      

                                            
                                     
                                
                      
                                    
                        
                
                                
                      
                                    
                        
                
                                
                      
                                     
                        
                
                                
                      
                                      
                        
                
                                
                      
                                    
                           
                                    
                                 

                                    
                           
                                    
                                 

                           
                           
                                 
                                
                   
                                     
                           
                                   
                                
                   
                             
                           
                                   
                                
                   
                                  
                           
                                    
                                
                   
                                 
                           
                                   
                                

                                              
                           
                                        
                                

                                                  
                           
                                  
                                

                                     
                           
                                 
                                

                                     
                           
                                        
                                

                                     
                           
                             
                                

                                     
                           
                                
                                

                                     
                           
                                    
                                

                                        
                           
                                          
                                
                                                  

                                               
                                      
                                

                                                  
                           
                                       
                                

                                                  
                           
                                               
                                

                                                  
                           
                                         
                                

                                                  
                           
                                         
                                

                                                  
                           
                                            
                                

                                                  
                           
                                           
                                

                                     
                           
                                    
                                

                                     
                           
                             
                                

                                     
                           
                                   
                                

                                                   
                           
                               
                                

                                                  
                       
                
                                

                     

      
/*
 *  Custom keyboard shortcuts configuration
 *  Copyright (C) 2007  Joshua Langley <joshlangley@optusnet.com.au>
 *  Copyright (C) 2009-2010  The Mana Developers
 *  Copyright (C) 2011-2012  The ManaPlus Developers
 *
 *  This file is part of The ManaPlus Client.
 *
 *  This program is free software; you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License as published by
 *  the Free Software Foundation; either version 2 of the License, or
 *  any later version.
 *
 *  This program is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU General Public License for more details.
 *
 *  You should have received a copy of the GNU General Public License
 *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

#ifndef KEYBOARDDATA_H
#define KEYBOARDDATA_H

#include "actionmanager.h"
#include "inputmanager.h"
#include "keyboardconfig.h"
#include "keydata.h"
#include "localconsts.h"

#include "utils/gettext.h"
#include "utils/stringutils.h"

#include <string>

// keyData must be in same order as enum keyAction.
static KeyData const keyData[Input::KEY_TOTAL] = {
    {"keyMoveUp", SDLK_UP,
        Input::GRP_DEFAULT,
        &ActionManager::moveUp,
        Input::KEY_NO_VALUE, 50,
        COND_GAME2},
    {"keyMoveDown", SDLK_DOWN,
        Input::GRP_DEFAULT,
        &ActionManager::moveDown,
        Input::KEY_NO_VALUE, 50,
        COND_GAME2},
    {"keyMoveLeft", SDLK_LEFT,
        Input::GRP_DEFAULT,
        &ActionManager::moveLeft,
        Input::KEY_NO_VALUE, 50,
        COND_GAME},
    {"keyMoveRight", SDLK_RIGHT,
        Input::GRP_DEFAULT,
        &ActionManager::moveRight,
        Input::KEY_NO_VALUE, 50,
        COND_GAME},
    {"keyAttack", SDLK_LCTRL,
        Input::GRP_DEFAULT,
        nullptr,
        Input::KEY_NO_VALUE, 50,
        COND_DEFAULT},
    {"keyTargetAttack", SDLK_x,
        Input::GRP_DEFAULT,
        nullptr,
        Input::KEY_NO_VALUE, 50,
        COND_DEFAULT},
    {"keyMoveToTarget", SDLK_v,
        Input::GRP_DEFAULT,
        &ActionManager::moveToTarget,
        Input::KEY_NO_VALUE, 50,
        COND_GAME | COND_VALIDSPEED},
    {"keyChangeMoveToTarget", SDLK_PERIOD,
        Input::GRP_DEFAULT,
        &ActionManager::changeMoveToTarget,
        Input::KEY_NO_VALUE, 50,
        COND_GAME | COND_VALIDSPEED | COND_EMODS},
    {"keyMoveToHome", SDLK_d,
        Input::GRP_DEFAULT,
        &ActionManager::moveToHome,
        Input::KEY_NO_VALUE, 50,
        COND_GAME | COND_VALIDSPEED},
    {"keySetHome", SDLK_KP5,
        Input::GRP_DEFAULT,
        &ActionManager::setHome,
        Input::KEY_NO_VALUE, 50,
        COND_GAME | COND_VALIDSPEED},
    {"keyMoveToPoint", SDLK_RSHIFT, 
        Input::GRP_DEFAULT,
        nullptr,
        Input::KEY_NO_VALUE, 50,
        COND_DEFAULT},
    {"keyTalk", SDLK_t,
        Input::GRP_DEFAULT,
        &ActionManager::talk,
        Input::KEY_NO_VALUE, 50,
        COND_GAME},
    {"keyTarget", SDLK_LSHIFT,
        Input::GRP_DEFAULT,
        nullptr,
        Input::KEY_NO_VALUE, 50,
        COND_GAME},
    {"keyUnTarget", Input::KEY_NO_VALUE,
        Input::GRP_DEFAULT,
        nullptr,
        Input::KEY_NO_VALUE, 50,
        COND_DEFAULT},
    {"keyTargetClosest", SDLK_a,
        Input::GRP_DEFAULT,
        nullptr,
        Input::KEY_NO_VALUE, 50,
        COND_DEFAULT},
    {"keyTargetNPC", SDLK_n,
        Input::GRP_DEFAULT,
        nullptr,
        Input::KEY_NO_VALUE, 50,
        COND_DEFAULT},
    {"keyTargetPlayer", SDLK_q,
        Input::GRP_DEFAULT,
        nullptr,
        Input::KEY_NO_VALUE, 50,
        COND_DEFAULT},
    {"keyPickup", SDLK_z,
        Input::GRP_DEFAULT,
        &ActionManager::pickup,
        Input::KEY_NO_VALUE, 50,
        COND_GAME | COND_NOTARGET},
    {"keyChangePickupType", SDLK_o,
        Input::GRP_DEFAULT,
        &ActionManager::changePickupType,
        Input::KEY_NO_VALUE, 50,
        COND_GAME | COND_VALIDSPEED | COND_EMODS},
    {"keyHideWindows", SDLK_h,
        Input::GRP_DEFAULT | Input::GRP_GUI,
        &ActionManager::hideWindows,
        Input::KEY_NO_VALUE, 50,
        COND_GAME | COND_NOTARGET},
    {"keyBeingSit", SDLK_s,
        Input::GRP_DEFAULT,
        &ActionManager::sit,
        Input::KEY_NO_VALUE, 50,
        COND_GAME | COND_NOTARGET},
    {"keyScreenshot", SDLK_p,
        Input::GRP_DEFAULT,
        &ActionManager::screenshot,
        Input::KEY_NO_VALUE, 50,
        COND_GAME | COND_NOTARGET},
    {"keyTrade", SDLK_r,
        Input::GRP_DEFAULT,
        &ActionManager::changeTrade,
        Input::KEY_NO_VALUE, 50,
        COND_GAME | COND_NOTARGET},
    {"keyPathfind", SDLK_f,
        Input::GRP_DEFAULT,
        &ActionManager::changeMapMode,
        Input::KEY_NO_VALUE, 50,
        COND_GAME | COND_NOTARGET | COND_EMODS},
    {"keyOK", SDLK_SPACE,
        Input::GRP_DEFAULT | Input::GRP_GUI,
        &ActionManager::ok,
        Input::KEY_NO_VALUE, 50,
        COND_NOMODAL | COND_NOAWAY | COND_NONPCINPUT},
    {"keyQuit", SDLK_ESCAPE,
        Input::GRP_DEFAULT,
        &ActionManager::quit,
        Input::KEY_NO_VALUE, 50,
        COND_DEFAULT},
    {"keyShortcutsKey", SDLK_MENU,
        Input::GRP_DEFAULT,
        nullptr,
        Input::KEY_NO_VALUE, 50,
        COND_DEFAULT},
    {"keyShortcut1", SDLK_1,
        Input::GRP_DEFAULT,
        &ActionManager::shortcut,
        Input::KEY_NO_VALUE, 50,
        COND_SHORTCUT},
    {"keyShortcut2", SDLK_2,
        Input::GRP_DEFAULT,
        &ActionManager::shortcut,
        Input::KEY_NO_VALUE, 50,
        COND_SHORTCUT},
    {"keyShortcut3", SDLK_3,
        Input::GRP_DEFAULT,
        &ActionManager::shortcut,
        Input::KEY_NO_VALUE, 50,
        COND_SHORTCUT},
    {"keyShortcut4", SDLK_4,
        Input::GRP_DEFAULT,
        &ActionManager::shortcut,
        Input::KEY_NO_VALUE, 50,
        COND_SHORTCUT},
    {"keyShortcut5", SDLK_5,
        Input::GRP_DEFAULT,
        &ActionManager::shortcut,
        Input::KEY_NO_VALUE, 50,
        COND_SHORTCUT},
    {"keyShortcut6", SDLK_6,
        Input::GRP_DEFAULT,
        &ActionManager::shortcut,
        Input::KEY_NO_VALUE, 50,
        COND_SHORTCUT},
    {"keyShortcut7", SDLK_7,
        Input::GRP_DEFAULT,
        &ActionManager::shortcut,
        Input::KEY_NO_VALUE, 50,
        COND_SHORTCUT},
    {"keyShortcut8", SDLK_8,
        Input::GRP_DEFAULT,
        &ActionManager::shortcut,
        Input::KEY_NO_VALUE, 50,
        COND_SHORTCUT},
    {"keyShortcut9", SDLK_9,
        Input::GRP_DEFAULT,
        &ActionManager::shortcut,
        Input::KEY_NO_VALUE, 50,
        COND_SHORTCUT},
    {"keyShortcut10", SDLK_0,
        Input::GRP_DEFAULT,
        &ActionManager::shortcut,
        Input::KEY_NO_VALUE, 50,
        COND_SHORTCUT},
    {"keyShortcut11", SDLK_MINUS,
        Input::GRP_DEFAULT,
        &ActionManager::shortcut,
        Input::KEY_NO_VALUE, 50,
        COND_SHORTCUT},
    {"keyShortcut12", SDLK_EQUALS,
        Input::GRP_DEFAULT,
        &ActionManager::shortcut,
        Input::KEY_NO_VALUE, 50,
        COND_SHORTCUT},
    {"keyShortcut13", SDLK_BACKSPACE,
        Input::GRP_DEFAULT,
        &ActionManager::shortcut,
        Input::KEY_NO_VALUE, 50,
        COND_SHORTCUT},
    {"keyShortcut14", SDLK_INSERT,
        Input::GRP_DEFAULT,
        &ActionManager::shortcut,
        Input::KEY_NO_VALUE, 50,
        COND_SHORTCUT},
    {"keyShortcut15", SDLK_HOME,
        Input::GRP_DEFAULT,
        &ActionManager::shortcut,
        Input::KEY_NO_VALUE, 50,
        COND_SHORTCUT},
    {"keyShortcut16", Input::KEY_NO_VALUE,
        Input::GRP_DEFAULT,
        &ActionManager::shortcut,
        Input::KEY_NO_VALUE, 50,
        COND_SHORTCUT},
    {"keyShortcut17", Input::KEY_NO_VALUE,
        Input::GRP_DEFAULT,
        &ActionManager::shortcut,
        Input::KEY_NO_VALUE, 50,
        COND_SHORTCUT},
    {"keyShortcut18", Input::KEY_NO_VALUE,
        Input::GRP_DEFAULT,
        &ActionManager::shortcut,
        Input::KEY_NO_VALUE, 50,
        COND_SHORTCUT},
    {"keyShortcut19", Input::KEY_NO_VALUE,
        Input::GRP_DEFAULT,
        &ActionManager::shortcut,
        Input::KEY_NO_VALUE, 50,
        COND_SHORTCUT},
    {"keyShortcut20", Input::KEY_NO_VALUE,
        Input::GRP_DEFAULT,
        &ActionManager::shortcut,
        Input::KEY_NO_VALUE, 50,
        COND_SHORTCUT},
    {"keyWindowHelp", SDLK_F1,
        Input::GRP_DEFAULT | Input::GRP_GUI,
        &ActionManager::helpWindowShow,
        Input::KEY_NO_VALUE, 50,
        COND_GAME | COND_NOTARGET},
    {"keyWindowStatus", SDLK_F2,
        Input::GRP_DEFAULT | Input::GRP_GUI,
        &ActionManager::statusWindowShow,
        Input::KEY_NO_VALUE, 50,
        COND_GAME | COND_NOTARGET},
    {"keyWindowInventory", SDLK_F3,
        Input::GRP_DEFAULT | Input::GRP_GUI,
        &ActionManager::inventoryWindowShow,
        Input::KEY_NO_VALUE, 50,
        COND_GAME | COND_NOTARGET},
    {"keyWindowEquipment", SDLK_F4,
        Input::GRP_DEFAULT | Input::GRP_GUI,
        &ActionManager::equipmentWindowShow,
        Input::KEY_NO_VALUE, 50,
        COND_GAME | COND_NOTARGET},
    {"keyWindowSkill", SDLK_F5,
        Input::GRP_DEFAULT | Input::GRP_GUI,
        &ActionManager::skillDialogShow,
        Input::KEY_NO_VALUE, 50,
        COND_GAME | COND_NOTARGET},
    {"keyWindowMinimap", SDLK_F6,
        Input::GRP_DEFAULT | Input::GRP_GUI,
        &ActionManager::minimapWindowShow,
        Input::KEY_NO_VALUE, 50,
        COND_GAME | COND_NOTARGET},
    {"keyWindowChat", SDLK_F7,
        Input::GRP_DEFAULT | Input::GRP_GUI,
        &ActionManager::chatWindowShow,
        Input::KEY_NO_VALUE, 50,
        COND_GAME | COND_NOTARGET},
    {"keyWindowShortcut", SDLK_F8,
        Input::GRP_DEFAULT | Input::GRP_GUI,
        &ActionManager::shortcutWindowShow,
        Input::KEY_NO_VALUE, 50,
        COND_GAME | COND_NOTARGET},
    {"keyWindowSetup", SDLK_F9,
        Input::GRP_DEFAULT | Input::GRP_GUI,
        &ActionManager::setupWindowShow,
        Input::KEY_NO_VALUE, 50,
        COND_NOTARGET | COND_NOINPUT | COND_ENABLED},
    {"keyWindowDebug", SDLK_F10,
        Input::GRP_DEFAULT | Input::GRP_GUI,
        &ActionManager::debugWindowShow,
        Input::KEY_NO_VALUE, 50,
        COND_GAME | COND_NOTARGET},
    {"keyWindowSocial", SDLK_F11,
        Input::GRP_DEFAULT | Input::GRP_GUI,
        &ActionManager::socialWindowShow,
        Input::KEY_NO_VALUE, 50,
        COND_GAME | COND_NOTARGET},
    {"keyWindowEmoteBar", SDLK_F12,
        Input::GRP_DEFAULT | Input::GRP_GUI,
        &ActionManager::emoteShortcutWindowShow,
        Input::KEY_NO_VALUE, 50,
        COND_GAME | COND_NOTARGET},
    {"keyWindowOutfit", SDLK_BACKQUOTE,
        Input::GRP_DEFAULT | Input::GRP_GUI,
        &ActionManager::outfitWindowShow,
        Input::KEY_NO_VALUE, 50,
        COND_GAME | COND_NOTARGET},
    {"keyWindowShop", -1,
        Input::GRP_DEFAULT | Input::GRP_GUI,
        &ActionManager::shopWindowShow,
        Input::KEY_NO_VALUE, 50,
        COND_GAME | COND_NOTARGET},
    {"keyWindowDrop", SDLK_w,
        Input::GRP_DEFAULT | Input::GRP_GUI,
        &ActionManager::dropShortcutWindowShow,
        Input::KEY_NO_VALUE, 50,
        COND_GAME | COND_NOTARGET},
    {"keyWindowKills", SDLK_e,
        Input::GRP_DEFAULT | Input::GRP_GUI,
        &ActionManager::killStatsWindowShow,
        Input::KEY_NO_VALUE, 50,
        COND_GAME | COND_NOTARGET},
    {"keyWindowSpells", SDLK_j,
        Input::GRP_DEFAULT | Input::GRP_GUI,
        &ActionManager::spellShortcutWindowShow,
        Input::KEY_NO_VALUE, 50,
        COND_GAME | COND_NOTARGET},
    {"keyWindowBotChecker", SDLK_LEFTBRACKET,
        Input::GRP_DEFAULT | Input::GRP_GUI,
        &ActionManager::botcheckerWindowShow,
        Input::KEY_NO_VALUE, 50,
        COND_GAME | COND_NOTARGET},
    {"keyWindowOnline", Input::KEY_NO_VALUE,
        Input::GRP_DEFAULT | Input::GRP_GUI,
        &ActionManager::whoIsOnlineWindowShow,
        Input::KEY_NO_VALUE, 50,
        COND_GAME | COND_NOTARGET},
    {"keyWindowDidYouKnow", Input::KEY_NO_VALUE,
        Input::GRP_DEFAULT | Input::GRP_GUI,
        &ActionManager::didYouKnowWindowShow,
        Input::KEY_NO_VALUE, 50,
        COND_GAME | COND_NOTARGET},
    {"keySocialPrevTab", Input::KEY_NO_VALUE,
        Input::GRP_DEFAULT | Input::GRP_GUI,
        &ActionManager::prevSocialTab,
        Input::KEY_NO_VALUE, 50,
        COND_NOINPUT},
    {"keySocialNextTab", Input::KEY_NO_VALUE,
        Input::GRP_DEFAULT | Input::GRP_GUI,
        &ActionManager::nextSocialTab,
        Input::KEY_NO_VALUE, 50,
        COND_NOINPUT},
    {"keySmilie", SDLK_LALT,
        Input::GRP_DEFAULT,
        nullptr,
        Input::KEY_NO_VALUE, 50,
        COND_DEFAULT},
    {"keyEmoteShortcut1", SDLK_1,
        Input::GRP_EMOTION,
        &ActionManager::emote,
        Input::KEY_NO_VALUE, 100,
        COND_GAME},
    {"keyEmoteShortcut2", SDLK_2,
        Input::GRP_EMOTION,
        &ActionManager::emote,
        Input::KEY_NO_VALUE, 100,
        COND_GAME},
    {"keyEmoteShortcut3", SDLK_3,
        Input::GRP_EMOTION,
        &ActionManager::emote,
        Input::KEY_NO_VALUE, 100,
        COND_GAME},
    {"keyEmoteShortcut4", SDLK_4,
        Input::GRP_EMOTION,
        &ActionManager::emote,
        Input::KEY_NO_VALUE, 100,
        COND_GAME},
    {"keyEmoteShortcut5", SDLK_5,
        Input::GRP_EMOTION,
        &ActionManager::emote,
        Input::KEY_NO_VALUE, 100,
        COND_GAME},
    {"keyEmoteShortcut6", SDLK_6,
        Input::GRP_EMOTION,
        &ActionManager::emote,
        Input::KEY_NO_VALUE, 100,
        COND_GAME},
    {"keyEmoteShortcut7", SDLK_7,
        Input::GRP_EMOTION,
        &ActionManager::emote,
        Input::KEY_NO_VALUE, 100,
        COND_GAME},
    {"keyEmoteShortcut8", SDLK_8,
        Input::GRP_EMOTION,
        &ActionManager::emote,
        Input::KEY_NO_VALUE, 100,
        COND_GAME},
    {"keyEmoteShortcut9", SDLK_9,
        Input::GRP_EMOTION,
        &ActionManager::emote,
        Input::KEY_NO_VALUE, 100,
        COND_GAME},
    {"keyEmoteShortcut10", SDLK_0,
        Input::GRP_EMOTION,
        &ActionManager::emote,
        Input::KEY_NO_VALUE, 100,
        COND_GAME},
    {"keyEmoteShortcut11", SDLK_MINUS,
        Input::GRP_EMOTION,
        &ActionManager::emote,
        Input::KEY_NO_VALUE, 100,
        COND_GAME},
    {"keyEmoteShortcut12", SDLK_EQUALS,
        Input::GRP_EMOTION,
        &ActionManager::emote,
        Input::KEY_NO_VALUE, 100,
        COND_GAME},
    {"keyEmoteShortcut13", SDLK_BACKSPACE,
        Input::GRP_EMOTION,
        &ActionManager::emote,
        Input::KEY_NO_VALUE, 100,
        COND_GAME},
    {"keyEmoteShortcut14", SDLK_INSERT,
        Input::GRP_EMOTION,
        &ActionManager::emote,
        Input::KEY_NO_VALUE, 100,
        COND_GAME},
    {"keyEmoteShortcut15", SDLK_HOME,
        Input::GRP_EMOTION,
        &ActionManager::emote,
        Input::KEY_NO_VALUE, 100,
        COND_GAME},
    {"keyEmoteShortcut16", SDLK_q,
        Input::GRP_EMOTION,
        &ActionManager::emote,
        Input::KEY_NO_VALUE, 100,
        COND_GAME},
    {"keyEmoteShortcut17", SDLK_w,
        Input::GRP_EMOTION,
        &ActionManager::emote,
        Input::KEY_NO_VALUE, 100,
        COND_GAME},
    {"keyEmoteShortcut18", SDLK_e,
        Input::GRP_EMOTION,
        &ActionManager::emote,
        Input::KEY_NO_VALUE, 100,
        COND_GAME},
    {"keyEmoteShortcut19", SDLK_r,
        Input::GRP_EMOTION,
        &ActionManager::emote,
        Input::KEY_NO_VALUE, 100,
        COND_GAME},
    {"keyEmoteShortcut20", SDLK_t,
        Input::GRP_EMOTION,
        &ActionManager::emote,
        Input::KEY_NO_VALUE, 100,
        COND_GAME},
    {"keyEmoteShortcut21", SDLK_y,
        Input::GRP_EMOTION,
        &ActionManager::emote,
        Input::KEY_NO_VALUE, 100,
        COND_GAME},
    {"keyEmoteShortcut22", SDLK_u,
        Input::GRP_EMOTION,
        &ActionManager::emote,
        Input::KEY_NO_VALUE, 100,
        COND_GAME},
    {"keyEmoteShortcut23", SDLK_i,
        Input::GRP_EMOTION,
        &ActionManager::emote,
        Input::KEY_NO_VALUE, 100,
        COND_GAME},
    {"keyEmoteShortcut24", SDLK_o,
        Input::GRP_EMOTION,
        &ActionManager::emote,
        Input::KEY_NO_VALUE, 100,
        COND_GAME},
    {"keyEmoteShortcut25", SDLK_p,
        Input::GRP_EMOTION,
        &ActionManager::emote,
        Input::KEY_NO_VALUE, 100,
        COND_GAME},
    {"keyEmoteShortcut26", SDLK_LEFTBRACKET,
        Input::GRP_EMOTION,
        &ActionManager::emote,
        Input::KEY_NO_VALUE, 100,
        COND_GAME},
    {"keyEmoteShortcut27", SDLK_RIGHTBRACKET,
        Input::GRP_EMOTION,
        &ActionManager::emote,
        Input::KEY_NO_VALUE, 100,
        COND_GAME},
    {"keyEmoteShortcut28", SDLK_BACKSLASH,
        Input::GRP_EMOTION,
        &ActionManager::emote,
        Input::KEY_NO_VALUE, 100,
        COND_GAME},
    {"keyEmoteShortcut29", SDLK_a,
        Input::GRP_EMOTION,
        &ActionManager::emote,
        Input::KEY_NO_VALUE, 100,
        COND_GAME},
    {"keyEmoteShortcut30", SDLK_s,
        Input::GRP_EMOTION,
        &ActionManager::emote,
        Input::KEY_NO_VALUE, 100,
        COND_GAME},
    {"keyEmoteShortcut31", SDLK_d,
        Input::GRP_EMOTION,
        &ActionManager::emote,
        Input::KEY_NO_VALUE, 100,
        COND_GAME},
    {"keyEmoteShortcut32", SDLK_f,
        Input::GRP_EMOTION,
        &ActionManager::emote,
        Input::KEY_NO_VALUE, 100,
        COND_GAME},
    {"keyEmoteShortcut33", SDLK_g,
        Input::GRP_EMOTION,
        &ActionManager::emote,
        Input::KEY_NO_VALUE, 100,
        COND_GAME},
    {"keyEmoteShortcut34", SDLK_h,
        Input::GRP_EMOTION,
        &ActionManager::emote,
        Input::KEY_NO_VALUE, 100,
        COND_GAME},
    {"keyEmoteShortcut35", SDLK_j,
        Input::GRP_EMOTION,
        &ActionManager::emote,
        Input::KEY_NO_VALUE, 100,
        COND_GAME},
    {"keyEmoteShortcut36", SDLK_k,
        Input::GRP_EMOTION,
        &ActionManager::emote,
        Input::KEY_NO_VALUE, 100,
        COND_GAME},
    {"keyEmoteShortcut37", SDLK_l,
        Input::GRP_EMOTION,
        &ActionManager::emote,
        Input::KEY_NO_VALUE, 100,
        COND_GAME},
    {"keyEmoteShortcut38", SDLK_SEMICOLON,
        Input::GRP_EMOTION,
        &ActionManager::emote,
        Input::KEY_NO_VALUE, 100,
        COND_GAME},
    {"keyEmoteShortcut39", SDLK_QUOTE,
        Input::GRP_EMOTION,
        &ActionManager::emote,
        Input::KEY_NO_VALUE, 100,
        COND_GAME},
    {"keyEmoteShortcut40", SDLK_z,
        Input::GRP_EMOTION,
        &ActionManager::emote,
        Input::KEY_NO_VALUE, 100,
        COND_GAME},
    {"keyEmoteShortcut41", SDLK_x,
        Input::GRP_EMOTION,
        &ActionManager::emote,
        Input::KEY_NO_VALUE, 100,
        COND_GAME},
    {"keyEmoteShortcut42", SDLK_c,
        Input::GRP_EMOTION,
        &ActionManager::emote,
        Input::KEY_NO_VALUE, 100,
        COND_GAME},
    {"keyEmoteShortcut43", SDLK_v,
        Input::GRP_EMOTION,
        &ActionManager::emote,
        Input::KEY_NO_VALUE, 100,
        COND_GAME},
    {"keyEmoteShortcut44", SDLK_b,
        Input::GRP_EMOTION,
        &ActionManager::emote,
        Input::KEY_NO_VALUE, 100,
        COND_GAME},
    {"keyEmoteShortcut45", SDLK_n,
        Input::GRP_EMOTION,
        &ActionManager::emote,
        Input::KEY_NO_VALUE, 100,
        COND_GAME},
    {"keyEmoteShortcut46", SDLK_m,
        Input::GRP_EMOTION,
        &ActionManager::emote,
        Input::KEY_NO_VALUE, 100,
        COND_GAME},
    {"keyEmoteShortcut47", SDLK_COMMA,
        Input::GRP_EMOTION,
        &ActionManager::emote,
        Input::KEY_NO_VALUE, 100,
        COND_GAME},
    {"keyEmoteShortcut48", SDLK_PERIOD,
        Input::GRP_EMOTION,
        &ActionManager::emote,
        Input::KEY_NO_VALUE, 100,
        COND_GAME},
    {"keyWearOutfit", SDLK_RCTRL,
        Input::GRP_DEFAULT,
        nullptr,
        Input::KEY_NO_VALUE, 50,
        COND_DEFAULT},
    {"keyCopyOutfit", SDLK_RALT,
        Input::GRP_DEFAULT,
        nullptr,
        Input::KEY_NO_VALUE, 50,
        COND_DEFAULT},
    {"keyCopyEquipedOutfit", SDLK_RIGHTBRACKET,
        Input::GRP_DEFAULT,
        &ActionManager::copyEquippedToOutfit,
        Input::KEY_NO_VALUE, 50,
        COND_GAME | COND_VALIDSPEED},
    {"keyChat", SDLK_RETURN,
        Input::GRP_DEFAULT | Input::GRP_CHAT,
        &ActionManager::toggleChat,
        Input::KEY_NO_VALUE, 50,
        COND_ENABLED | COND_NOINPUT | COND_NOAWAY | COND_NOMODAL},
    {"keyChatScrollUp", SDLK_PAGEUP,
        Input::GRP_DEFAULT | Input::GRP_GUI,
        &ActionManager::scrollChatUp,
        Input::KEY_NO_VALUE, 50,
        COND_DEFAULT},
    {"keyChatScrollDown", SDLK_PAGEDOWN,
        Input::GRP_DEFAULT | Input::GRP_GUI,
        &ActionManager::scrollChatDown,
        Input::KEY_NO_VALUE, 50,
        COND_DEFAULT},
    {"keyChatPrevTab", SDLK_KP7,
        Input::GRP_DEFAULT | Input::GRP_GUI,
        &ActionManager::prevChatTab,
        Input::KEY_NO_VALUE, 50,
        COND_NOINPUT},
    {"keyChatNextTab", SDLK_KP9,
        Input::GRP_DEFAULT | Input::GRP_GUI,
        &ActionManager::nextChatTab,
        Input::KEY_NO_VALUE, 50,
        COND_NOINPUT},
    {"keyChatCloseTab", Input::KEY_NO_VALUE,
        Input::GRP_DEFAULT | Input::GRP_GUI,
        &ActionManager::closeChatTab,
        Input::KEY_NO_VALUE, 50,
        COND_NOINPUT},
    {"keyChatPrevHistory", SDLK_KP7,
        Input::GRP_CHAT,
        nullptr,
        Input::KEY_NO_VALUE, 50,
        COND_DEFAULT},
    {"keyChatNextHistory", SDLK_KP9,
        Input::GRP_CHAT,
        nullptr,
        Input::KEY_NO_VALUE, 50,
        COND_DEFAULT},
    {"keyAutoCompleteChat", SDLK_TAB,
        Input::GRP_CHAT,
        nullptr,
        Input::KEY_NO_VALUE, 50,
        COND_DEFAULT},
    {"keyDeActivateChat", SDLK_ESCAPE,
        Input::GRP_CHAT,
        nullptr,
        Input::KEY_NO_VALUE, 50,
        COND_DEFAULT},
    {"keyIgnoreInput1", SDLK_LSUPER,
        Input::GRP_DEFAULT,
        &ActionManager::ignoreInput,
        Input::KEY_NO_VALUE, 500,
        COND_DEFAULT},
    {"keyIgnoreInput2", SDLK_RSUPER,
        Input::GRP_DEFAULT,
        &ActionManager::ignoreInput,
        Input::KEY_NO_VALUE, 500,
        COND_DEFAULT},
    {"keyDirectUp", SDLK_l,
        Input::GRP_DEFAULT,
        &ActionManager::directUp,
        Input::KEY_NO_VALUE, 50,
        COND_GAME},
    {"keyDirectDown", SDLK_SEMICOLON,
        Input::GRP_DEFAULT,
        &ActionManager::directDown,
        Input::KEY_NO_VALUE, 50,
        COND_GAME},
    {"keyDirectLeft", SDLK_k,
        Input::GRP_DEFAULT,
        &ActionManager::directLeft,
        Input::KEY_NO_VALUE, 50,
        COND_GAME},
    {"keyDirectRight", SDLK_QUOTE,
        Input::GRP_DEFAULT,
        &ActionManager::directRight,
        Input::KEY_NO_VALUE, 50,
        COND_GAME},
    {"keyCrazyMoves", SDLK_SLASH,
        Input::GRP_DEFAULT,
        &ActionManager::crazyMoves,
        Input::KEY_NO_VALUE, 50,
        COND_GAME | COND_VALIDSPEED},
    {"keyChangeCrazyMoveType", SDLK_BACKSLASH,
        Input::GRP_DEFAULT,
        &ActionManager::changeCrazyMove,
        Input::KEY_NO_VALUE, 50,
        COND_GAME | COND_VALIDSPEED | COND_EMODS},
    {"keyQuickDrop", SDLK_y,
        Input::GRP_DEFAULT,
        &ActionManager::dropItem0,
        Input::KEY_NO_VALUE, 50,
        COND_GAME | COND_VALIDSPEED},
    {"keyQuickDropN", SDLK_u,
        Input::GRP_DEFAULT,
        &ActionManager::dropItem,
        Input::KEY_NO_VALUE, 50,
        COND_GAME | COND_VALIDSPEED},
    {"keySwitchQuickDrop", SDLK_i,
        Input::GRP_DEFAULT,
        &ActionManager::switchQuickDrop,
        Input::KEY_NO_VALUE, 50,
        COND_GAME | COND_VALIDSPEED},
    {"keyMagicInma1", SDLK_c,
        Input::GRP_DEFAULT,
        &ActionManager::heal,
        Input::KEY_NO_VALUE, 50,
        COND_GAME | COND_VALIDSPEED},
    {"keyMagicItenplz", SDLK_m,
        Input::GRP_DEFAULT,
        &ActionManager::itenplz,
        Input::KEY_NO_VALUE, 50,
        COND_GAME | COND_VALIDSPEED},
    {"keyMagicAttack", SDLK_b,
        Input::GRP_DEFAULT,
        &ActionManager::magicAttack,
        Input::KEY_NO_VALUE, 50,
        COND_GAME | COND_VALIDSPEED},
    {"keySwitchMagicAttack", SDLK_COMMA,
        Input::GRP_DEFAULT,
        &ActionManager::changeMagicAttack,
        Input::KEY_NO_VALUE, 50,
        COND_GAME | COND_VALIDSPEED | COND_EMODS},
    {"keySwitchPvpAttack", Input::KEY_NO_VALUE,
        Input::GRP_DEFAULT,
        &ActionManager::changePvpMode,
        Input::KEY_NO_VALUE, 50,
        COND_GAME | COND_VALIDSPEED | COND_EMODS},
    {"keyInvertDirection", SDLK_KP0,
        Input::GRP_DEFAULT,
        &ActionManager::changeMoveType,
        Input::KEY_NO_VALUE, 50,
        COND_GAME | COND_VALIDSPEED | COND_EMODS},
    {"keyChangeAttackWeaponType", SDLK_g,
        Input::GRP_DEFAULT,
        &ActionManager::changeAttackWeaponType,
        Input::KEY_NO_VALUE, 50,
        COND_GAME | COND_VALIDSPEED | COND_EMODS},
    {"keyChangeAttackType", SDLK_END,
        Input::GRP_DEFAULT,
        &ActionManager::changeAttackType,
        Input::KEY_NO_VALUE, 50,
        COND_GAME | COND_VALIDSPEED | COND_EMODS},
    {"keyChangeFollowMode", SDLK_KP1,
        Input::GRP_DEFAULT,
        &ActionManager::changeFollowMode,
        Input::KEY_NO_VALUE, 50,
        COND_GAME | COND_VALIDSPEED | COND_EMODS},
    {"keyChangeImitationMode", SDLK_KP4,
        Input::GRP_DEFAULT,
        &ActionManager::changeImitationMode,
        Input::KEY_NO_VALUE, 50,
        COND_GAME | COND_VALIDSPEED | COND_EMODS},
    {"keyDisableGameModifiers", SDLK_KP8,
        Input::GRP_DEFAULT,
        &ActionManager::changeGameModifier,
        Input::KEY_NO_VALUE, 50,
        COND_GAME | COND_VALIDSPEED},
    {"keyChangeAudio", SDLK_KP3,
        Input::GRP_DEFAULT,
        &ActionManager::changeAudio,
        Input::KEY_NO_VALUE, 50,
        COND_GAME | COND_VALIDSPEED},
    {"keyAway", SDLK_KP2,
        Input::GRP_DEFAULT,
        &ActionManager::away,
        Input::KEY_NO_VALUE, 50,
        COND_GAME | COND_VALIDSPEED},
    {"keyRightClick", SDLK_TAB,
        Input::GRP_DEFAULT,
        &ActionManager::mouseClick,
        Input::KEY_NO_VALUE, 50,
        COND_NOINPUT | COND_NOAWAY | COND_NOMODAL},
    {"keyCameraMode", SDLK_KP_PLUS,
        Input::GRP_DEFAULT,
        &ActionManager::camera,
        Input::KEY_NO_VALUE, 50,
        COND_GAME | COND_VALIDSPEED | COND_EMODS},
    {"keyMod", SDLK_LSHIFT,
        Input::GRP_GUI,
        nullptr,
        Input::KEY_NO_VALUE, 50,
        COND_DEFAULT}
};

#endif