It the lirc hardware does not support it, use read timeouts with poll(2) or select(2). Use LIRC_SET_REC_TIMEOUT and LIRC_SET_REC_TIMEOUT_REPORTS. Note: Girs and HardHardware as well as poll uses values in milliseconds, Lirc microseconds.