我正在使用LIRCd来捕获我在遥控器上按下的按键,使用正确的配置文件。
根据文档,我必须等待阻塞函数
因此,第二个数字在我长按键时递增,但一旦我松开并再次按下它,它就会重置为0。
我想要的是能够检测到重复停止的时刻。
现在,我可以看出如何实现松开键的检测:如果 lirc_nextcode() 在一定时间内没有响应,那么我可以认为该键已被释放。
我想问你的是:是否有另一种(更合适的)方法来做到这一点?也许通过配置 LIRCd?
或者,如果除了使用计时器没有其他方法可行,那么最佳实现是什么? 实际上,lirc_getcode() 是阻塞的,因此每当计时器响起时,我都需要它返回!
编辑:顺便说一句,没有 lirc 或 lircd 标签,加上会很好!
根据文档,我必须等待阻塞函数
lirc_nextcode()
返回,并获得一个很好的行来解码,就像这样:0000000080bf4bb4 00 CURSOR_DOWN myremote
第一个数字是键值,接下来是按下此键的重复次数(这里为0,因为我仅按下并释放它),然后是键名和我的遥控器名称。
无论如何,我想要做的是检测我的遥控器的向上键。
如果我按下某个按钮一段时间,我会得到以下结果(每200毫秒换行):
0000000080bf4bb4 00 CURSOR_DOWN myremote
0000000080bf4bb4 01 CURSOR_DOWN myremote
0000000080bf4bb4 02 CURSOR_DOWN myremote
0000000080bf4bb4 03 CURSOR_DOWN myremote
0000000080bf4bb4 04 CURSOR_DOWN myremote
0000000080bf4bb4 05 CURSOR_DOWN myremote
0000000080bf4bb4 06 CURSOR_DOWN myremote
0000000080bf4bb4 07 CURSOR_DOWN myremote
0000000080bf4bb4 08 CURSOR_DOWN myremote
0000000080bf4bb4 09 CURSOR_DOWN myremote
0000000080bf4bb4 0a CURSOR_DOWN myremote
// I let go for 1s and press it again:
0000000080bf4bb4 00 CURSOR_DOWN myremote
因此,第二个数字在我长按键时递增,但一旦我松开并再次按下它,它就会重置为0。
我想要的是能够检测到重复停止的时刻。
现在,我可以看出如何实现松开键的检测:如果 lirc_nextcode() 在一定时间内没有响应,那么我可以认为该键已被释放。
我想问你的是:是否有另一种(更合适的)方法来做到这一点?也许通过配置 LIRCd?
或者,如果除了使用计时器没有其他方法可行,那么最佳实现是什么? 实际上,lirc_getcode() 是阻塞的,因此每当计时器响起时,我都需要它返回!
编辑:顺便说一句,没有 lirc 或 lircd 标签,加上会很好!