summaryrefslogblamecommitdiff
path: root/src/input/inputactionmap.h
blob: 794fcb97de5d4ee83ee7dfac1846fa11f74d9d6d (plain) (tree)
1
2
3
4
5
3596
3597
3598
3599
3600
3601
3602
3603
3604
3605
3606
3607
3608
3609
3610
3611
3612
3613
3614
3615
3616
3617
3618
3619
3620
3621
3622
3623
3624
3625
3626
3627
3628
3629
3630
3631
3632
3633
3634
3635
3636
3637
3638
3639
3640
3641
3642
3643
3644
3645
3646
3647
3648
3649
3650
3651
3652
3653
3654
3655
3656
3657
3658
3659
3660
3661
3662
3663
3664
3665
3666
3667
3668
3669
3670
3671
3672
3673
3674
3675
3676
3677
3678
3679
3680
3681
3682
3683
3684
3685
3686
3687
3688
3689
3690
3691
3692
3693
3694
3695
3696
3697
3698
3699
3700
3701
3702
3703
3704
3705
3706
3707
3708
3709
3710
3711
3712
3713
3714
3715
3716
3717
3718
3719
3720
3721
3722
3723
3724
3725
3726
3727
3728
3729
3730
3731
3732
3733
3734
3735
3736
3737
3738
3739
3740
3741
3742
3743
3744
3745
3746
3747
3748
3749
3750
3751
3752
3753
3754
3755
3756
3757
3758
3759
3760
3761
3762
3763
3764
3765
3766
3767
3768
3769
3770
3771
3772
3773
3774
3775
3776
3777
3778
3779
3780
3781
3782
3783
3784
3785
3786
3787
3788
3789
3790
3791
3792
3793
3794
3795
3796
3797
3798
3799
3800
3801
3802
3803
3804
3805
3806
3807
3808
3809
3810
3811
3812
3813
3814
3815
3816
3817
3818
3819
3820
3821
3822
3823
3824
3825
3826
3827
3828
3829
3830
3831
3832
3833
3834
3835
3836
3837
3838
3839
3840
3841
3842
3843
3844
3845
3846
3847
3848
3849
3850
3851
3852
3853
3854
3855
3856
3857
3858
3859
3860
3861
3862
3863
3864
3865
3866
3867
3868
3869
3870
3871
3872
3873
3874
3875
3876
3877
3878
3879
3880
3881
3882
3883
3884
3885
3886
3887
3888
3889
3890
3891
3892
3893
3894
3895
3896
3897
3898
3899
3900
3901
3902
3903
3904
3905
3906
3907
3908
3909
3910
3911
3912
3913
3914
3915
3916
3917
3918
3919
3920
3921
3922
3923
3924
3925
3926
3927
3928
3929
3930
3931
3932
3933
3934
3935
3936
3937
3938
3939
3940
3941
3942
3943
3944
3945
3946
3947
3948
3949
3950
3951
3952
3953
3954
3955
3956
3957
3958
3959
3960
3961
3962
3963
3964
3965
3966
3967
3968
3969
3970
3971
3972
3973
3974
3975
3976
3977
3978
3979
3980
3981
3982
3983
3984
3985
3986
3987
3988
3989
3990
3991
3992
3993
3994
3995
3996
3997
3998
3999
4000
4001
4002
4003
4004
4005
4006
4007
4008
4009
4010
4011
4012
4013
4014
4015
4016
4017
4018
4019
4020
4021
4022
4023
4024
4025
4026
4027
4028
4029
4030
4031
4032
4033
4034
4035
4036
  
                       

                                                                    
                                                    
















                                                                         

                              
 
                      
 
                            
                         
                             
                         
                              
                         
                           
                            
 
                              
                                  
                                 
                               
                            
 
                          

                 
 

                        
                                                   
                                                                    
                 
                                     
                                                  
                           
                         
                                  


                                  
                   
                                       
                                                  
                           
                           
                                  


                                  
                   
                                       
                                                  
                           
                           
                                  


                                  
                    
                                        
                                                  
                           
                            
                                  


                                  
                 
                                    
                                                  
                                               
                         
                                  
                                                       
                                         
                 
               
                       

                                        
                           
                               
                                  
                                                       
                                                                 
                       
               
                       
                                    
                                                  
                           
                               
                                  
                                                          
                       
               
                             
                                         
                                                  
                           
                                     
                                  
                                                         


                                    
                     
                                    
                                                  
                           
                             
                                  
                                                          
                     
               
                  
                                      
                                                  
                           
                          
                                  
                                                          
                  
               
                      
                                         
                                                  
                           
                
                                  


                                                         
               
                                    
                                                  
                           
                       
                                  
                             
               
               
                 

                                         
                           
                             
                                  
                             
                     
               
                   

                                                  
                           
                           
                                  
                             
                   
               
                        

                                    
                                               
                                
                                  
                                                       
                                         
                        
               
                    
                                    
                                                  
                           
                            
                                  
                                                        
                    
               
                       
                                    
                                                  
                           
                               
                                  
                                                        
                       
               
                 

                                    
                           
                         
                                  
                                                        
                 
               
                           
                                    
                                                  
                           
                                   
                                  
                                                         


                                    
                      
                                    
                                                  
                                            
                              
                                  
                                                        
                      
               
                   

                                    
                           
                      
                                  
                                                        
              
               
                     
                                    
                                                  
                           
                             
                                  
                                                           
                     
               
                
                                    
                                                  
                           
                              
                                  
                                                        
                      
               
                   
                                    
                                                  
                           
                                
                                  
                                                       


                                    
             
                                        
                                                  
                                            
                     
                                  
                                                        


                                         
               
                                         
                                         
                                          
     
                                                  
      
                           
                       
                                  
                                
               
               
                       
                                       
                                                  
                           
                
                                  


                                                         
                    
                                    
                                                  
                           
                           
                                  


                                 
                    
                                    
                                                  
                           
                           
                                  


                                 
                    
                                    
                                                  
                           
                           
                                  


                                 
                    
                                    
                                                  
                           
                           
                                  


                                 
                    
                                    
                                                  
                           
                           
                                  


                                 
                    
                                    
                                                  
                           
                           
                                  


                                 
                    
                                    
                                                  
                           
                           
                                  


                                 
                    
                                    
                                                  
                           
                           
                                  


                                 
                    
                                    
                                                  
                           
                           
                                  


                                 
                     
                                    
                                                  
                           
                           
                                  


                                 
                     
                                        
                                                  
                           
                           
                                  


                                 
                     
                                         
                                                  
                           
                           
                                  


                                 
                     
                                            
                                                  
                           
                           
                                  


                                 
                     
                                         
                                                  
                           
                           
                                  


                                 
                     
                                       
                                                  
                           
                           
                                  


                                 
                     

                                                  
                           
                           
                                  


                                 
                     

                                                  
                           
                           
                                  


                                 
                     

                                                  
                           
                           
                                  


                                 
                     

                                                  
                           
                           
                                  


                                 
                     

                                                  
                           
                           
                                  


                                 
                     
                                     
                                                  
                                            
                                 
                                  
                                  
                        
               
                       
                                     
                                                  
                                            
                                   
                                  
                                                        
                            
               
                          
                                     
                                                  
                                            
                                      
                                  
                                                        
                                  
               
                          
                                     
                                                  
                                            
                                      
                                  
                                                        
                                  
               
                      
                                     
                                                  
                                            
                                  
                                  
                                                        
                                  
               
                        
                                     
                                                  
                                            
                                    
                                  
                                                        
                              
               
                     
                                     
                                                  
                                            
                                 
                                  
                                                        
                   
               
                         
                                     
                                                  
                                            
                                     
                                  
                                                        
                                     
               
                      
                                     
                                                  
                                            
                                  
                                  
                                                          
                                      
                          
               
                      
                                      
                                                  
                                            
                                  
                                  
                                                        
                          
               
                       
                                      
                                                  
                                            
                                   
                                  
                                                        
                            
               
                         
                                      
                                                  
                                            
                                          
                                  
                                                        
                            
               
                       
                                            
                                                  
                                            
                                   
                                  
                                                        
                                 
               
                     

                                                  
                                            
                                 
                                  
                                                        
                        
               
                     
                                    
                                                  
                                            
                                         
                                  
                                                        
                   
               
                      
                                    
                                                  
                                            
                                      
                                  
                                                        
                          
               
                       
                                    
                                                  
                                            
                                          
                                  
                                                        
                            
               
                           

                                                  
                                            
                                       
                                  
                                                        
                                    
               
                       

                                                  
                                            
                                        
                                  
                                                        
                            
               
                           

                                                  
                                            
                                       
                                  
                                  
                                    
               
                       
                                              
                                                  
                                            
                                   
                                  
                                                        
                            
               
                        

                                                  
                                            
                                
                                  
                                                         
                        
               
                        

                                                  
                                            
                                
                                  
                                                         
                        
               
                 
                                       
                                                  
                           
                
                                  


                                                         
                         
                                    
                                                  
                           
                        
                                


                             
                         
                                    
                                                  
                           
                        
                                


                             
                         
                                    
                                                  
                           
                        
                                


                             
                         
                                    
                                                  
                           
                        
                                


                             
                         
                                    
                                                  
                           
                        
                                


                             
                         
                                    
                                                  
                           
                        
                                


                             
                         
                                    
                                                  
                           
                        
                                


                             
                         
                                    
                                                  
                           
                        
                                


                             
                         
                                    
                                                  
                           
                        
                                


                             
                          
                                    
                                                  
                           
                        
                                


                             
                          
                                        
                                                  
                           
                        
                                


                             
                          
                                         
                                                  
                           
                        
                                


                             
                          
                                            
                                                  
                           
                        
                                


                             
                          
                                         
                                                  
                           
                        
                                


                             
                          
                                       
                                                  
                           
                        
                                


                             
                          
                                    
                                                  
                           
                        
                                


                             
                          
                                    
                                                  
                           
                        
                                


                             
                          
                                    
                                                  
                           
                        
                                


                             
                          
                                    
                                                  
                           
                        
                                


                             
                          
                                    
                                                  
                           
                        
                                


                             
                          
                                    
                                                  
                           
                        
                                


                             
                          
                                    
                                                  
                           
                        
                                


                             
                          
                                    
                                                  
                           
                        
                                


                             
                          
                                    
                                                  
                           
                        
                                


                             
                          
                                    
                                                  
                           
                        
                                


                             
                          
                                              
                                                  
                           
                        
                                


                             
                          
                                               
                                                  
                           
                        
                                


                             
                          
                                            
                                                  
                           
                        
                                


                             
                          
                                    
                                                  
                           
                        
                                


                             
                          
                                    
                                                  
                           
                        
                                


                             
                          
                                    
                                                  
                           
                        
                                


                             
                          
                                    
                                                  
                           
                        
                                


                             
                          
                                    
                                                  
                           
                        
                                


                             
                          
                                    
                                                  
                           
                        
                                


                             
                          
                                    
                                                  
                           
                        
                                


                             
                          
                                    
                                                  
                           
                        
                                


                             
                          
                                    
                                                  
                           
                        
                                


                             
                          
                                            
                                                  
                           
                        
                                


                             
                          
                                        
                                                  
                           
                        
                                


                             
                          
                                    
                                                  
                           
                        
                                


                             
                          
                                    
                                                  
                           
                        
                                


                             
                          
                                    
                                                  
                           
                        
                                


                             
                          
                                    
                                                  
                           
                        
                                


                             
                          
                                    
                                                  
                           
                        
                                


                             
                          
                                    
                                                  
                           
                        
                                


                             
                          
                                    
                                                  
                           
                        
                                


                             
                          
                                        
                                                  
                           
                        
                                


                             
                          
                                         
                                                  
                           
                        
                                


                             
                     
                                        
                                                  
                           
                
                                  


                                                         
                     
                                       
                                                  
                           
                
                                  


                                                         
                            
                                               
                                                  
                           
                                       
                                  


                                                          
                          
                                    
                                                  
                          
                         
                                   


                             
                          
                                    
                                                  
                          
                         
                                   


                             
                          
                                    
                                                  
                          
                         
                                   


                             
                          
                                    
                                                  
                          
                         
                                   


                             
                          
                                    
                                                  
                          
                         
                                   


                             
                          
                                    
                                                  
                          
                         
                                   


                             
                          
                                    
                                                  
                          
                         
                                   


                             
                          
                                    
                                                  
                          
                         
                                   


                             
                          
                                    
                                                  
                          
                         
                                   


                             
                           
                                    
                                                  
                          
                         
                                   


                             
                           
                                        
                                                  
                          
                         
                                   


                             
                           
                                         
                                                  
                          
                         
                                   


                             
                           
                                            
                                                  
                          
                         
                                   


                             
                           
                                         
                                                  
                          
                         
                                   


                             
                           
                                       
                                                  
                          
                         
                                   


                             
                           
                                    
                                                  
                          
                         
                                   


                             
                           
                                    
                                                  
                          
                         
                                   


                             
                           
                                    
                                                  
                          
                         
                                   


                             
                           
                                    
                                                  
                          
                         
                                   


                             
                           
                                    
                                                  
                          
                         
                                   


                             
                           
                                    
                                                  
                          
                         
                                   


                             
                           
                                    
                                                  
                          
                         
                                   


                             
                           
                                    
                                                  
                          
                         
                                   


                             
                           
                                    
                                                  
                          
                         
                                   


                             
                           
                                    
                                                  
                          
                         
                                   


                             
                           
                                              
                                                  
                          
                         
                                   


                             
                           
                                               
                                                  
                          
                         
                                   


                             
                           
                                            
                                                  
                          
                         
                                   


                             
                           
                                    
                                                  
                          
                         
                                   


                             
                           
                                    
                                                  
                          
                         
                                   


                             
                           
                                    
                                                  
                          
                         
                                   


                             
                           
                                    
                                                  
                          
                         
                                   


                             
                           
                                    
                                                  
                          
                         
                                   


                             
                           
                                    
                                                  
                          
                         
                                   


                             
                           
                                    
                                                  
                          
                         
                                   


                             
                           
                                    
                                                  
                          
                         
                                   


                             
                           
                                    
                                                  
                          
                         
                                   


                             
                           
                                            
                                                  
                          
                         
                                   


                             
                           
                                        
                                                  
                          
                         
                                   


                             
                           
                                    
                                                  
                          
                         
                                   


                             
                           
                                    
                                                  
                          
                         
                                   


                             
                           
                                    
                                                  
                          
                         
                                   


                             
                           
                                    
                                                  
                          
                         
                                   


                             
                           
                                    
                                                  
                          
                         
                                   


                             
                           
                                    
                                                  
                          
                         
                                   


                             
                           
                                    
                                                  
                          
                         
                                   


                             
                           
                                        
                                                  
                          
                         
                                   


                             
                           
                                         
                                                  
                          
                         
                                   


                             
                               
                                    
                                                  
                               
                              
                                        


                             
                               
                                    
                                                  
                               
                              
                                        


                             
                               
                                    
                                                  
                               
                              
                                        


                             
                               
                                    
                                                  
                               
                              
                                        


                             
                               
                                    
                                                  
                               
                              
                                        


                             
                               
                                    
                                                  
                               
                              
                                        


                             
                               
                                    
                                                  
                               
                              
                                        


                             
                               
                                    
                                                  
                               
                              
                                        


                             
                               
                                    
                                                  
                               
                              
                                        


                             
                                
                                    
                                                  
                               
                              
                                        


                             
                                
                                        
                                                  
                               
                              
                                        


                             
                                
                                         
                                                  
                               
                              
                                        


                             
                                
                                            
                                                  
                               
                              
                                        


                             
                                
                                         
                                                  
                               
                              
                                        


                             
                                
                                       
                                                  
                               
                              
                                        


                             
                                
                                    
                                                  
                               
                              
                                        


                             
                                
                                    
                                                  
                               
                              
                                        


                             
                                
                                    
                                                  
                               
                              
                                        


                             
                                
                                    
                                                  
                               
                              
                                        


                             
                                
                                    
                                                  
                               
                              
                                        


                             
                                
                                    
                                                  
                               
                              
                                        


                             
                                
                                    
                                                  
                               
                              
                                        


                             
                                
                                    
                                                  
                               
                              
                                        


                             
                                
                                    
                                                  
                               
                              
                                        


                             
                                
                                    
                                                  
                               
                              
                                        


                             
                                
                                              
                                                  
                               
                              
                                        


                             
                                
                                               
                                                  
                               
                              
                                        


                             
                                
                                            
                                                  
                               
                              
                                        


                             
                                
                                    
                                                  
                               
                              
                                        


                             
                                
                                    
                                                  
                               
                              
                                        


                             
                                
                                    
                                                  
                               
                              
                                        


                             
                                
                                    
                                                  
                               
                              
                                        


                             
                                
                                    
                                                  
                               
                              
                                        


                             
                                
                                    
                                                  
                               
                              
                                        


                             
                                
                                    
                                                  
                               
                              
                                        


                             
                                
                                    
                                                  
                               
                              
                                        


                             
                                
                                    
                                                  
                               
                              
                                        


                             
                                
                                            
                                                  
                               
                              
                                        


                             
                                
                                        
                                                  
                               
                              
                                        


                             
                                
                                    
                                                  
                               
                              
                                        


                             
                                
                                    
                                                  
                               
                              
                                        


                             
                                
                                    
                                                  
                               
                              
                                        


                             
                                
                                    
                                                  
                               
                              
                                        


                             
                                
                                    
                                                  
                               
                              
                                        


                             
                                
                                    
                                                  
                               
                              
                                        


                             
                                
                                    
                                                  
                               
                              
                                        


                             
                                
                                        
                                                  
                               
                              
                                        


                             
                                
                                         
                                                  
                               
                              
                                        


                             
               
                                         
                                                  
                                             
                             
                                  
                                                        
                                                               
               
               
                       
                                         
                                                  
                                            
                               
                                  
                                                         
                       
               
                         
                                           
                                                  
                                            
                                 
                                  
                                                         
                         
               
                      
                                      
                                                  
                                            
                              
                                  
                                                         
                  
               
                      
                                      
                                                  
                                            
                              
                                  
                                                         
                  
               
                       

                                                  
                                            
                               
                                  
                                                         
                
               
                          
                                      
                                                  
                                             
                
                                  


                                                         
                          
                                      
                                                  
                                             
                
                                  


                                                         
                       
               
                                                  
     
                                         
      
                                                  
                           
                              
                                   


                                
                       
               
                                                  
     
                                         
      
                                                  
                           
                              
                                   


                                
                   
                                                  
                                                  
                           
                           
                                  
                             
                          
               
                     
                                                  
                                                  
                           
                             
                                  
                             
                              
               
                     
                                                  
                                                  
                           
                             
                                  
                             
                              
               
                      
                                                  
                                                  
                           
                              
                                  
                             
                                
               
                     
                                        
                                                  
                           
                             
                                  


                                                          
                              
                                            
                                                  
                           
                                  
                                  
                                                         


                                    
                    
                                    
                                                  
                           
                            
                                  
                                                          
               
               
                     
                                    
                                                  
                           
                           
                                  
                                                          
                
               
                          
                                    
                                                  
                           
                                  
                                  


                                                          
                     
                                    
                                                  
                           
                       
                                  
                                                          

               
                       
                                    
                                                  
                           
                          
                                  
                                                          
                  
               
                      
                                    
                                                  
                           
                              
                                  
                                                          
                      
               
                            
                                        
                                                  
                           
                                        
                                  
                                                         


                                    
                          

                                                  
                           
                                
                                  
                                                         


                                    
                          

                                                   
                           
                                 
                                  
                                                         


                                    
                                 
                                    
                                                  
                           
                                         
                                  
                                                         


                                    
                           
                                      
                                                  
                           
                                   
                                  
                                                         


                                    
                           
                                      
                                                  
                           
                                   
                                  
                                                         


                                    
                              
                                      
                                                  
                           
                                      
                                  
                                                         


                                    
                               
                                      
                                                  
                           
                                     
                                  


                                                          
                      
                                      
                                                  
                           
                              
                                  
                                                          
                
               
               
                                      
                                                  
                           
                       
                                  


                                                          
                     
                                      
                                                  
                           
                             
                                  
                                                        
                                                               
                     
               
                     
                                          
                                                  
                           
                         
                                  
                                                         


                                    
              

                                                  
          
                
                                  


                                
                
                                     
                                                  

                           
                                  


                                
                  
                                       
                                                  

                           
                                  


                                
                  
                                       
                                                  

                           
                                  


                                
                   
                                        
                                                  

                           
                                  


                                
                    
                                        
                                                  

                           
                                  


                                
                     
                                         
                                                  

                           
                                  


                                
                    
                                         
                                         
                                          
     
                                                  
      

                           
                                  


                                
                  
                                       
                                                  

                           
                                  


                                
                 
                                      
                                                  

                           
                                  


                                
                    
                                         
                                                  

                           
                                  


                                
                       
                                            
                                                  

                           
                                  


                                
                 
                                      
                                                  

                           
                                  


                                
                    
                                         
                                                  

                           
                                  


                                
                      
                                           
                                                  

                           
                                  


                                
                    
                                         
                                                  

                           
                                  


                                
                 

                                         

                           
                                  


                                
                    
                                           
                                                  
                           
                                
                                  


                                
                  

                                                  
                           
                          
                                  
                                                         
               
               
                       

                                                  
                           
                               
                                  
                                
                       
               
                      

                                                  
                           
                              
                                  
                                
                      
               
                  
                                         
                                                  

                        
                                  


                                                         
                      

                                                  
                           
                              
                                  


                                  
                  

                                        

                           
                                  


                                
               
                                    
                                                  

                           
                                  


                                
               
                                    
                                                  

                           
                                  


                                
               
                                    
                                                  

                           
                                  


                                
               
                                    
                                                  

                           
                                  


                                
               
                                    
                                                  

                           
                                  


                                
               
                                    
                                                  

                           
                                  


                                
               
                                    
                                                  

                           
                                  


                                
               
                                    
                                                  

                           
                                  


                                
               
                                    
                                                  

                           
                                  


                                
               
                                    
                                                  

                           
                                  


                                
                           

                                                  
                                            
                                   
                                  
                                                         
                          
               
                           

                                                  
                                            
                                   
                                  
                                                         
                          
               
                          

                                                  
                                            
                                  
                                  
                                                         
                          
               
                          

                                                  
                                            
                                  
                                  
                                                         
                          
               
                    

                                                  
                           
                            
                                  
                                                        
                
               

                
                                     
                                                  

                                             
                                  


                                
                
                                     
                                                  

                                             
                                  


                                
                
                                     
                                                  

                                             
                                  


                                
                
                                     
                                                  

                                             
                                  


                                
                
                                     
                                                  

                                             
                                  


                                
                
                                     
                                                  

                                             
                                  


                                
                
                                     
                                                  

                                             
                                  


                                
                
                                     
                                                  

                                             
                                  


                                
                
                                     
                                                  

                                             
                                  


                                
                 
                                      
                                                  

                                             
                                  


                                
                 
                                      
                                                  

                                             
                                  


                                
                 
                                      
                                                  

                                             
                                  


                                
                      

                                                  
                                            
                                  
                                  
                                  
                
               



                                                  
                                    
                                  
                             
                  
               



                                                  
                                       

                                                       
                                         
                               








                                                  








                                                  








                                                  








                                                  








                                                  








                                                  








                                                  







                                                  
                         








                                                  








                                                  








                                                  








                                                  








                                                  








                                                  








                                                  








                                                  








                                                  








                                                  








                                                  








                                                  








                                                  








                                                  








                                                  








                                                  








                                                  








                                                  









                                                  







                                                  








                                                  








                                                  








                                                  








                                                  









                                                  







                                                  








                                                  








                                                  








                                                  








                                                  








                                                  








                                                  








                                                  








                                                  








                                                  








                                                  








                                                  








                                                  








                                                  









                                                  







                                                  








                                                  








                                                  








                                                  








                                                  








                                                  








                                                  








                                                  








                                                  








                                                  








                                                  








                                                  








                                                  








                                                  








                                                  








                                                  








                                                  








                                                  
















                                                  








                                                  








                                                  








                                                  








                                                  








                                                  








                                                  








                                                  








                                                  








                                                  
              







                                                  








                                                  








                                                  








                                                  








                                                  








                                                  








                                                  
























































































































































































































































































































































































































































                                                         









                                                  

















                                                  







                                                  








                                                          








                                                          









                                                  







                                                                        








                                                  









                                                  

















                                                         









                                                               








                                                  








                                                  








                                                  








                                                  








                                                  








                                                  








                                                  








                                                  








                                                  








                                                  








                                                  








                                                  








                                                  








                                                  








                                                  








                                                  








                                                  
  
 
                                 
/*
 *  The ManaPlus Client
 *  Copyright (C) 2007  Joshua Langley <joshlangley@optusnet.com.au>
 *  Copyright (C) 2009-2010  The Mana Developers
 *  Copyright (C) 2011-2014  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 INPUT_INPUTACTIONMAP_H
#define INPUT_INPUTACTIONMAP_H

#include "sdlshared.h"

#include "actions/actions.h"
#include "actions/chat.h"
#include "actions/commands.h"
#include "actions/move.h"
#include "actions/statusbar.h"
#include "actions/tabs.h"
#include "actions/target.h"
#include "actions/windows.h"

#include "input/inputaction.h"
#include "input/inputactiondata.h"
#include "input/inputcondition.h"
#include "input/inputmanager.h"
#include "input/inputtype.h"

#include "utils/gettext.h"

#include <string>

#include "localconsts.h"

// keyData must be in same order as enum keyAction.
static const InputActionData inputActionData[InputAction::TOTAL] = {
    {"keyMoveUp",
        InputType::KEYBOARD, SDLK_UP,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::moveUp,
        InputAction::NO_VALUE, 50,
        InputCondition::ARROWKEYS,
        "",
        false},
    {"keyMoveDown",
        InputType::KEYBOARD, SDLK_DOWN,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::moveDown,
        InputAction::NO_VALUE, 50,
        InputCondition::ARROWKEYS,
        "",
        false},
    {"keyMoveLeft",
        InputType::KEYBOARD, SDLK_LEFT,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::moveLeft,
        InputAction::NO_VALUE, 50,
        InputCondition::ARROWKEYS,
        "",
        false},
    {"keyMoveRight",
        InputType::KEYBOARD, SDLK_RIGHT,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::moveRight,
        InputAction::NO_VALUE, 50,
        InputCondition::ARROWKEYS,
        "",
        false},
    {"keyAttack",
        InputType::KEYBOARD, SDLK_x,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT | Input::GRP_REPEAT,
        &Actions::attack,
        InputAction::NO_VALUE, 50,
        InputCondition::GAME | InputCondition::NOFOLLOW
            | InputCondition::VALIDSPEED,
        "attack",
        false},
    {"keyTargetAttack",
        InputType::KEYBOARD, SDLK_LCTRL,
        InputType::JOYSTICK, 0,
        Input::GRP_DEFAULT,
        &Actions::targetAttack,
        InputAction::NO_VALUE, 50,
        InputCondition::GAME | InputCondition::NOFOLLOW
            | InputCondition::VALIDSPEED | InputCondition::ALIVE,
        "targetattack",
        false},
    {"keyMoveToTarget",
        InputType::KEYBOARD, SDLK_v,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::moveToTarget,
        InputAction::NO_VALUE, 50,
        InputCondition::GAME | InputCondition::VALIDSPEED,
        "movetotarget",
        false},
    {"keyChangeMoveToTarget",
        InputType::KEYBOARD, SDLK_PERIOD,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::changeMoveToTarget,
        InputAction::NO_VALUE, 50,
        InputCondition::GAME | InputCondition::VALIDSPEED
            | InputCondition::EMODS,
        "",
        false},
    {"keyMoveToHome",
        InputType::KEYBOARD, SDLK_d,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::moveToHome,
        InputAction::NO_VALUE, 50,
        InputCondition::GAME | InputCondition::VALIDSPEED,
        "movetohome",
        false},
    {"keySetHome",
        InputType::KEYBOARD, SDLK_KP5,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::setHome,
        InputAction::NO_VALUE, 50,
        InputCondition::GAME | InputCondition::VALIDSPEED,
        "sethome",
        false},
    {"keyMoveToPoint",
        InputType::KEYBOARD, SDLK_RSHIFT,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        nullptr,
        InputAction::NO_VALUE, 50,
        InputCondition::DEFAULT | InputCondition::INGAME,
        "",
        false},
    {"keyTalk",
        InputType::KEYBOARD, SDLK_t,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::talk,
        InputAction::NO_VALUE, 50,
        InputCondition::GAME,
        "talk",
        false},
    {"keyTarget",
        InputType::KEYBOARD, SDLK_LSHIFT,
        InputType::JOYSTICK, 4,
        Input::GRP_DEFAULT,
        &Actions::stopAttack,
        InputAction::NO_VALUE, 50,
        InputCondition::GAME,
        "stopattack",
        false},
    {"keyUnTarget",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::untarget,
        InputAction::NO_VALUE, 50,
        InputCondition::GAME,
        "untarget",
        false},
    {"keyTargetMonster",
        InputType::KEYBOARD, SDLK_a,
        InputType::JOYSTICK, 3,
        Input::GRP_DEFAULT | Input::GRP_REPEAT,
        &Actions::targetMonster,
        InputAction::NO_VALUE, 50,
        InputCondition::GAME | InputCondition::NOTARGET
            | InputCondition::VALIDSPEED,
        "targetmonster",
        false},
    {"keyTargetNPC",
        InputType::KEYBOARD, SDLK_n,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::targetNPC,
        InputAction::NO_VALUE, 50,
        InputCondition::GAME | InputCondition::NOTARGET,
        "targetnpc",
        false},
    {"keyTargetPlayer",
        InputType::KEYBOARD, SDLK_q,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::targetPlayer,
        InputAction::NO_VALUE, 50,
        InputCondition::GAME | InputCondition::NOTARGET,
        "targetplayer",
        false},
    {"keyPickup",
        InputType::KEYBOARD, SDLK_z,
        InputType::JOYSTICK, 1,
        Input::GRP_DEFAULT,
        &Actions::pickup,
        InputAction::NO_VALUE, 50,
        InputCondition::GAME | InputCondition::NOTARGET,
        "pickup",
        false},
    {"keyChangePickupType",
        InputType::KEYBOARD, SDLK_o,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::changePickupType,
        InputAction::NO_VALUE, 50,
        InputCondition::GAME | InputCondition::VALIDSPEED
            | InputCondition::EMODS,
        "",
        false},
    {"keyHideWindows",
        InputType::KEYBOARD, SDLK_h,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT | Input::GRP_GUI,
        &Actions::hideWindows,
        InputAction::NO_VALUE, 50,
        InputCondition::GAME | InputCondition::NOTARGET,
        "hidewindows",
        false},
    {"keyBeingSit",
        InputType::KEYBOARD, SDLK_s,
        InputType::JOYSTICK, 2,
        Input::GRP_DEFAULT,
        &Actions::sit,
        InputAction::NO_VALUE, 50,
        InputCondition::GAME | InputCondition::NOTARGET,
        "sit",
        false},
    {"keyScreenshot",
        InputType::KEYBOARD, SDLK_p,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::screenshot,
        InputAction::NO_VALUE, 50,
        InputCondition::NOTARGET | InputCondition::NOINPUT,
        "screenshot",
        false},
    {"keyTrade",
        InputType::KEYBOARD, SDLK_r,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::changeTrade,
        InputAction::NO_VALUE, 50,
        InputCondition::GAME | InputCondition::NOTARGET,
        "changetrade",
        false},
    {"keyPathfind",
        InputType::KEYBOARD, SDLK_f,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::changeMapMode,
        InputAction::NO_VALUE, 50,
        InputCondition::GAME | InputCondition::NOTARGET
            | InputCondition::EMODS,
        "",
        false},
    {"keyOK",
        InputType::KEYBOARD, SDLK_SPACE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT | Input::GRP_GUI,
        &Actions::ok,
        InputAction::NO_VALUE, 50,
        InputCondition::NOMODAL | InputCondition::NOAWAY
            | InputCondition::NONPCINPUT,
        "",
        false},
    {"keyQuit",
        InputType::KEYBOARD, SDLK_ESCAPE,
#if defined(USE_SDL2) && defined(ANDROID)
        InputType::KEYBOARD, SDLK_AC_BACK,
#else
        InputType::UNKNOWN, InputAction::NO_VALUE,
#endif
        Input::GRP_DEFAULT,
        &Actions::quit,
        InputAction::NO_VALUE, 50,
        InputCondition::DEFAULT,
        "quit",
        false},
    {"keyShortcutsKey",
        InputType::KEYBOARD, SDLK_MENU,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        nullptr,
        InputAction::NO_VALUE, 50,
        InputCondition::DEFAULT | InputCondition::INGAME,
        "",
        false},
    {"keyShortcut1",
        InputType::KEYBOARD, SDLK_1,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::shortcut,
        InputAction::NO_VALUE, 50,
        InputCondition::SHORTCUT,
        "",
        false},
    {"keyShortcut2",
        InputType::KEYBOARD, SDLK_2,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::shortcut,
        InputAction::NO_VALUE, 50,
        InputCondition::SHORTCUT,
        "",
        false},
    {"keyShortcut3",
        InputType::KEYBOARD, SDLK_3,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::shortcut,
        InputAction::NO_VALUE, 50,
        InputCondition::SHORTCUT,
        "",
        false},
    {"keyShortcut4",
        InputType::KEYBOARD, SDLK_4,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::shortcut,
        InputAction::NO_VALUE, 50,
        InputCondition::SHORTCUT,
        "",
        false},
    {"keyShortcut5",
        InputType::KEYBOARD, SDLK_5,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::shortcut,
        InputAction::NO_VALUE, 50,
        InputCondition::SHORTCUT,
        "",
        false},
    {"keyShortcut6",
        InputType::KEYBOARD, SDLK_6,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::shortcut,
        InputAction::NO_VALUE, 50,
        InputCondition::SHORTCUT,
        "",
        false},
    {"keyShortcut7",
        InputType::KEYBOARD, SDLK_7,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::shortcut,
        InputAction::NO_VALUE, 50,
        InputCondition::SHORTCUT,
        "",
        false},
    {"keyShortcut8",
        InputType::KEYBOARD, SDLK_8,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::shortcut,
        InputAction::NO_VALUE, 50,
        InputCondition::SHORTCUT,
        "",
        false},
    {"keyShortcut9",
        InputType::KEYBOARD, SDLK_9,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::shortcut,
        InputAction::NO_VALUE, 50,
        InputCondition::SHORTCUT,
        "",
        false},
    {"keyShortcut10",
        InputType::KEYBOARD, SDLK_0,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::shortcut,
        InputAction::NO_VALUE, 50,
        InputCondition::SHORTCUT,
        "",
        false},
    {"keyShortcut11",
        InputType::KEYBOARD, SDLK_MINUS,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::shortcut,
        InputAction::NO_VALUE, 50,
        InputCondition::SHORTCUT,
        "",
        false},
    {"keyShortcut12",
        InputType::KEYBOARD, SDLK_EQUALS,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::shortcut,
        InputAction::NO_VALUE, 50,
        InputCondition::SHORTCUT,
        "",
        false},
    {"keyShortcut13",
        InputType::KEYBOARD, SDLK_BACKSPACE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::shortcut,
        InputAction::NO_VALUE, 50,
        InputCondition::SHORTCUT,
        "",
        false},
    {"keyShortcut14",
        InputType::KEYBOARD, SDLK_INSERT,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::shortcut,
        InputAction::NO_VALUE, 50,
        InputCondition::SHORTCUT,
        "",
        false},
    {"keyShortcut15",
        InputType::KEYBOARD, SDLK_HOME,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::shortcut,
        InputAction::NO_VALUE, 50,
        InputCondition::SHORTCUT,
        "",
        false},
    {"keyShortcut16",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::shortcut,
        InputAction::NO_VALUE, 50,
        InputCondition::SHORTCUT,
        "",
        false},
    {"keyShortcut17",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::shortcut,
        InputAction::NO_VALUE, 50,
        InputCondition::SHORTCUT,
        "",
        false},
    {"keyShortcut18",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::shortcut,
        InputAction::NO_VALUE, 50,
        InputCondition::SHORTCUT,
        "",
        false},
    {"keyShortcut19",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::shortcut,
        InputAction::NO_VALUE, 50,
        InputCondition::SHORTCUT,
        "",
        false},
    {"keyShortcut20",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::shortcut,
        InputAction::NO_VALUE, 50,
        InputCondition::SHORTCUT,
        "",
        false},
    {"keyWindowHelp",
        InputType::KEYBOARD, SDLK_F1,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT | Input::GRP_GUI,
        &Actions::helpWindowShow,
        InputAction::NO_VALUE, 50,
        InputCondition::SHORTCUT0,
        "help|openhelp",
        false},
    {"keyWindowStatus",
        InputType::KEYBOARD, SDLK_F2,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT | Input::GRP_GUI,
        &Actions::statusWindowShow,
        InputAction::NO_VALUE, 50,
        InputCondition::GAME | InputCondition::NOTARGET,
        "status|openstatus",
        false},
    {"keyWindowInventory",
        InputType::KEYBOARD, SDLK_F3,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT | Input::GRP_GUI,
        &Actions::inventoryWindowShow,
        InputAction::NO_VALUE, 50,
        InputCondition::GAME | InputCondition::NOTARGET,
        "inventory|openinventory",
        false},
    {"keyWindowEquipment",
        InputType::KEYBOARD, SDLK_F4,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT | Input::GRP_GUI,
        &Actions::equipmentWindowShow,
        InputAction::NO_VALUE, 50,
        InputCondition::GAME | InputCondition::NOTARGET,
        "equipment|openequipment",
        false},
    {"keyWindowSkill",
        InputType::KEYBOARD, SDLK_F5,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT | Input::GRP_GUI,
        &Actions::skillDialogShow,
        InputAction::NO_VALUE, 50,
        InputCondition::GAME | InputCondition::NOTARGET,
        "skill|skills|openskills",
        false},
    {"keyWindowMinimap",
        InputType::KEYBOARD, SDLK_F6,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT | Input::GRP_GUI,
        &Actions::minimapWindowShow,
        InputAction::NO_VALUE, 50,
        InputCondition::GAME | InputCondition::NOTARGET,
        "minimap|openminimap",
        false},
    {"keyWindowChat",
        InputType::KEYBOARD, SDLK_F7,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT | Input::GRP_GUI,
        &Actions::chatWindowShow,
        InputAction::NO_VALUE, 50,
        InputCondition::GAME | InputCondition::NOTARGET,
        "openchat",
        false},
    {"keyWindowShortcut",
        InputType::KEYBOARD, SDLK_F8,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT | Input::GRP_GUI,
        &Actions::shortcutWindowShow,
        InputAction::NO_VALUE, 50,
        InputCondition::GAME | InputCondition::NOTARGET,
        "openshortcut|openshortcuts",
        false},
    {"keyWindowSetup",
        InputType::KEYBOARD, SDLK_F9,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT | Input::GRP_GUI,
        &Actions::setupWindowShow,
        InputAction::NO_VALUE, 50,
        InputCondition::NOTARGET | InputCondition::NOINPUT
            | InputCondition::ENABLED,
        "setup|opensetup",
        false},
    {"keyWindowDebug",
        InputType::KEYBOARD, SDLK_F10,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT | Input::GRP_GUI,
        &Actions::debugWindowShow,
        InputAction::NO_VALUE, 50,
        InputCondition::GAME | InputCondition::NOTARGET,
        "debug|opendebug",
        false},
    {"keyWindowSocial",
        InputType::KEYBOARD, SDLK_F11,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT | Input::GRP_GUI,
        &Actions::socialWindowShow,
        InputAction::NO_VALUE, 50,
        InputCondition::GAME | InputCondition::NOTARGET,
        "social|opensocial",
        false},
    {"keyWindowEmoteBar",
        InputType::KEYBOARD, SDLK_F12,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT | Input::GRP_GUI,
        &Actions::emoteShortcutWindowShow,
        InputAction::NO_VALUE, 50,
        InputCondition::GAME | InputCondition::NOTARGET,
        "emotes|openemotes",
        false},
    {"keyWindowOutfit",
        InputType::KEYBOARD, SDLK_BACKQUOTE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT | Input::GRP_GUI,
        &Actions::outfitWindowShow,
        InputAction::NO_VALUE, 50,
        InputCondition::GAME | InputCondition::NOTARGET,
        "openoutfit|openoutfits",
        false},
    {"keyWindowShop",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT | Input::GRP_GUI,
        &Actions::shopWindowShow,
        InputAction::NO_VALUE, 50,
        InputCondition::GAME | InputCondition::NOTARGET,
        "shop|openshop",
        false},
    {"keyWindowDrop",
        InputType::KEYBOARD, SDLK_w,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT | Input::GRP_GUI,
        &Actions::dropShortcutWindowShow,
        InputAction::NO_VALUE, 50,
        InputCondition::GAME | InputCondition::NOTARGET,
        "opendrop",
        false},
    {"keyWindowKills",
        InputType::KEYBOARD, SDLK_e,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT | Input::GRP_GUI,
        &Actions::killStatsWindowShow,
        InputAction::NO_VALUE, 50,
        InputCondition::GAME | InputCondition::NOTARGET,
        "kills|openkills",
        false},
    {"keyWindowSpells",
        InputType::KEYBOARD, SDLK_j,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT | Input::GRP_GUI,
        &Actions::spellShortcutWindowShow,
        InputAction::NO_VALUE, 50,
        InputCondition::GAME | InputCondition::NOTARGET,
        "spells|openspells",
        false},
    {"keyWindowBotChecker",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT | Input::GRP_GUI,
        &Actions::botcheckerWindowShow,
        InputAction::NO_VALUE, 50,
        InputCondition::GAME | InputCondition::NOTARGET,
        "botchecker|openbotchecker",
        false},
    {"keyWindowOnline",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT | Input::GRP_GUI,
        &Actions::whoIsOnlineWindowShow,
        InputAction::NO_VALUE, 50,
        InputCondition::GAME | InputCondition::NOTARGET,
        "online|openonline",
        false},
    {"keyWindowDidYouKnow",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT | Input::GRP_GUI,
        &Actions::didYouKnowWindowShow,
        InputAction::NO_VALUE, 50,
        InputCondition::SHORTCUT0,
        "didyouknow|opendidyouknow",
        false},
    {"keyWindowQuests",
        InputType::KEYBOARD, SDLK_LEFTBRACKET,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT | Input::GRP_GUI,
        &Actions::questsWindowShow,
        InputAction::NO_VALUE, 50,
        InputCondition::GAME | InputCondition::NOTARGET,
        "quests|openquests",
        false},
    {"keySocialPrevTab",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT | Input::GRP_GUI,
        &Actions::prevSocialTab,
        InputAction::NO_VALUE, 50,
        InputCondition::NOINPUT | InputCondition::INGAME,
        "prevsocialtab",
        false},
    {"keySocialNextTab",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT | Input::GRP_GUI,
        &Actions::nextSocialTab,
        InputAction::NO_VALUE, 50,
        InputCondition::NOINPUT | InputCondition::INGAME,
        "nextsocialtab",
        false},
    {"keySmilie",
        InputType::KEYBOARD, SDLK_LALT,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        nullptr,
        InputAction::NO_VALUE, 50,
        InputCondition::DEFAULT | InputCondition::INGAME,
        "",
        false},
    {"keyEmoteShortcut1",
        InputType::KEYBOARD, SDLK_1,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_EMOTION,
        &Actions::emote,
        InputAction::EMOTE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyEmoteShortcut2",
        InputType::KEYBOARD, SDLK_2,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_EMOTION,
        &Actions::emote,
        InputAction::EMOTE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyEmoteShortcut3",
        InputType::KEYBOARD, SDLK_3,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_EMOTION,
        &Actions::emote,
        InputAction::EMOTE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyEmoteShortcut4",
        InputType::KEYBOARD, SDLK_4,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_EMOTION,
        &Actions::emote,
        InputAction::EMOTE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyEmoteShortcut5",
        InputType::KEYBOARD, SDLK_5,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_EMOTION,
        &Actions::emote,
        InputAction::EMOTE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyEmoteShortcut6",
        InputType::KEYBOARD, SDLK_6,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_EMOTION,
        &Actions::emote,
        InputAction::EMOTE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyEmoteShortcut7",
        InputType::KEYBOARD, SDLK_7,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_EMOTION,
        &Actions::emote,
        InputAction::EMOTE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyEmoteShortcut8",
        InputType::KEYBOARD, SDLK_8,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_EMOTION,
        &Actions::emote,
        InputAction::EMOTE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyEmoteShortcut9",
        InputType::KEYBOARD, SDLK_9,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_EMOTION,
        &Actions::emote,
        InputAction::EMOTE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyEmoteShortcut10",
        InputType::KEYBOARD, SDLK_0,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_EMOTION,
        &Actions::emote,
        InputAction::EMOTE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyEmoteShortcut11",
        InputType::KEYBOARD, SDLK_MINUS,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_EMOTION,
        &Actions::emote,
        InputAction::EMOTE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyEmoteShortcut12",
        InputType::KEYBOARD, SDLK_EQUALS,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_EMOTION,
        &Actions::emote,
        InputAction::EMOTE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyEmoteShortcut13",
        InputType::KEYBOARD, SDLK_BACKSPACE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_EMOTION,
        &Actions::emote,
        InputAction::EMOTE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyEmoteShortcut14",
        InputType::KEYBOARD, SDLK_INSERT,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_EMOTION,
        &Actions::emote,
        InputAction::EMOTE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyEmoteShortcut15",
        InputType::KEYBOARD, SDLK_HOME,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_EMOTION,
        &Actions::emote,
        InputAction::EMOTE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyEmoteShortcut16",
        InputType::KEYBOARD, SDLK_q,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_EMOTION,
        &Actions::emote,
        InputAction::EMOTE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyEmoteShortcut17",
        InputType::KEYBOARD, SDLK_w,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_EMOTION,
        &Actions::emote,
        InputAction::EMOTE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyEmoteShortcut18",
        InputType::KEYBOARD, SDLK_e,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_EMOTION,
        &Actions::emote,
        InputAction::EMOTE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyEmoteShortcut19",
        InputType::KEYBOARD, SDLK_r,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_EMOTION,
        &Actions::emote,
        InputAction::EMOTE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyEmoteShortcut20",
        InputType::KEYBOARD, SDLK_t,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_EMOTION,
        &Actions::emote,
        InputAction::EMOTE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyEmoteShortcut21",
        InputType::KEYBOARD, SDLK_y,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_EMOTION,
        &Actions::emote,
        InputAction::EMOTE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyEmoteShortcut22",
        InputType::KEYBOARD, SDLK_u,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_EMOTION,
        &Actions::emote,
        InputAction::EMOTE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyEmoteShortcut23",
        InputType::KEYBOARD, SDLK_i,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_EMOTION,
        &Actions::emote,
        InputAction::EMOTE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyEmoteShortcut24",
        InputType::KEYBOARD, SDLK_o,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_EMOTION,
        &Actions::emote,
        InputAction::EMOTE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyEmoteShortcut25",
        InputType::KEYBOARD, SDLK_p,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_EMOTION,
        &Actions::emote,
        InputAction::EMOTE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyEmoteShortcut26",
        InputType::KEYBOARD, SDLK_LEFTBRACKET,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_EMOTION,
        &Actions::emote,
        InputAction::EMOTE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyEmoteShortcut27",
        InputType::KEYBOARD, SDLK_RIGHTBRACKET,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_EMOTION,
        &Actions::emote,
        InputAction::EMOTE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyEmoteShortcut28",
        InputType::KEYBOARD, SDLK_BACKSLASH,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_EMOTION,
        &Actions::emote,
        InputAction::EMOTE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyEmoteShortcut29",
        InputType::KEYBOARD, SDLK_a,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_EMOTION,
        &Actions::emote,
        InputAction::EMOTE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyEmoteShortcut30",
        InputType::KEYBOARD, SDLK_s,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_EMOTION,
        &Actions::emote,
        InputAction::EMOTE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyEmoteShortcut31",
        InputType::KEYBOARD, SDLK_d,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_EMOTION,
        &Actions::emote,
        InputAction::EMOTE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyEmoteShortcut32",
        InputType::KEYBOARD, SDLK_f,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_EMOTION,
        &Actions::emote,
        InputAction::EMOTE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyEmoteShortcut33",
        InputType::KEYBOARD, SDLK_g,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_EMOTION,
        &Actions::emote,
        InputAction::EMOTE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyEmoteShortcut34",
        InputType::KEYBOARD, SDLK_h,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_EMOTION,
        &Actions::emote,
        InputAction::EMOTE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyEmoteShortcut35",
        InputType::KEYBOARD, SDLK_j,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_EMOTION,
        &Actions::emote,
        InputAction::EMOTE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyEmoteShortcut36",
        InputType::KEYBOARD, SDLK_k,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_EMOTION,
        &Actions::emote,
        InputAction::EMOTE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyEmoteShortcut37",
        InputType::KEYBOARD, SDLK_l,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_EMOTION,
        &Actions::emote,
        InputAction::EMOTE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyEmoteShortcut38",
        InputType::KEYBOARD, SDLK_SEMICOLON,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_EMOTION,
        &Actions::emote,
        InputAction::EMOTE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyEmoteShortcut39",
        InputType::KEYBOARD, SDLK_QUOTE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_EMOTION,
        &Actions::emote,
        InputAction::EMOTE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyEmoteShortcut40",
        InputType::KEYBOARD, SDLK_z,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_EMOTION,
        &Actions::emote,
        InputAction::EMOTE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyEmoteShortcut41",
        InputType::KEYBOARD, SDLK_x,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_EMOTION,
        &Actions::emote,
        InputAction::EMOTE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyEmoteShortcut42",
        InputType::KEYBOARD, SDLK_c,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_EMOTION,
        &Actions::emote,
        InputAction::EMOTE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyEmoteShortcut43",
        InputType::KEYBOARD, SDLK_v,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_EMOTION,
        &Actions::emote,
        InputAction::EMOTE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyEmoteShortcut44",
        InputType::KEYBOARD, SDLK_b,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_EMOTION,
        &Actions::emote,
        InputAction::EMOTE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyEmoteShortcut45",
        InputType::KEYBOARD, SDLK_n,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_EMOTION,
        &Actions::emote,
        InputAction::EMOTE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyEmoteShortcut46",
        InputType::KEYBOARD, SDLK_m,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_EMOTION,
        &Actions::emote,
        InputAction::EMOTE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyEmoteShortcut47",
        InputType::KEYBOARD, SDLK_COMMA,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_EMOTION,
        &Actions::emote,
        InputAction::EMOTE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyEmoteShortcut48",
        InputType::KEYBOARD, SDLK_PERIOD,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_EMOTION,
        &Actions::emote,
        InputAction::EMOTE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyWearOutfit",
        InputType::KEYBOARD, SDLK_RCTRL,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        nullptr,
        InputAction::NO_VALUE, 50,
        InputCondition::DEFAULT | InputCondition::INGAME,
        "",
        false},
    {"keyCopyOutfit",
        InputType::KEYBOARD, SDLK_RALT,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        nullptr,
        InputAction::NO_VALUE, 50,
        InputCondition::DEFAULT | InputCondition::INGAME,
        "",
        false},
    {"keyCopyEquipedOutfit",
        InputType::KEYBOARD, SDLK_RIGHTBRACKET,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::copyEquippedToOutfit,
        InputAction::NO_VALUE, 50,
        InputCondition::GAME | InputCondition::VALIDSPEED,
        "",
        false},
    {"keyOutfitShortcut1",
        InputType::KEYBOARD, SDLK_1,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_OUTFIT,
        &Actions::outfit,
        InputAction::NO_VALUE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyOutfitShortcut2",
        InputType::KEYBOARD, SDLK_2,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_OUTFIT,
        &Actions::outfit,
        InputAction::NO_VALUE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyOutfitShortcut3",
        InputType::KEYBOARD, SDLK_3,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_OUTFIT,
        &Actions::outfit,
        InputAction::NO_VALUE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyOutfitShortcut4",
        InputType::KEYBOARD, SDLK_4,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_OUTFIT,
        &Actions::outfit,
        InputAction::NO_VALUE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyOutfitShortcut5",
        InputType::KEYBOARD, SDLK_5,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_OUTFIT,
        &Actions::outfit,
        InputAction::NO_VALUE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyOutfitShortcut6",
        InputType::KEYBOARD, SDLK_6,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_OUTFIT,
        &Actions::outfit,
        InputAction::NO_VALUE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyOutfitShortcut7",
        InputType::KEYBOARD, SDLK_7,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_OUTFIT,
        &Actions::outfit,
        InputAction::NO_VALUE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyOutfitShortcut8",
        InputType::KEYBOARD, SDLK_8,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_OUTFIT,
        &Actions::outfit,
        InputAction::NO_VALUE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyOutfitShortcut9",
        InputType::KEYBOARD, SDLK_9,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_OUTFIT,
        &Actions::outfit,
        InputAction::NO_VALUE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyOutfitShortcut10",
        InputType::KEYBOARD, SDLK_0,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_OUTFIT,
        &Actions::outfit,
        InputAction::NO_VALUE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyOutfitShortcut11",
        InputType::KEYBOARD, SDLK_MINUS,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_OUTFIT,
        &Actions::outfit,
        InputAction::NO_VALUE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyOutfitShortcut12",
        InputType::KEYBOARD, SDLK_EQUALS,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_OUTFIT,
        &Actions::outfit,
        InputAction::NO_VALUE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyOutfitShortcut13",
        InputType::KEYBOARD, SDLK_BACKSPACE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_OUTFIT,
        &Actions::outfit,
        InputAction::NO_VALUE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyOutfitShortcut14",
        InputType::KEYBOARD, SDLK_INSERT,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_OUTFIT,
        &Actions::outfit,
        InputAction::NO_VALUE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyOutfitShortcut15",
        InputType::KEYBOARD, SDLK_HOME,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_OUTFIT,
        &Actions::outfit,
        InputAction::NO_VALUE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyOutfitShortcut16",
        InputType::KEYBOARD, SDLK_q,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_OUTFIT,
        &Actions::outfit,
        InputAction::NO_VALUE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyOutfitShortcut17",
        InputType::KEYBOARD, SDLK_w,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_OUTFIT,
        &Actions::outfit,
        InputAction::NO_VALUE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyOutfitShortcut18",
        InputType::KEYBOARD, SDLK_e,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_OUTFIT,
        &Actions::outfit,
        InputAction::NO_VALUE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyOutfitShortcut19",
        InputType::KEYBOARD, SDLK_r,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_OUTFIT,
        &Actions::outfit,
        InputAction::NO_VALUE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyOutfitShortcut20",
        InputType::KEYBOARD, SDLK_t,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_OUTFIT,
        &Actions::outfit,
        InputAction::NO_VALUE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyOutfitShortcut21",
        InputType::KEYBOARD, SDLK_y,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_OUTFIT,
        &Actions::outfit,
        InputAction::NO_VALUE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyOutfitShortcut22",
        InputType::KEYBOARD, SDLK_u,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_OUTFIT,
        &Actions::outfit,
        InputAction::NO_VALUE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyOutfitShortcut23",
        InputType::KEYBOARD, SDLK_i,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_OUTFIT,
        &Actions::outfit,
        InputAction::NO_VALUE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyOutfitShortcut24",
        InputType::KEYBOARD, SDLK_o,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_OUTFIT,
        &Actions::outfit,
        InputAction::NO_VALUE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyOutfitShortcut25",
        InputType::KEYBOARD, SDLK_p,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_OUTFIT,
        &Actions::outfit,
        InputAction::NO_VALUE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyOutfitShortcut26",
        InputType::KEYBOARD, SDLK_LEFTBRACKET,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_OUTFIT,
        &Actions::outfit,
        InputAction::NO_VALUE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyOutfitShortcut27",
        InputType::KEYBOARD, SDLK_RIGHTBRACKET,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_OUTFIT,
        &Actions::outfit,
        InputAction::NO_VALUE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyOutfitShortcut28",
        InputType::KEYBOARD, SDLK_BACKSLASH,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_OUTFIT,
        &Actions::outfit,
        InputAction::NO_VALUE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyOutfitShortcut29",
        InputType::KEYBOARD, SDLK_a,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_OUTFIT,
        &Actions::outfit,
        InputAction::NO_VALUE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyOutfitShortcut30",
        InputType::KEYBOARD, SDLK_s,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_OUTFIT,
        &Actions::outfit,
        InputAction::NO_VALUE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyOutfitShortcut31",
        InputType::KEYBOARD, SDLK_d,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_OUTFIT,
        &Actions::outfit,
        InputAction::NO_VALUE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyOutfitShortcut32",
        InputType::KEYBOARD, SDLK_f,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_OUTFIT,
        &Actions::outfit,
        InputAction::NO_VALUE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyOutfitShortcut33",
        InputType::KEYBOARD, SDLK_g,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_OUTFIT,
        &Actions::outfit,
        InputAction::NO_VALUE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyOutfitShortcut34",
        InputType::KEYBOARD, SDLK_h,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_OUTFIT,
        &Actions::outfit,
        InputAction::NO_VALUE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyOutfitShortcut35",
        InputType::KEYBOARD, SDLK_j,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_OUTFIT,
        &Actions::outfit,
        InputAction::NO_VALUE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyOutfitShortcut36",
        InputType::KEYBOARD, SDLK_k,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_OUTFIT,
        &Actions::outfit,
        InputAction::NO_VALUE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyOutfitShortcut37",
        InputType::KEYBOARD, SDLK_l,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_OUTFIT,
        &Actions::outfit,
        InputAction::NO_VALUE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyOutfitShortcut38",
        InputType::KEYBOARD, SDLK_SEMICOLON,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_OUTFIT,
        &Actions::outfit,
        InputAction::NO_VALUE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyOutfitShortcut39",
        InputType::KEYBOARD, SDLK_QUOTE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_OUTFIT,
        &Actions::outfit,
        InputAction::NO_VALUE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyOutfitShortcut40",
        InputType::KEYBOARD, SDLK_z,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_OUTFIT,
        &Actions::outfit,
        InputAction::NO_VALUE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyOutfitShortcut41",
        InputType::KEYBOARD, SDLK_x,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_OUTFIT,
        &Actions::outfit,
        InputAction::NO_VALUE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyOutfitShortcut42",
        InputType::KEYBOARD, SDLK_c,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_OUTFIT,
        &Actions::outfit,
        InputAction::NO_VALUE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyOutfitShortcut43",
        InputType::KEYBOARD, SDLK_v,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_OUTFIT,
        &Actions::outfit,
        InputAction::NO_VALUE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyOutfitShortcut44",
        InputType::KEYBOARD, SDLK_b,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_OUTFIT,
        &Actions::outfit,
        InputAction::NO_VALUE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyOutfitShortcut45",
        InputType::KEYBOARD, SDLK_n,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_OUTFIT,
        &Actions::outfit,
        InputAction::NO_VALUE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyOutfitShortcut46",
        InputType::KEYBOARD, SDLK_m,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_OUTFIT,
        &Actions::outfit,
        InputAction::NO_VALUE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyOutfitShortcut47",
        InputType::KEYBOARD, SDLK_COMMA,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_OUTFIT,
        &Actions::outfit,
        InputAction::NO_VALUE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyOutfitShortcut48",
        InputType::KEYBOARD, SDLK_PERIOD,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_OUTFIT,
        &Actions::outfit,
        InputAction::NO_VALUE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyMoveToPointShortcut1",
        InputType::KEYBOARD, SDLK_1,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_MOVETOPOINT,
        &Actions::moveToPoint,
        InputAction::MOVE_TO_POINT, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyMoveToPointShortcut2",
        InputType::KEYBOARD, SDLK_2,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_MOVETOPOINT,
        &Actions::moveToPoint,
        InputAction::MOVE_TO_POINT, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyMoveToPointShortcut3",
        InputType::KEYBOARD, SDLK_3,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_MOVETOPOINT,
        &Actions::moveToPoint,
        InputAction::MOVE_TO_POINT, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyMoveToPointShortcut4",
        InputType::KEYBOARD, SDLK_4,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_MOVETOPOINT,
        &Actions::moveToPoint,
        InputAction::MOVE_TO_POINT, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyMoveToPointShortcut5",
        InputType::KEYBOARD, SDLK_5,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_MOVETOPOINT,
        &Actions::moveToPoint,
        InputAction::MOVE_TO_POINT, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyMoveToPointShortcut6",
        InputType::KEYBOARD, SDLK_6,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_MOVETOPOINT,
        &Actions::moveToPoint,
        InputAction::MOVE_TO_POINT, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyMoveToPointShortcut7",
        InputType::KEYBOARD, SDLK_7,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_MOVETOPOINT,
        &Actions::moveToPoint,
        InputAction::MOVE_TO_POINT, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyMoveToPointShortcut8",
        InputType::KEYBOARD, SDLK_8,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_MOVETOPOINT,
        &Actions::moveToPoint,
        InputAction::MOVE_TO_POINT, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyMoveToPointShortcut9",
        InputType::KEYBOARD, SDLK_9,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_MOVETOPOINT,
        &Actions::moveToPoint,
        InputAction::MOVE_TO_POINT, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyMoveToPointShortcut10",
        InputType::KEYBOARD, SDLK_0,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_MOVETOPOINT,
        &Actions::moveToPoint,
        InputAction::MOVE_TO_POINT, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyMoveToPointShortcut11",
        InputType::KEYBOARD, SDLK_MINUS,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_MOVETOPOINT,
        &Actions::moveToPoint,
        InputAction::MOVE_TO_POINT, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyMoveToPointShortcut12",
        InputType::KEYBOARD, SDLK_EQUALS,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_MOVETOPOINT,
        &Actions::moveToPoint,
        InputAction::MOVE_TO_POINT, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyMoveToPointShortcut13",
        InputType::KEYBOARD, SDLK_BACKSPACE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_MOVETOPOINT,
        &Actions::moveToPoint,
        InputAction::MOVE_TO_POINT, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyMoveToPointShortcut14",
        InputType::KEYBOARD, SDLK_INSERT,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_MOVETOPOINT,
        &Actions::moveToPoint,
        InputAction::MOVE_TO_POINT, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyMoveToPointShortcut15",
        InputType::KEYBOARD, SDLK_HOME,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_MOVETOPOINT,
        &Actions::moveToPoint,
        InputAction::MOVE_TO_POINT, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyMoveToPointShortcut16",
        InputType::KEYBOARD, SDLK_q,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_MOVETOPOINT,
        &Actions::moveToPoint,
        InputAction::MOVE_TO_POINT, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyMoveToPointShortcut17",
        InputType::KEYBOARD, SDLK_w,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_MOVETOPOINT,
        &Actions::moveToPoint,
        InputAction::MOVE_TO_POINT, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyMoveToPointShortcut18",
        InputType::KEYBOARD, SDLK_e,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_MOVETOPOINT,
        &Actions::moveToPoint,
        InputAction::MOVE_TO_POINT, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyMoveToPointShortcut19",
        InputType::KEYBOARD, SDLK_r,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_MOVETOPOINT,
        &Actions::moveToPoint,
        InputAction::MOVE_TO_POINT, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyMoveToPointShortcut20",
        InputType::KEYBOARD, SDLK_t,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_MOVETOPOINT,
        &Actions::moveToPoint,
        InputAction::MOVE_TO_POINT, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyMoveToPointShortcut21",
        InputType::KEYBOARD, SDLK_y,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_MOVETOPOINT,
        &Actions::moveToPoint,
        InputAction::MOVE_TO_POINT, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyMoveToPointShortcut22",
        InputType::KEYBOARD, SDLK_u,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_MOVETOPOINT,
        &Actions::moveToPoint,
        InputAction::MOVE_TO_POINT, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyMoveToPointShortcut23",
        InputType::KEYBOARD, SDLK_i,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_MOVETOPOINT,
        &Actions::moveToPoint,
        InputAction::MOVE_TO_POINT, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyMoveToPointShortcut24",
        InputType::KEYBOARD, SDLK_o,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_MOVETOPOINT,
        &Actions::moveToPoint,
        InputAction::MOVE_TO_POINT, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyMoveToPointShortcut25",
        InputType::KEYBOARD, SDLK_p,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_MOVETOPOINT,
        &Actions::moveToPoint,
        InputAction::MOVE_TO_POINT, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyMoveToPointShortcut26",
        InputType::KEYBOARD, SDLK_LEFTBRACKET,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_MOVETOPOINT,
        &Actions::moveToPoint,
        InputAction::MOVE_TO_POINT, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyMoveToPointShortcut27",
        InputType::KEYBOARD, SDLK_RIGHTBRACKET,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_MOVETOPOINT,
        &Actions::moveToPoint,
        InputAction::MOVE_TO_POINT, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyMoveToPointShortcut28",
        InputType::KEYBOARD, SDLK_BACKSLASH,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_MOVETOPOINT,
        &Actions::moveToPoint,
        InputAction::MOVE_TO_POINT, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyMoveToPointShortcut29",
        InputType::KEYBOARD, SDLK_a,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_MOVETOPOINT,
        &Actions::moveToPoint,
        InputAction::MOVE_TO_POINT, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyMoveToPointShortcut30",
        InputType::KEYBOARD, SDLK_s,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_MOVETOPOINT,
        &Actions::moveToPoint,
        InputAction::MOVE_TO_POINT, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyMoveToPointShortcut31",
        InputType::KEYBOARD, SDLK_d,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_MOVETOPOINT,
        &Actions::moveToPoint,
        InputAction::MOVE_TO_POINT, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyMoveToPointShortcut32",
        InputType::KEYBOARD, SDLK_f,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_MOVETOPOINT,
        &Actions::moveToPoint,
        InputAction::MOVE_TO_POINT, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyMoveToPointShortcut33",
        InputType::KEYBOARD, SDLK_g,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_MOVETOPOINT,
        &Actions::moveToPoint,
        InputAction::MOVE_TO_POINT, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyMoveToPointShortcut34",
        InputType::KEYBOARD, SDLK_h,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_MOVETOPOINT,
        &Actions::moveToPoint,
        InputAction::MOVE_TO_POINT, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyMoveToPointShortcut35",
        InputType::KEYBOARD, SDLK_j,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_MOVETOPOINT,
        &Actions::moveToPoint,
        InputAction::MOVE_TO_POINT, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyMoveToPointShortcut36",
        InputType::KEYBOARD, SDLK_k,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_MOVETOPOINT,
        &Actions::moveToPoint,
        InputAction::MOVE_TO_POINT, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyMoveToPointShortcut37",
        InputType::KEYBOARD, SDLK_l,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_MOVETOPOINT,
        &Actions::moveToPoint,
        InputAction::MOVE_TO_POINT, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyMoveToPointShortcut38",
        InputType::KEYBOARD, SDLK_SEMICOLON,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_MOVETOPOINT,
        &Actions::moveToPoint,
        InputAction::MOVE_TO_POINT, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyMoveToPointShortcut39",
        InputType::KEYBOARD, SDLK_QUOTE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_MOVETOPOINT,
        &Actions::moveToPoint,
        InputAction::MOVE_TO_POINT, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyMoveToPointShortcut40",
        InputType::KEYBOARD, SDLK_z,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_MOVETOPOINT,
        &Actions::moveToPoint,
        InputAction::MOVE_TO_POINT, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyMoveToPointShortcut41",
        InputType::KEYBOARD, SDLK_x,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_MOVETOPOINT,
        &Actions::moveToPoint,
        InputAction::MOVE_TO_POINT, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyMoveToPointShortcut42",
        InputType::KEYBOARD, SDLK_c,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_MOVETOPOINT,
        &Actions::moveToPoint,
        InputAction::MOVE_TO_POINT, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyMoveToPointShortcut43",
        InputType::KEYBOARD, SDLK_v,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_MOVETOPOINT,
        &Actions::moveToPoint,
        InputAction::MOVE_TO_POINT, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyMoveToPointShortcut44",
        InputType::KEYBOARD, SDLK_b,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_MOVETOPOINT,
        &Actions::moveToPoint,
        InputAction::MOVE_TO_POINT, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyMoveToPointShortcut45",
        InputType::KEYBOARD, SDLK_n,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_MOVETOPOINT,
        &Actions::moveToPoint,
        InputAction::MOVE_TO_POINT, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyMoveToPointShortcut46",
        InputType::KEYBOARD, SDLK_m,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_MOVETOPOINT,
        &Actions::moveToPoint,
        InputAction::MOVE_TO_POINT, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyMoveToPointShortcut47",
        InputType::KEYBOARD, SDLK_COMMA,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_MOVETOPOINT,
        &Actions::moveToPoint,
        InputAction::MOVE_TO_POINT, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyMoveToPointShortcut48",
        InputType::KEYBOARD, SDLK_PERIOD,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_MOVETOPOINT,
        &Actions::moveToPoint,
        InputAction::MOVE_TO_POINT, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyChat",
        InputType::KEYBOARD, SDLK_RETURN,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT | Input::GRP_CHAT,
        &Actions::toggleChat,
        InputAction::NO_VALUE, 50,
        InputCondition::NOINPUT | InputCondition::NOAWAY
            | InputCondition::NOMODAL | InputCondition::INGAME,
        "chat",
        false},
    {"keyChatScrollUp",
        InputType::KEYBOARD, SDLK_PAGEUP,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT | Input::GRP_GUI,
        &Actions::scrollChatUp,
        InputAction::NO_VALUE, 50,
        InputCondition::DEFAULT | InputCondition::INGAME,
        "chatscrollup",
        false},
    {"keyChatScrollDown",
        InputType::KEYBOARD, SDLK_PAGEDOWN,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT | Input::GRP_GUI,
        &Actions::scrollChatDown,
        InputAction::NO_VALUE, 50,
        InputCondition::DEFAULT | InputCondition::INGAME,
        "chatscrolldown",
        false},
    {"keyChatPrevTab",
        InputType::KEYBOARD, SDLK_KP7,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT | Input::GRP_GUI,
        &Actions::prevChatTab,
        InputAction::NO_VALUE, 50,
        InputCondition::NOINPUT | InputCondition::INGAME,
        "prevtab",
        false},
    {"keyChatNextTab",
        InputType::KEYBOARD, SDLK_KP9,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT | Input::GRP_GUI,
        &Actions::nextChatTab,
        InputAction::NO_VALUE, 50,
        InputCondition::NOINPUT | InputCondition::INGAME,
        "nexttab",
        false},
    {"keyChatCloseTab",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT | Input::GRP_GUI,
        &Actions::closeChatTab,
        InputAction::NO_VALUE, 50,
        InputCondition::NOINPUT | InputCondition::INGAME,
        "close",
        false},
    {"keyChatPrevHistory",
        InputType::KEYBOARD, SDLK_KP7,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_CHAT | Input::GRP_GUICHAN,
        nullptr,
        InputAction::NO_VALUE, 50,
        InputCondition::DEFAULT | InputCondition::INGAME,
        "",
        false},
    {"keyChatNextHistory",
        InputType::KEYBOARD, SDLK_KP9,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_CHAT | Input::GRP_GUICHAN,
        nullptr,
        InputAction::NO_VALUE, 50,
        InputCondition::DEFAULT | InputCondition::INGAME,
        "",
        false},
    {"keyIgnoreInput1",
#ifdef USE_SDL2
        InputType::UNKNOWN, InputAction::NO_VALUE,
#else
        InputType::KEYBOARD, SDLK_LSUPER,
#endif
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::ignoreInput,
        InputAction::NO_VALUE, 500,
        InputCondition::DEFAULT,
        "",
        false},
    {"keyIgnoreInput2",
#ifdef USE_SDL2
        InputType::UNKNOWN, InputAction::NO_VALUE,
#else
        InputType::KEYBOARD, SDLK_RSUPER,
#endif
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::ignoreInput,
        InputAction::NO_VALUE, 500,
        InputCondition::DEFAULT,
        "",
        false},
    {"keyDirectUp",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::directUp,
        InputAction::NO_VALUE, 50,
        InputCondition::GAME,
        "directup|turnup",
        false},
    {"keyDirectDown",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::directDown,
        InputAction::NO_VALUE, 50,
        InputCondition::GAME,
        "directdown|turndown",
        false},
    {"keyDirectLeft",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::directLeft,
        InputAction::NO_VALUE, 50,
        InputCondition::GAME,
        "directleft|turnleft",
        false},
    {"keyDirectRight",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::directRight,
        InputAction::NO_VALUE, 50,
        InputCondition::GAME,
        "directright|turnright",
        false},
    {"keyCrazyMoves",
        InputType::KEYBOARD, SDLK_SLASH,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::crazyMoves,
        InputAction::NO_VALUE, 50,
        InputCondition::GAME | InputCondition::VALIDSPEED,
        "",
        false},
    {"keyChangeCrazyMoveType",
        InputType::KEYBOARD, SDLK_BACKSLASH,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::changeCrazyMove,
        InputAction::NO_VALUE, 50,
        InputCondition::GAME | InputCondition::VALIDSPEED
            | InputCondition::EMODS,
        "",
        false},
    {"keyQuickDrop",
        InputType::KEYBOARD, SDLK_y,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::dropItem0,
        InputAction::NO_VALUE, 50,
        InputCondition::GAME | InputCondition::VALIDSPEED,
        "drop",
        false},
    {"keyQuickDropN",
        InputType::KEYBOARD, SDLK_u,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::dropItem,
        InputAction::NO_VALUE, 50,
        InputCondition::GAME | InputCondition::VALIDSPEED,
        "dropn",
        false},
    {"keySwitchQuickDrop",
        InputType::KEYBOARD, SDLK_i,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::switchQuickDrop,
        InputAction::NO_VALUE, 50,
        InputCondition::GAME | InputCondition::VALIDSPEED,
        "",
        false},
    {"keyMagicInma1",
        InputType::KEYBOARD, SDLK_c,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::heal,
        InputAction::NO_VALUE, 50,
        InputCondition::GAME | InputCondition::VALIDSPEED,
        "heal",
        true},
    {"keyMagicItenplz",
        InputType::KEYBOARD, SDLK_m,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::itenplz,
        InputAction::NO_VALUE, 50,
        InputCondition::GAME | InputCondition::VALIDSPEED,
        "itenplz",
        false},
    {"keyMagicAttack",
        InputType::KEYBOARD, SDLK_b,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::magicAttack,
        InputAction::NO_VALUE, 50,
        InputCondition::GAME | InputCondition::VALIDSPEED,
        "magicattack",
        false},
    {"keySwitchMagicAttack",
        InputType::KEYBOARD, SDLK_COMMA,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::changeMagicAttackType,
        InputAction::NO_VALUE, 50,
        InputCondition::GAME | InputCondition::VALIDSPEED
            | InputCondition::EMODS,
        "",
        false},
    {"keySwitchPvpAttack",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::changePvpMode,
        InputAction::NO_VALUE, 50,
        InputCondition::GAME | InputCondition::VALIDSPEED
            | InputCondition::EMODS,
        "",
        false},
    {"keyInvertDirection",
        InputType::KEYBOARD, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::changeMoveType,
        InputAction::NO_VALUE, 50,
        InputCondition::GAME | InputCondition::VALIDSPEED
            | InputCondition::EMODS,
        "",
        false},
    {"keyChangeAttackWeaponType",
        InputType::KEYBOARD, SDLK_g,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::changeAttackWeaponType,
        InputAction::NO_VALUE, 50,
        InputCondition::GAME | InputCondition::VALIDSPEED
            | InputCondition::EMODS,
        "",
        false},
    {"keyChangeAttackType",
        InputType::KEYBOARD, SDLK_END,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::changeAttackType,
        InputAction::NO_VALUE, 50,
        InputCondition::GAME | InputCondition::VALIDSPEED
            | InputCondition::EMODS,
        "",
        false},
    {"keyChangeFollowMode",
        InputType::KEYBOARD, SDLK_KP1,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::changeFollowMode,
        InputAction::NO_VALUE, 50,
        InputCondition::GAME | InputCondition::VALIDSPEED
            | InputCondition::EMODS,
        "",
        false},
    {"keyChangeImitationMode",
        InputType::KEYBOARD, SDLK_KP4,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::changeImitationMode,
        InputAction::NO_VALUE, 50,
        InputCondition::GAME | InputCondition::VALIDSPEED
            | InputCondition::EMODS,
        "",
        false},
    {"keyDisableGameModifiers",
        InputType::KEYBOARD, SDLK_KP8,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::changeGameModifier,
        InputAction::NO_VALUE, 50,
        InputCondition::GAME | InputCondition::VALIDSPEED,
        "",
        false},
    {"keyChangeAudio",
        InputType::KEYBOARD, SDLK_KP3,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::changeAudio,
        InputAction::NO_VALUE, 50,
        InputCondition::GAME | InputCondition::VALIDSPEED,
        "audio",
        false},
    {"keyAway",
        InputType::KEYBOARD, SDLK_KP2,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::away,
        InputAction::NO_VALUE, 50,
        InputCondition::GAME | InputCondition::VALIDSPEED,
        "",
        false},
    {"keyRightClick",
        InputType::KEYBOARD, SDLK_TAB,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::mouseClick,
        InputAction::NO_VALUE, 50,
        InputCondition::NOINPUT | InputCondition::NOAWAY
            | InputCondition::NOMODAL | InputCondition::INGAME,
        "rightclick",
        false},
    {"keyCameraMode",
        InputType::KEYBOARD, SDLK_KP_PLUS,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::camera,
        InputAction::NO_VALUE, 50,
        InputCondition::GAME | InputCondition::VALIDSPEED
            | InputCondition::EMODS,
        "",
        false},
    {"keyMod",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        0,
        nullptr,
        InputAction::NO_VALUE, 50,
        InputCondition::DEFAULT,
        "",
        false},
    {"keyGUIUp",
        InputType::KEYBOARD, SDLK_UP,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_GUICHAN,
        nullptr,
        InputAction::NO_VALUE, 50,
        InputCondition::DEFAULT,
        "",
        false},
    {"keyGUIDown",
        InputType::KEYBOARD, SDLK_DOWN,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_GUICHAN,
        nullptr,
        InputAction::NO_VALUE, 50,
        InputCondition::DEFAULT,
        "",
        false},
    {"keyGUILeft",
        InputType::KEYBOARD, SDLK_LEFT,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_GUICHAN,
        nullptr,
        InputAction::NO_VALUE, 50,
        InputCondition::DEFAULT,
        "",
        false},
    {"keyGUIRight",
        InputType::KEYBOARD, SDLK_RIGHT,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_GUICHAN,
        nullptr,
        InputAction::NO_VALUE, 50,
        InputCondition::DEFAULT,
        "",
        false},
    {"keyGUISelect",
        InputType::KEYBOARD, SDLK_SPACE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_GUICHAN,
        nullptr,
        InputAction::NO_VALUE, 50,
        InputCondition::DEFAULT,
        "",
        false},
    {"keyGUISelect2",
        InputType::KEYBOARD, SDLK_RETURN,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_GUICHAN,
        nullptr,
        InputAction::NO_VALUE, 50,
        InputCondition::DEFAULT,
        "",
        false},
    {"keyGUICancel",
        InputType::KEYBOARD, SDLK_ESCAPE,
#if defined(USE_SDL2) && defined(ANDROID)
        InputType::KEYBOARD, SDLK_AC_BACK,
#else
        InputType::UNKNOWN, InputAction::NO_VALUE,
#endif
        Input::GRP_GUICHAN,
        nullptr,
        InputAction::NO_VALUE, 50,
        InputCondition::DEFAULT,
        "",
        false},
    {"keyGUIHome",
        InputType::KEYBOARD, SDLK_HOME,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_GUICHAN,
        nullptr,
        InputAction::NO_VALUE, 50,
        InputCondition::DEFAULT,
        "",
        false},
    {"keyGUIEnd",
        InputType::KEYBOARD, SDLK_END,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_GUICHAN,
        nullptr,
        InputAction::NO_VALUE, 50,
        InputCondition::DEFAULT,
        "",
        false},
    {"keyGUIDelete",
        InputType::KEYBOARD, SDLK_DELETE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_GUICHAN,
        nullptr,
        InputAction::NO_VALUE, 50,
        InputCondition::DEFAULT,
        "",
        false},
    {"keyGUIBackSpace",
        InputType::KEYBOARD, SDLK_BACKSPACE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_GUICHAN,
        nullptr,
        InputAction::NO_VALUE, 50,
        InputCondition::DEFAULT,
        "",
        false},
    {"keyGUITab",
        InputType::KEYBOARD, SDLK_TAB,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_GUICHAN,
        nullptr,
        InputAction::NO_VALUE, 50,
        InputCondition::DEFAULT,
        "",
        false},
    {"keyGUIPageUp",
        InputType::KEYBOARD, SDLK_PAGEUP,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_GUICHAN,
        nullptr,
        InputAction::NO_VALUE, 50,
        InputCondition::DEFAULT,
        "",
        false},
    {"keyGUIPageDown",
        InputType::KEYBOARD, SDLK_PAGEDOWN,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_GUICHAN,
        nullptr,
        InputAction::NO_VALUE, 50,
        InputCondition::DEFAULT,
        "",
        false},
    {"keyGUIInsert",
        InputType::KEYBOARD, SDLK_INSERT,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_GUICHAN,
        nullptr,
        InputAction::NO_VALUE, 50,
        InputCondition::DEFAULT,
        "",
        false},
    {"keyGUIMod",
        InputType::KEYBOARD, SDLK_LSHIFT,
        InputType::KEYBOARD, SDLK_RSHIFT,
        Input::GRP_GUICHAN,
        nullptr,
        InputAction::NO_VALUE, 50,
        InputCondition::DEFAULT,
        "",
        false},
    {"keySafeVideo",
        InputType::KEYBOARD, SDLK_KP_MINUS,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::safeVideoMode,
        InputAction::NO_VALUE, 50,
        InputCondition::DEFAULT,
        "",
        false},
    {"keyStopSit",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::stopSit,
        InputAction::NO_VALUE, 50,
        InputCondition::DEFAULT | InputCondition::INGAME,
        "sit2",
        false},
    {"keyShowKeyboard",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::showKeyboard,
        InputAction::NO_VALUE, 50,
        InputCondition::DEFAULT,
        "showkeyboard",
        false},
    {"keyShowWindows",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::showWindows,
        InputAction::NO_VALUE, 50,
        InputCondition::DEFAULT,
        "showwindows",
        false},
    {"keyChatMod",
        InputType::KEYBOARD, SDLK_LSHIFT,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_CHAT,
        nullptr,
        InputAction::NO_VALUE, 50,
        InputCondition::DEFAULT | InputCondition::INGAME,
        "",
        false},
    {"keyMoveForward",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::moveForward,
        InputAction::NO_VALUE, 50,
        InputCondition::ARROWKEYS,
        "",
        false},
    {"keyGUICtrl",
        InputType::KEYBOARD, SDLK_LCTRL,
        InputType::KEYBOARD, SDLK_RCTRL,
        Input::GRP_GUICHAN,
        nullptr,
        InputAction::NO_VALUE, 50,
        InputCondition::DEFAULT,
        "",
        false},
    {"keyGUIb",
        InputType::KEYBOARD, SDLK_b,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_GUICHAN,
        nullptr,
        InputAction::NO_VALUE, 50,
        InputCondition::DEFAULT,
        "",
        false},
    {"keyGUIc",
        InputType::KEYBOARD, SDLK_c,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_GUICHAN,
        nullptr,
        InputAction::NO_VALUE, 50,
        InputCondition::DEFAULT,
        "",
        false},
    {"keyGUId",
        InputType::KEYBOARD, SDLK_d,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_GUICHAN,
        nullptr,
        InputAction::NO_VALUE, 50,
        InputCondition::DEFAULT,
        "",
        false},
    {"keyGUIe",
        InputType::KEYBOARD, SDLK_e,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_GUICHAN,
        nullptr,
        InputAction::NO_VALUE, 50,
        InputCondition::DEFAULT,
        "",
        false},
    {"keyGUIf",
        InputType::KEYBOARD, SDLK_f,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_GUICHAN,
        nullptr,
        InputAction::NO_VALUE, 50,
        InputCondition::DEFAULT,
        "",
        false},
    {"keyGUIh",
        InputType::KEYBOARD, SDLK_h,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_GUICHAN,
        nullptr,
        InputAction::NO_VALUE, 50,
        InputCondition::DEFAULT,
        "",
        false},
    {"keyGUIk",
        InputType::KEYBOARD, SDLK_k,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_GUICHAN,
        nullptr,
        InputAction::NO_VALUE, 50,
        InputCondition::DEFAULT,
        "",
        false},
    {"keyGUIu",
        InputType::KEYBOARD, SDLK_u,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_GUICHAN,
        nullptr,
        InputAction::NO_VALUE, 50,
        InputCondition::DEFAULT,
        "",
        false},
    {"keyGUIv",
        InputType::KEYBOARD, SDLK_v,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_GUICHAN,
        nullptr,
        InputAction::NO_VALUE, 50,
        InputCondition::DEFAULT,
        "",
        false},
    {"keyGUIw",
        InputType::KEYBOARD, SDLK_w,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_GUICHAN,
        nullptr,
        InputAction::NO_VALUE, 50,
        InputCondition::DEFAULT,
        "",
        false},
    {"keyShortcutsPrevTab",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT | Input::GRP_GUI,
        &Actions::prevShortcutsTab,
        InputAction::NO_VALUE, 50,
        InputCondition::NOINPUT | InputCondition::INGAME,
        "shortcutprevtab",
        false},
    {"keyShortcutsNextTab",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT | Input::GRP_GUI,
        &Actions::nextShortcutsTab,
        InputAction::NO_VALUE, 50,
        InputCondition::NOINPUT | InputCondition::INGAME,
        "shortcutnexttab",
        false},
    {"keyCommandsPrevTab",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT | Input::GRP_GUI,
        &Actions::prevCommandsTab,
        InputAction::NO_VALUE, 50,
        InputCondition::NOINPUT | InputCondition::INGAME,
        "commandsprevtab",
        false},
    {"keyCommandsNextTab",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT | Input::GRP_GUI,
        &Actions::nextCommandsTab,
        InputAction::NO_VALUE, 50,
        InputCondition::NOINPUT | InputCondition::INGAME,
        "commandsnexttab",
        false},
    {"keyOpenTrade",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::openTrade,
        InputAction::NO_VALUE, 50,
        InputCondition::GAME | InputCondition::NOTARGET,
        "trade",
        false},

    {"keyGUIF1",
        InputType::KEYBOARD, SDLK_F1,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_GUICHAN | Input::GRP_CHAT,
        nullptr,
        InputAction::NO_VALUE, 50,
        InputCondition::DEFAULT,
        "",
        false},
    {"keyGUIF2",
        InputType::KEYBOARD, SDLK_F2,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_GUICHAN | Input::GRP_CHAT,
        nullptr,
        InputAction::NO_VALUE, 50,
        InputCondition::DEFAULT,
        "",
        false},
    {"keyGUIF3",
        InputType::KEYBOARD, SDLK_F3,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_GUICHAN | Input::GRP_CHAT,
        nullptr,
        InputAction::NO_VALUE, 50,
        InputCondition::DEFAULT,
        "",
        false},
    {"keyGUIF4",
        InputType::KEYBOARD, SDLK_F4,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_GUICHAN | Input::GRP_CHAT,
        nullptr,
        InputAction::NO_VALUE, 50,
        InputCondition::DEFAULT,
        "",
        false},
    {"keyGUIF5",
        InputType::KEYBOARD, SDLK_F5,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_GUICHAN | Input::GRP_CHAT,
        nullptr,
        InputAction::NO_VALUE, 50,
        InputCondition::DEFAULT,
        "",
        false},
    {"keyGUIF6",
        InputType::KEYBOARD, SDLK_F6,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_GUICHAN | Input::GRP_CHAT,
        nullptr,
        InputAction::NO_VALUE, 50,
        InputCondition::DEFAULT,
        "",
        false},
    {"keyGUIF7",
        InputType::KEYBOARD, SDLK_F7,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_GUICHAN | Input::GRP_CHAT,
        nullptr,
        InputAction::NO_VALUE, 50,
        InputCondition::DEFAULT,
        "",
        false},
    {"keyGUIF8",
        InputType::KEYBOARD, SDLK_F8,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_GUICHAN | Input::GRP_CHAT,
        nullptr,
        InputAction::NO_VALUE, 50,
        InputCondition::DEFAULT,
        "",
        false},
    {"keyGUIF9",
        InputType::KEYBOARD, SDLK_F9,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_GUICHAN | Input::GRP_CHAT,
        nullptr,
        InputAction::NO_VALUE, 50,
        InputCondition::DEFAULT,
        "",
        false},
    {"keyGUIF10",
        InputType::KEYBOARD, SDLK_F10,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_GUICHAN | Input::GRP_CHAT,
        nullptr,
        InputAction::NO_VALUE, 50,
        InputCondition::DEFAULT,
        "",
        false},
    {"keyGUIF11",
        InputType::KEYBOARD, SDLK_F11,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_GUICHAN | Input::GRP_CHAT,
        nullptr,
        InputAction::NO_VALUE, 50,
        InputCondition::DEFAULT,
        "",
        false},
    {"keyGUIF12",
        InputType::KEYBOARD, SDLK_F12,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_GUICHAN | Input::GRP_CHAT,
        nullptr,
        InputAction::NO_VALUE, 50,
        InputCondition::DEFAULT,
        "",
        false},
    {"keyWindowAbout",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT | Input::GRP_GUI,
        &Actions::aboutWindowShow,
        InputAction::NO_VALUE, 50,
        InputCondition::SHORTCUT0,
        "about",
        false},
    {"keyWindowUpdater",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT | Input::GRP_GUI,
        &Actions::updaterWindowShow,
        InputAction::NO_VALUE, 50,
        InputCondition::GAME,
        "updater",
        false},
    {"keyTargetClosestMonster",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT | Input::GRP_REPEAT,
        &Actions::targetClosestMonster,
        InputAction::NO_VALUE, 50,
        InputCondition::GAME | InputCondition::NOTARGET
            | InputCondition::VALIDSPEED,
        "targetclosestmonster",
        false},
    {"keyChatCloseAllTabs",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT | Input::GRP_GUI,
        &Actions::closeAllChatTabs,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
        "closeall",
        false},
    {"keyChatIgnoreAllWhispers",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT | Input::GRP_GUI,
        &Actions::ignoreAllWhispers,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
        "ignoreallwhispers",
        false},
    {"keyChatAnnounce",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT | Input::GRP_GUI,
        &Actions::chatAnnounce,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
        "announce",
        true},
    {"keyIpcToggle",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::ipcToggle,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
        "ipctoggle",
        false},
    {"keyWhere",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::where,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
        "where",
        false},
    {"keyWho",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::who,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
        "who",
        false},
    {"keyWhisper",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::msg,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
        "w|whisper|msg",
        true},
    {"keyQuery",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::query,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
        "q|query|j|join",
        true},
    {"keyClearChatTab",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::clearChatTab,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
        "clear",
        false},
    {"keyIgnore",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::chatIgnore,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
        "ignore",
        true},
    {"keyUnignore",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::chatUnignore,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
        "unignore",
        true},
    {"keyFriend",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::chatFriend,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
        "friend|befriend",
        true},
    {"keyDisregard",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::chatDisregard,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
        "disregard",
        true},
    {"keyNeutral",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::chatNeutral,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
        "neutral",
        true},
    {"keyBlacklist",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::chatBlackList,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
        "blacklist",
        true},
    {"keyEnemy",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::chatEnemy,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
        "enemy",
        true},
    {"keyErase",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::chatErase,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
        "erase",
        true},
    {"keyCleanGraphics",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::cleanGraphics,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
        "cleangraphics",
        false},
    {"keyCleanFonts",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::cleanFonts,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
        "cleanfonts",
        false},
    {"keyCreateParty",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::createParty,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
        "createparty",
        true},
    {"keyCreateGuild",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::createGuild,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
        "createguild",
        true},
    {"keyParty",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::party,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
        "party",
        true},
    {"keyMe",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::me,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
        "me",
        true},
    {"keyToggle",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::toggle,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
        "toggle",
        false},
    {"keyPresent",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::present,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
        "present",
        false},
    {"keyPrintAll",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::printAll,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
        "all",
        false},
    {"keyMove",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::move,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
        "move",
        true},
    {"keySetTarget",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::setTarget,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
        "target",
        true},
    {"keyAttackHuman",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::attackHuman,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
        "atkhuman",
        false},
    {"keyOutfit",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::commandOutfit,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
        "outfit",
        true},
    {"keyEmote",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::commandEmote,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
        "emote",
        true},
    {"keyEmotePet",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::commandEmotePet,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
        "emotepet",
        true},
    {"keyAwayMessage",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::awayMessage,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
        "away",
        true},
    {"keyPseudoAway",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::pseudoAway,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
        "pseudoaway",
        true},
    {"keyFollow",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::follow,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
        "follow",
        true},
    {"keyNavigate",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::navigate,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
        "navigate",
        true},
    {"keyImitation",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::imitation,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
        "imitation",
        true},
    {"keySendMail",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::sendMail,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
        "mail",
        true},
    {"keyTradeCommand",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::trade,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
        "trade",
        true},
    {"keyPriceLoad",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::priceLoad,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
        "priceload",
        false},
    {"keyPriceSave",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::priceSave,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
        "pricesave",
        false},
    {"keyCacheInfo",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::cacheInfo,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
        "cacheinfo",
        false},
    {"keyDisconnect",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::disconnect,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
        "disconnect",
        false},
    {"keyUndress",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::undress,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
        "undress",
        true},
    {"keyDirs",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::dirs,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
        "dirs",
        false},
    {"keyInfo",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::info,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
        "info",
        false},
    {"keyWait",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::wait,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
        "wait",
        true},
    {"keyUptime",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::uptime,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
        "uptime",
        false},
    {"keyAddPriorityAttack",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::addPriorityAttack,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
        "addpriorityattack",
        true},
    {"keyAddAttack",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::addAttack,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
        "addattack",
        true},
    {"keyRemoveAttack",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::removeAttack,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
        "removeattack|removeignoreattack",
        true},
    {"keyAddIgnoreAttack",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::addIgnoreAttack,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
        "addignoreattack",
        true},
    {"keyDump",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::dump,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
        "dump",
        false},
    {"keyServerIgnoreAll",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::serverIgnoreAll,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
        "serverignoreall",
        false},
    {"keyServerUnIgnoreAll",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::serverUnIgnoreAll,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
        "serverunignoreall",
        false},
    {"keySetDrop",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::setDrop,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
        "setdrop",
        true},
    {"keyError",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::error,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
        "error",
        false},
    {"keyDumpg",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::dumpGraphics,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
        "dumpg",
        false},
    {"keyDumpe",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::dumpEnvironment,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
        "dumpe",
        false},
    {"keyDumpt",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::dumpTests,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
        "dumpt",
        false},
    {"keyDumpOGL",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::dumpOGL,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
        "dumpogl",
        false},
    {"keyDumpGL",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::dumpGL,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
        "dumpgl",
        false},
    {"keyDumpMods",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::dumpMods,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
        "dumpMods",
        false},
    {"keyUrl",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::url,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
        "url",
        true},
    {"keyOpenUrl",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::openUrl,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
        "open",
        true},
    {"keyExecute",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::execute,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
        "execute",
        true},
    {"keyTestSdlFont",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
#if defined USE_OPENGL && defined DEBUG_SDLFONT
        &Actions::testSdlFont,
#else
        nullptr,
#endif
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
#if defined USE_OPENGL && defined DEBUG_SDLFONT
        "testsdlfont",
#else
        "",
#endif
        false},
    {"keyEnableHightlight",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::enableHighlight,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
        "enablehighlight",
        false},
    {"keyDisableHightlight",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::disableHighlight,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
        "disablehighlight",
        false},
    {"keyDontRemoveName",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::dontRemoveName,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
        "dontremovename",
        false},
    {"keyRemoveName",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::removeName,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
        "removename",
        false},
    {"keyDisableAway",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::disableAway,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
        "disableaway",
        false},
    {"keyEnableAway",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::enableAway,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
        "enableaway",
        false},
    {"keyTestParticle",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::testParticle,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
        "testparticle",
        true},
    {"keyCreateItems",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::createItems,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
        "createitems",
        false},
    {"keyTalkRaw",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::talkRaw,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
        "talkraw",
        true},
    {"keyTalkPet",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::talkPet,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
        "talkpet",
        true},
    {"keyUploadConfig",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::uploadConfig,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
        "uploadconfig",
        false},
    {"keyUploadServerConfig",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::uploadServerConfig,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
        "uploadserverconfig",
        false},
    {"keyUploadLog",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::uploadLog,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
        "uploadlog",
        false},
    {"keyGm",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::gm,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
        "gm",
        true},
    {"keyHack",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::hack,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
        "hack",
        true},
    {"keyDebugSpawn",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::debugSpawn,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
        "debugspawn",
        true},
    {"keyPetSmilie",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        nullptr,
        InputAction::NO_VALUE, 50,
        InputCondition::DEFAULT | InputCondition::INGAME,
        "",
        false},
    {"keyPetEmoteShortcut1",
        InputType::KEYBOARD, SDLK_1,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_PET_EMOTION,
        &Actions::petEmote,
        InputAction::PET_EMOTE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyPetEmoteShortcut2",
        InputType::KEYBOARD, SDLK_2,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_PET_EMOTION,
        &Actions::petEmote,
        InputAction::PET_EMOTE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyPetEmoteShortcut3",
        InputType::KEYBOARD, SDLK_3,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_PET_EMOTION,
        &Actions::petEmote,
        InputAction::PET_EMOTE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyPetEmoteShortcut4",
        InputType::KEYBOARD, SDLK_4,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_PET_EMOTION,
        &Actions::petEmote,
        InputAction::PET_EMOTE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyPetEmoteShortcut5",
        InputType::KEYBOARD, SDLK_5,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_PET_EMOTION,
        &Actions::petEmote,
        InputAction::PET_EMOTE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyPetEmoteShortcut6",
        InputType::KEYBOARD, SDLK_6,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_PET_EMOTION,
        &Actions::petEmote,
        InputAction::PET_EMOTE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyPetEmoteShortcut7",
        InputType::KEYBOARD, SDLK_7,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_PET_EMOTION,
        &Actions::petEmote,
        InputAction::PET_EMOTE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyPetEmoteShortcut8",
        InputType::KEYBOARD, SDLK_8,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_PET_EMOTION,
        &Actions::petEmote,
        InputAction::PET_EMOTE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyPetEmoteShortcut9",
        InputType::KEYBOARD, SDLK_9,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_PET_EMOTION,
        &Actions::petEmote,
        InputAction::PET_EMOTE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyPetEmoteShortcut10",
        InputType::KEYBOARD, SDLK_0,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_PET_EMOTION,
        &Actions::petEmote,
        InputAction::PET_EMOTE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyPetEmoteShortcut11",
        InputType::KEYBOARD, SDLK_MINUS,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_PET_EMOTION,
        &Actions::petEmote,
        InputAction::PET_EMOTE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyPetEmoteShortcut12",
        InputType::KEYBOARD, SDLK_EQUALS,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_PET_EMOTION,
        &Actions::petEmote,
        InputAction::PET_EMOTE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyPetEmoteShortcut13",
        InputType::KEYBOARD, SDLK_BACKSPACE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_PET_EMOTION,
        &Actions::petEmote,
        InputAction::PET_EMOTE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyPetEmoteShortcut14",
        InputType::KEYBOARD, SDLK_INSERT,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_PET_EMOTION,
        &Actions::petEmote,
        InputAction::PET_EMOTE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyPetEmoteShortcut15",
        InputType::KEYBOARD, SDLK_HOME,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_PET_EMOTION,
        &Actions::petEmote,
        InputAction::PET_EMOTE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyPetEmoteShortcut16",
        InputType::KEYBOARD, SDLK_q,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_PET_EMOTION,
        &Actions::petEmote,
        InputAction::PET_EMOTE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyPetEmoteShortcut17",
        InputType::KEYBOARD, SDLK_w,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_PET_EMOTION,
        &Actions::petEmote,
        InputAction::PET_EMOTE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyPetEmoteShortcut18",
        InputType::KEYBOARD, SDLK_e,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_PET_EMOTION,
        &Actions::petEmote,
        InputAction::PET_EMOTE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyPetEmoteShortcut19",
        InputType::KEYBOARD, SDLK_r,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_PET_EMOTION,
        &Actions::petEmote,
        InputAction::PET_EMOTE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyPetEmoteShortcut20",
        InputType::KEYBOARD, SDLK_t,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_PET_EMOTION,
        &Actions::petEmote,
        InputAction::PET_EMOTE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyPetEmoteShortcut21",
        InputType::KEYBOARD, SDLK_y,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_PET_EMOTION,
        &Actions::petEmote,
        InputAction::PET_EMOTE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyPetEmoteShortcut22",
        InputType::KEYBOARD, SDLK_u,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_PET_EMOTION,
        &Actions::petEmote,
        InputAction::PET_EMOTE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyPetEmoteShortcut23",
        InputType::KEYBOARD, SDLK_i,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_PET_EMOTION,
        &Actions::petEmote,
        InputAction::PET_EMOTE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyPetEmoteShortcut24",
        InputType::KEYBOARD, SDLK_o,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_PET_EMOTION,
        &Actions::petEmote,
        InputAction::PET_EMOTE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyPetEmoteShortcut25",
        InputType::KEYBOARD, SDLK_p,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_PET_EMOTION,
        &Actions::petEmote,
        InputAction::PET_EMOTE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyPetEmoteShortcut26",
        InputType::KEYBOARD, SDLK_LEFTBRACKET,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_PET_EMOTION,
        &Actions::petEmote,
        InputAction::PET_EMOTE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyPetEmoteShortcut27",
        InputType::KEYBOARD, SDLK_RIGHTBRACKET,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_PET_EMOTION,
        &Actions::petEmote,
        InputAction::PET_EMOTE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyPetEmoteShortcut28",
        InputType::KEYBOARD, SDLK_BACKSLASH,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_PET_EMOTION,
        &Actions::petEmote,
        InputAction::PET_EMOTE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyPetEmoteShortcut29",
        InputType::KEYBOARD, SDLK_a,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_PET_EMOTION,
        &Actions::petEmote,
        InputAction::PET_EMOTE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyPetEmoteShortcut30",
        InputType::KEYBOARD, SDLK_s,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_PET_EMOTION,
        &Actions::petEmote,
        InputAction::PET_EMOTE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyPetEmoteShortcut31",
        InputType::KEYBOARD, SDLK_d,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_PET_EMOTION,
        &Actions::petEmote,
        InputAction::PET_EMOTE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyPetEmoteShortcut32",
        InputType::KEYBOARD, SDLK_f,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_PET_EMOTION,
        &Actions::petEmote,
        InputAction::PET_EMOTE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyPetEmoteShortcut33",
        InputType::KEYBOARD, SDLK_g,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_PET_EMOTION,
        &Actions::petEmote,
        InputAction::PET_EMOTE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyPetEmoteShortcut34",
        InputType::KEYBOARD, SDLK_h,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_PET_EMOTION,
        &Actions::petEmote,
        InputAction::PET_EMOTE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyPetEmoteShortcut35",
        InputType::KEYBOARD, SDLK_j,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_PET_EMOTION,
        &Actions::petEmote,
        InputAction::PET_EMOTE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyPetEmoteShortcut36",
        InputType::KEYBOARD, SDLK_k,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_PET_EMOTION,
        &Actions::petEmote,
        InputAction::PET_EMOTE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyPetEmoteShortcut37",
        InputType::KEYBOARD, SDLK_l,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_PET_EMOTION,
        &Actions::petEmote,
        InputAction::PET_EMOTE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyPetEmoteShortcut38",
        InputType::KEYBOARD, SDLK_SEMICOLON,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_PET_EMOTION,
        &Actions::petEmote,
        InputAction::PET_EMOTE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyPetEmoteShortcut39",
        InputType::KEYBOARD, SDLK_QUOTE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_PET_EMOTION,
        &Actions::petEmote,
        InputAction::PET_EMOTE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyPetEmoteShortcut40",
        InputType::KEYBOARD, SDLK_z,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_PET_EMOTION,
        &Actions::petEmote,
        InputAction::PET_EMOTE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyPetEmoteShortcut41",
        InputType::KEYBOARD, SDLK_x,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_PET_EMOTION,
        &Actions::petEmote,
        InputAction::PET_EMOTE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyPetEmoteShortcut42",
        InputType::KEYBOARD, SDLK_c,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_PET_EMOTION,
        &Actions::petEmote,
        InputAction::PET_EMOTE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyPetEmoteShortcut43",
        InputType::KEYBOARD, SDLK_v,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_PET_EMOTION,
        &Actions::petEmote,
        InputAction::PET_EMOTE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyPetEmoteShortcut44",
        InputType::KEYBOARD, SDLK_b,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_PET_EMOTION,
        &Actions::petEmote,
        InputAction::PET_EMOTE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyPetEmoteShortcut45",
        InputType::KEYBOARD, SDLK_n,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_PET_EMOTION,
        &Actions::petEmote,
        InputAction::PET_EMOTE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyPetEmoteShortcut46",
        InputType::KEYBOARD, SDLK_m,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_PET_EMOTION,
        &Actions::petEmote,
        InputAction::PET_EMOTE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyPetEmoteShortcut47",
        InputType::KEYBOARD, SDLK_COMMA,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_PET_EMOTION,
        &Actions::petEmote,
        InputAction::PET_EMOTE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyPetEmoteShortcut48",
        InputType::KEYBOARD, SDLK_PERIOD,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_PET_EMOTION,
        &Actions::petEmote,
        InputAction::PET_EMOTE, 100,
        InputCondition::GAME,
        "",
        false},
    {"keyCatchPet",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::catchPet,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
        "catchpet|catch",
        true},
    {"keyChatServerIgnoreWhisper",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT | Input::GRP_GUI,
        &Actions::serverIgnoreWhisper,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
        "serverignore",
        false},
    {"keyChatServerUnIgnoreWhisper",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT | Input::GRP_GUI,
        &Actions::serverUnIgnoreWhisper,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
        "serverunignore",
        false},
    {"keyMercenaryFire",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::mercenaryFire,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
        "mercenaryfire|firemercenary",
        false},
    {"keyTargetMercenary",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::targetMercenary,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME | InputCondition::NOTARGET,
        "targetmercenary",
        false},
    {"keyTargetPet",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::targetPet,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME | InputCondition::NOTARGET,
        "targetpet",
        false},
    {"keyPetSetName",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::setPetName,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
        "setpetname|petsetname",
        false},
    {"keyHomunculusSetName",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::setHomunculusName,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
        "sethomunname|homunsetname|sethomunculusname|homunculussetname",
        false},
    {"keyHomunculusFire",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::fireHomunculus,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
        "firehomunculus|homunculusfire",
        false},
    {"keyWindowBank",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT | Input::GRP_GUI,
        &Actions::bankWindowShow,
        InputAction::NO_VALUE, 50,
        InputCondition::SHORTCUT0,
        "bank|openbank",
        false},
    {"keyInventoryPrevTab",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT | Input::GRP_GUI,
        &Actions::prevInvTab,
        InputAction::NO_VALUE, 50,
        InputCondition::NOINPUT | InputCondition::INGAME,
        "previnvtab",
        false},
    {"keyInventoryNextTab",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT | Input::GRP_GUI,
        &Actions::nextInvTab,
        InputAction::NO_VALUE, 50,
        InputCondition::NOINPUT | InputCondition::INGAME,
        "nextinvtab",
        false},
    {"keyContextMenu",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::contextMenu,
        InputAction::NO_VALUE, 50,
        InputCondition::NOINPUT | InputCondition::NOAWAY
            | InputCondition::NOMODAL | InputCondition::INGAME,
        "contextmenu",
        false},
    {"keyBuy",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::buy,
        InputAction::NO_VALUE, 50,
        InputCondition::GAME,
        "buy",
        false},
    {"keySell",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::sell,
        InputAction::NO_VALUE, 50,
        InputCondition::GAME,
        "sell",
        false},
    {"keyWhisper2",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::msg2,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
        "w2|whisper2|msg2",
        true},
    {"keyGuild",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::guild,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
        "guild",
        true},
    {"keyNuke",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::chatNuke,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
        "nuke",
        true},
    {"keyUse",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::useItem,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
        "use|useitem",
        true},
    {"keyChatAdd",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::chatAdd,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
        "addchat|chatadd",
        true},
    {"keyWhisperText",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::msgText,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
        "wt|whispertext|msgtext",
        true},
    {"keyNavigateTo",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::navigateTo,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
        "navigateto",
        true},
    {"keyCameraMove",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::moveCamera,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
        "movecamera|cameramove",
        true},
    {"keyDropItem",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::dropItemId,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
        "dropitem",
        true},
    {"keyDropItemAll",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::dropItemIdAll,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
        "dropitemall",
        true},
    {"keyDropInv",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::dropItemInv,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
        "dropinv",
        true},
    {"keyDropInvAll",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::dropItemInvAll,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
        "dropinvall",
        true},
    {"keyUseInv",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::useItemInv,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
        "useinv",
        true},
    {"keyInvToStorage",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::invToStorage,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
        "invtostorage|invstorage",
        true},
    {"keyInvToStorage10",
        InputType::UNKNOWN, InputAction::NO_VALUE,
        InputType::UNKNOWN, InputAction::NO_VALUE,
        Input::GRP_DEFAULT,
        &Actions::invToStorage10,
        InputAction::NO_VALUE, 50,
        InputCondition::INGAME,
        "invtostorage10|invstorage10",
        true},
};

#endif  // INPUT_INPUTACTIONMAP_H