Generic Devices: Report repeated events even if monitored bytes don't change

You could call this only for the dial:

function analyzeDeviceInput(targetDevice, reportID, reportDataHex) {
    let reportBuffer = buffer.Buffer.from(reportDataHex, 'hex');
    if(reportBuffer.readUInt8(1) === 0x03) {
        bttTriggerDeviceTrigger(targetDevice, 'button');
    } else if(reportBuffer.readUInt8(2) === 0x01) {
        bttTriggerDeviceTrigger(targetDevice, 'right');
        bttGetNextEvenWithoutChange(targetDevice, reportID)
    } else if(reportBuffer.readUInt8(2) === 0xff) {
        bttTriggerDeviceTrigger(targetDevice, 'left');
        bttGetNextEvenWithoutChange(targetDevice, reportID)
    }
}