UNPKG

gamepad-node

Version:

Browser Gamepad API implementation for Node.js with native SDL2 bindings

38 lines (28 loc) 1.43 kB
import sdl from '@kmamal/sdl'; import fs from 'fs'; console.log('Checking controller mapping source...\n'); sdl.controller.on('deviceAdd', (event) => { const device = event.device; console.log('Controller:', device.name); console.log('GUID:', device.guid); console.log('\ndevice.mapping:', device.mapping); // Check if this mapping is in our loaded gamecontrollerdb.txt const dbContent = fs.readFileSync('./src/javascript/controllers/gamecontrollerdb.txt', 'utf-8'); const inCommunityDB = dbContent.includes(device.guid); console.log('\nIn community gamecontrollerdb.txt:', inCommunityDB); if (inCommunityDB) { const lines = dbContent.split('\n'); const matchingLine = lines.find(line => line.includes(device.guid)); console.log('\nCommunity DB mapping:'); console.log(matchingLine); } // Check the button mapping pattern if (device.mapping) { const isNintendoPattern = device.mapping.includes('a:b1') && device.mapping.includes('b:b0'); const isXboxPattern = device.mapping.includes('a:b0') && device.mapping.includes('b:b1'); console.log('\nButton mapping pattern:'); console.log(' Nintendo-style (a:b1,b:b0):', isNintendoPattern ? '✓' : '✗'); console.log(' Xbox-style (a:b0,b:b1):', isXboxPattern ? '✓' : '✗'); } }); console.log('Connect your controller...');