Advertisement
Guest User

g15_plugin_uinput.c

a guest
Apr 10th, 2013
145
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 8.89 KB | None | 0 0
  1.     if(!(currentkeys & G15_KEY_LIGHT))
  2.     {
  3.         struct key_seq{
  4.         char g_key[19];
  5.         int seq_length;
  6.         };
  7.     switch(mkey_state)
  8.     {
  9.         //M1 and the default layout
  10.         case 0:
  11.         {
  12.         g_key[1]=GKEY_OFFSET+1;
  13.         g_key[2]=GKEY_OFFSET+2;
  14.         g_key[3]=GKEY_OFFSET+3;
  15.         g_key[4]=GKEY_OFFSET+4;
  16.         g_key[5]=GKEY_OFFSET+5;
  17.         g_key[6]=GKEY_OFFSET+6;
  18.  
  19.         g_key[7]=KEY_LEFTMETA, KEY_F1;
  20.         g_key[8]=KEY_LEFTMETA, KEY_F2;
  21.         g_key[9]=KEY_LEFTMETA, KEY_F3;
  22.         g_key[10]=KEY_LEFTMETA, KEY_F4;
  23.         g_key[11]=KEY_LEFTMETA, KEY_F5;
  24.         g_key[12]=KEY_LEFTMETA, KEY_F6;
  25.  
  26.         g_key[13]=GKEY_OFFSET+13;
  27.         g_key[14]=KEY_LEFTALT, KEY_F4;
  28.         g_key[15]=KEY_LEFTCTRL, KEY_PAGEUP;
  29.         g_key[16]=GKEY_OFFSET+16;
  30.         g_key[17]=KEY_LEFTCTRL, KEY_W;
  31.         g_key[18]=KEY_LEFTCTRL, KEY_PAGEDOWN;
  32.  
  33.         break;
  34.         }
  35.         //M2 layout
  36.         case 1:
  37.         {
  38.         g_key[1]=GKEY_OFFSET+1;
  39.         g_key[2]=GKEY_OFFSET+2;
  40.         g_key[3]=GKEY_OFFSET+3;
  41.         g_key[4]=GKEY_OFFSET+4;
  42.         g_key[5]=GKEY_OFFSET+5;
  43.         g_key[6]=GKEY_OFFSET+6;
  44.  
  45.         g_key[7]=GKEY_OFFSET+7;
  46.         g_key[8]=GKEY_OFFSET+8;
  47.         g_key[9]=GKEY_OFFSET+9;
  48.         g_key[10]=GKEY_OFFSET+10;
  49.         g_key[11]=GKEY_OFFSET+11;
  50.         g_key[12]=GKEY_OFFSET+12;
  51.  
  52.         g_key[13]=GKEY_OFFSET+13;
  53.         g_key[14]=GKEY_OFFSET+14;
  54.         g_key[15]=GKEY_OFFSET+15;
  55.         g_key[16]=GKEY_OFFSET+16;
  56.         g_key[17]=GKEY_OFFSET+17;
  57.         g_key[18]=GKEY_OFFSET+18;
  58.  
  59.         break;
  60.         }
  61.         //M3 layout
  62.         case 2:
  63.         {
  64.         g_key[1]=GKEY_OFFSET+1;
  65.         g_key[2]=GKEY_OFFSET+2;
  66.         g_key[3]=GKEY_OFFSET+3;
  67.         g_key[4]=GKEY_OFFSET+4;
  68.         g_key[5]=GKEY_OFFSET+5;
  69.         g_key[6]=GKEY_OFFSET+6;
  70.  
  71.         g_key[7]=GKEY_OFFSET+7;
  72.         g_key[8]=GKEY_OFFSET+8;
  73.         g_key[9]=GKEY_OFFSET+9;
  74.         g_key[10]=GKEY_OFFSET+10;
  75.         g_key[11]=GKEY_OFFSET+11;
  76.         g_key[12]=GKEY_OFFSET+12;
  77.  
  78.         g_key[13]=GKEY_OFFSET+13;
  79.         g_key[14]=GKEY_OFFSET+14;
  80.         g_key[15]=GKEY_OFFSET+15;
  81.         g_key[16]=GKEY_OFFSET+16;
  82.         g_key[17]=GKEY_OFFSET+17;
  83.         g_key[18]=GKEY_OFFSET+18;
  84.  
  85.         break;
  86.         }
  87.         //If something goes wrong layout
  88.         default:
  89.         {
  90.         g_key[1]=GKEY_OFFSET+1;
  91.         g_key[2]=GKEY_OFFSET+2;
  92.         g_key[3]=GKEY_OFFSET+3;
  93.         g_key[4]=GKEY_OFFSET+4;
  94.         g_key[5]=GKEY_OFFSET+5;
  95.         g_key[6]=GKEY_OFFSET+6;
  96.  
  97.         g_key[7]=GKEY_OFFSET+7;
  98.         g_key[8]=GKEY_OFFSET+8;
  99.         g_key[9]=GKEY_OFFSET+9;
  100.         g_key[10]=GKEY_OFFSET+10;
  101.         g_key[11]=GKEY_OFFSET+11;
  102.         g_key[12]=GKEY_OFFSET+12;
  103.  
  104.         g_key[13]=GKEY_OFFSET+13;
  105.         g_key[14]=GKEY_OFFSET+14;
  106.         g_key[15]=GKEY_OFFSET+15;
  107.         g_key[16]=GKEY_OFFSET+16;
  108.         g_key[17]=GKEY_OFFSET+17;
  109.         g_key[18]=GKEY_OFFSET+18;
  110.  
  111.         break;
  112.         }
  113.     }
  114.  
  115.     void g_key_dn(key_seq sequences)
  116.     {
  117.         for(int i = 1; i < key_seq.seq_length; i++)
  118.             keydown(seq.g_key[i]);
  119.     }
  120.    
  121.     void g_key_up(key_seq sequences)
  122.     {
  123.         for(int i = 1; i < key_seq.seq_length; i++)
  124.             keyup(seq.g_key[i]);
  125.     }
  126.  
  127.     /*G Keys*/
  128.         if((currentkeys & G15_KEY_G1) && !(lastkeys & G15_KEY_G1))
  129.             {g_key_dn(sequences[1]);}
  130.         else if(!(currentkeys & G15_KEY_G1) && (lastkeys & G15_KEY_G1))
  131.             {g_key_up(sequences[1]);}
  132.    
  133.         if((currentkeys & G15_KEY_G2) && !(lastkeys & G15_KEY_G2))
  134.             {g_key_dn(sequences[2]);}
  135.         else if(!(currentkeys & G15_KEY_G2) && (lastkeys & G15_KEY_G2))
  136.             {g_key_up(sequences[2]);}
  137.    
  138.         if((currentkeys & G15_KEY_G3) && !(lastkeys & G15_KEY_G3))
  139.             {g_key_dn(sequences[3]);}
  140.         else if(!(currentkeys & G15_KEY_G3) && (lastkeys & G15_KEY_G3))
  141.             {g_key_up(sequences[3]);}
  142.    
  143.         if((currentkeys & G15_KEY_G4) && !(lastkeys & G15_KEY_G4))
  144.             {g_key_dn(sequences[4]);}
  145.         else if(!(currentkeys & G15_KEY_G4) && (lastkeys & G15_KEY_G4))
  146.             {g_key_up(sequences[4]);}
  147.    
  148.         if((currentkeys & G15_KEY_G5) && !(lastkeys & G15_KEY_G5))
  149.             {g_key_dn(sequences[5]);}
  150.         else if(!(currentkeys & G15_KEY_G5) && (lastkeys & G15_KEY_G5))
  151.             {g_key_up(sequences[5]);}
  152.    
  153.         if((currentkeys & G15_KEY_G6) && !(lastkeys & G15_KEY_G6))
  154.             {g_key_dn(sequences[6]);}
  155.         else if(!(currentkeys & G15_KEY_G6) && (lastkeys & G15_KEY_G6))
  156.             {g_key_up(sequences[6]);}
  157.    
  158.         if((currentkeys & G15_KEY_G7) && !(lastkeys & G15_KEY_G7))
  159.             {g_key_dn(sequences[7]);}
  160.         else if(!(currentkeys & G15_KEY_G7) && (lastkeys & G15_KEY_G7))
  161.             {g_key_up(sequences[7]);}
  162.    
  163.         if((currentkeys & G15_KEY_G8) && !(lastkeys & G15_KEY_G8))
  164.             {g_key_dn(sequences[8]);}
  165.         else if(!(currentkeys & G15_KEY_G8) && (lastkeys & G15_KEY_G8))
  166.             {g_key_up(sequences[8]);}
  167.  
  168.         if((currentkeys & G15_KEY_G9) && !(lastkeys & G15_KEY_G9))
  169.             {g_key_dn(sequences[9]);}
  170.         else if(!(currentkeys & G15_KEY_G9) && (lastkeys & G15_KEY_G9))
  171.             {g_key_up(sequences[9]);}
  172.  
  173.         if((currentkeys & G15_KEY_G10) && !(lastkeys & G15_KEY_G10))
  174.             {g_key_dn(sequences[10]);}
  175.         else if(!(currentkeys & G15_KEY_G10) && (lastkeys & G15_KEY_G10))
  176.             {g_key_up(sequences[10]);}
  177.  
  178.         if((currentkeys & G15_KEY_G11) && !(lastkeys & G15_KEY_G11))
  179.             {g_key_dn(sequences[11]);}
  180.         else if(!(currentkeys & G15_KEY_G11) && (lastkeys & G15_KEY_G11))
  181.             {g_key_up(sequences[11]);}
  182.  
  183.         if((currentkeys & G15_KEY_G12) && !(lastkeys & G15_KEY_G12))
  184.             {g_key_dn(sequences[12]);}
  185.         else if(!(currentkeys & G15_KEY_G12) && (lastkeys & G15_KEY_G12))
  186.             {g_key_up(sequences[12]);}
  187.    
  188.         if((currentkeys & G15_KEY_G13) && !(lastkeys & G15_KEY_G13))
  189.             {g_key_dn(sequences[13]);}
  190.         else if(!(currentkeys & G15_KEY_G13) && (lastkeys & G15_KEY_G13))
  191.             {g_key_up(sequences[13]);}
  192.    
  193.         if((currentkeys & G15_KEY_G14) && !(lastkeys & G15_KEY_G14))
  194.             {g_key_dn(sequences[14]);}
  195.         else if(!(currentkeys & G15_KEY_G14) && (lastkeys & G15_KEY_G14))
  196.             {g_key_up(sequences[14]);}
  197.  
  198.         if((currentkeys & G15_KEY_G15) && !(lastkeys & G15_KEY_G15))
  199.             {g_key_dn(sequences[15]);}
  200.         else if(!(currentkeys & G15_KEY_G15) && (lastkeys & G15_KEY_G15))
  201.             {g_key_up(sequences[15]);}
  202.    
  203.         if((currentkeys & G15_KEY_G16) && !(lastkeys & G15_KEY_G16))
  204.              {g_key_dn(sequences[16]);}
  205.         else if(!(currentkeys & G15_KEY_G16) && (lastkeys & G15_KEY_G16))
  206.             {g_key_up(sequences[16]);}
  207.    
  208.         if((currentkeys & G15_KEY_G17) && !(lastkeys & G15_KEY_G17))
  209.             {g_key_dn(sequences[17]);}
  210.         else if(!(currentkeys & G15_KEY_G17) && (lastkeys & G15_KEY_G17))
  211.             {g_key_up(sequences[17]);}
  212.    
  213.         if((currentkeys & G15_KEY_G18) && !(lastkeys & G15_KEY_G18))
  214.             {g_key_dn(sequences[18]);}
  215.         else if(!(currentkeys & G15_KEY_G18) && (lastkeys & G15_KEY_G18))
  216.             {g_key_up(sequences[18]);}
  217.    
  218.         /* 'M' keys... */
  219.    
  220.         if((currentkeys & G15_KEY_M1) && !(lastkeys & G15_KEY_M1)){
  221.             keydown(MKEY_OFFSET);
  222.         mkey_state = 0;
  223.     }
  224.         else if(!(currentkeys & G15_KEY_M1) && (lastkeys & G15_KEY_M1))
  225.             keyup(MKEY_OFFSET);
  226.    
  227.         if((currentkeys & G15_KEY_M2) && !(lastkeys & G15_KEY_M2)){
  228.             keydown(MKEY_OFFSET+1);
  229.         mkey_state = 1;
  230.     }
  231.         else if(!(currentkeys & G15_KEY_M2) && (lastkeys & G15_KEY_M2))
  232.             keyup(MKEY_OFFSET+1);
  233.    
  234.         if((currentkeys & G15_KEY_M3) && !(lastkeys & G15_KEY_M3)){
  235.             keydown(MKEY_OFFSET+2);
  236.         mkey_state = 2;
  237.     }
  238.         else if(!(currentkeys & G15_KEY_M3) && (lastkeys & G15_KEY_M3))
  239.             keyup(MKEY_OFFSET+2);
  240.    
  241.         if((currentkeys & G15_KEY_MR) && !(lastkeys & G15_KEY_MR)){
  242.             keydown(MKEY_OFFSET+3);
  243.     }
  244.         else if(!(currentkeys & G15_KEY_MR) && (lastkeys & G15_KEY_MR)){
  245.             keyup(MKEY_OFFSET+3);
  246.     }
  247.        
  248.         if(map_Lkeys){
  249.             /* 'L' keys...  */
  250.             if((currentkeys & G15_KEY_L1) && !(lastkeys & G15_KEY_L1))
  251.                 keydown(LKEY_OFFSET);
  252.             else if(!(currentkeys & G15_KEY_L1) && (lastkeys & G15_KEY_L1))
  253.                 keyup(LKEY_OFFSET);
  254.    
  255.             if((currentkeys & G15_KEY_L2) && !(lastkeys & G15_KEY_L2))
  256.                 keydown(LKEY_OFFSET+1);
  257.             else if(!(currentkeys & G15_KEY_L2) && (lastkeys & G15_KEY_L2))
  258.                 keyup(LKEY_OFFSET+1);
  259.    
  260.             if((currentkeys & G15_KEY_L3) && !(lastkeys & G15_KEY_L3))
  261.                 keydown(LKEY_OFFSET+2);
  262.             else if(!(currentkeys & G15_KEY_L3) && (lastkeys & G15_KEY_L3))
  263.                 keyup(LKEY_OFFSET+2);
  264.    
  265.             if((currentkeys & G15_KEY_L4) && !(lastkeys & G15_KEY_L4))
  266.                 keydown(LKEY_OFFSET+3);
  267.             else if(!(currentkeys & G15_KEY_L4) && (lastkeys & G15_KEY_L4))
  268.                 keyup(LKEY_OFFSET+3);
  269.    
  270.             if((currentkeys & G15_KEY_L5) && !(lastkeys & G15_KEY_L5))
  271.                 keydown(LKEY_OFFSET+4);
  272.             else if(!(currentkeys & G15_KEY_L5) && (lastkeys & G15_KEY_L5))
  273.                 keyup(LKEY_OFFSET+4);
  274.         }
  275.  
  276.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement