为什么“libevdev”事件的时间戳会环绕?

问题描述 投票:0回答:1

我一直在使用 python-libevdev 并注意到事件时间戳似乎会环绕。例如,当我运行以下脚本时:

import libevdev as ev

with open('/dev/input/by-path/my-event-kbd', 'rb') as fd: 
    device = ev.Device(fd)
    device.grab()
    for e in device.events():
        if e.matches(ev.EV_KEY):
            if e.value == 0:                                                                                                                      
                print('release', e.usec)
            elif e.value == 1:
                print('press  ', e.usec)

我得到了:

press   285047
release 898527
press   383116
release 828000
press   164149
release 295935
press   929637
release 65158
press   593924
release 750227
press   81770
release 210363
press   533884
release 652184
press   949230
release 81242

等等。 InputEvent.usec

docs
只是说:

时间戳,微秒

任何人都可以解释为什么/如何这些值环绕?我如何使用这些值来计算按键被按下和释放之间经过的时间?

python linux linux-kernel keyboard evdev
1个回答
0
投票

啊,我很困惑。完整时间戳由

InputEvent.sec
(秒)plus
InputEvent.usec
(微秒)给出。

© www.soinside.com 2019 - 2024. All rights reserved.