Miracle icon indicating copy to clipboard operation
Miracle copied to clipboard

Gamepad support

Open shaan1974 opened this issue 4 years ago • 0 comments

Hello, it could be done easily with : https://github.com/neogeek/gamepad.js

function createEO(e,k)
{
    var eventObj = document.createEvent("Events");
    eventObj.initEvent(e, true, true);
    eventObj.which = k; 
    eventObj.keyCode = k;
    return eventObj;
}

var gamepad = new Gamepad();

    gamepad.on
    (
        'connect', 
        function () 
        { 
        }
    );

//  BTN1
//
    gamepad.on( 'press', 'button_1',    function ()     {   eventObj=createEO("keydown",88); keyDown(eventObj);     }   );
    gamepad.on( 'release', 'button_1',  function ()     {   eventObj=createEO("keyUp",88); keyUp(eventObj);         }   );

//  BTN2
//
    gamepad.on( 'press', 'button_2',    function ()     {   eventObj=createEO("keydown",90); keyDown(eventObj);     }   );
    gamepad.on( 'release', 'button_2',  function ()     {   eventObj=createEO("keyUp",90); keyUp(eventObj);         }   );    

//  START
//
    gamepad.on( 'press', 'start',       function ()     {   eventObj=createEO("keydown",13); keyDown(eventObj);     }   );
    gamepad.on( 'release', 'start',     function ()     {   eventObj=createEO("keydown",13); keyUp(eventObj);       }   );    
    
//  UP (38)
//
    gamepad.on( 'press', 'd_pad_up',    function ()     {   eventObj=createEO("keydown",38); keyDown(eventObj);     }   );
    gamepad.on( 'release', 'd_pad_up',  function ()     {   eventObj=createEO("keydown",38); keyUp(eventObj);       }   ); 

//  DOWN (40)
//
    gamepad.on( 'press', 'd_pad_down',      function ()     {   eventObj=createEO("keydown",40); keyDown(eventObj);     }   );
    gamepad.on( 'release', 'd_pad_down',    function ()     {   eventObj=createEO("keydown",40); keyUp(eventObj);       }   ); 

//  LEFT (37)
//
    gamepad.on( 'press', 'd_pad_left',      function ()     {   eventObj=createEO("keydown",37); keyDown(eventObj);     }   );
    gamepad.on( 'release', 'd_pad_left',    function ()     {   eventObj=createEO("keydown",37); keyUp(eventObj);       }   );    

//  RIGHT (39)
//
    gamepad.on( 'press', 'd_pad_right',     function ()     {   eventObj=createEO("keydown",39); keyDown(eventObj);     }   );
    gamepad.on( 'release', 'd_pad_right',   function ()     {   eventObj=createEO("keydown",39); keyUp(eventObj);       }   );      

shaan1974 avatar Jul 31 '20 13:07 shaan1974