Задать вопрос
  • Как в Debian посчитать количество нажатий на мышку и клавиатуру?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    вариант через evtest

    для начала смотрим на каких ивентах висят нужные нам клава и мышка
    для примера, у меня это 8(мыш) и 11(клава), нужно будет найти и подставить свои
    $ evtest
    No device specified, trying to scan all of /dev/input/event*
    Not running as root, no devices may be available.
    Available devices:
    /dev/input/event0:	Power Button
    /dev/input/event1:	Power Button
    /dev/input/event10:	Rapoo Rapoo Gaming Mouse Consumer Control
    /dev/input/event11:	A4tech A4tech KB
    /dev/input/event12:	A4tech A4tech KB System Control
    /dev/input/event13:	A4tech A4tech KB Consumer Control
    /dev/input/event14:	HID 1d57:ad02 Keyboard
    /dev/input/event15:	HID 1d57:ad02 Mouse
    /dev/input/event16:	PC Speaker
    /dev/input/event17:	HD-Audio Generic Rear Mic
    /dev/input/event18:	HD-Audio Generic Front Mic
    /dev/input/event19:	HD-Audio Generic Line
    /dev/input/event2:	Video Bus
    /dev/input/event20:	HD-Audio Generic Line Out
    /dev/input/event21:	HD-Audio Generic Front Headphone
    /dev/input/event22:	keyd virtual keyboard
    /dev/input/event23:	keyd virtual pointer
    /dev/input/event3:	Video Bus
    /dev/input/event4:	SEM Trust Numpad
    /dev/input/event5:	SEM Trust Numpad Consumer Control
    /dev/input/event6:	SEM Trust Numpad System Control
    /dev/input/event7:	Rapoo Rapoo Gaming Mouse
    /dev/input/event8:	Rapoo Rapoo Gaming Mouse
    /dev/input/event9:	Rapoo Rapoo Gaming Mouse System Control
    Select the device event number [0-23]:

    для проверки укажите ваш номер в "Select the device event number ..." и посмотрите будет ли генерироваться вывод при нажатии клавиш на нужной клаве/мыше

    далее идут два простых однострочника на bash, для мышки(event8) и клавиатуры(event11) после запуска которых по истечению указанного времени в timeout, здесь 10s (секунд), команда отработает и выдаст результат, а именно, количество нажатий клавиш за отведённый период времени.

    (timeout 10s evtest /dev/input/event8 | grep --line-buffered -E 'EV_KEY.*0$' | wc -l)


    (timeout 10s evtest /dev/input/event11 | grep --line-buffered -E 'EV_KEY.*0$' | wc -l | { read a;echo $[a-1]; })


    однострочники довольно похожи, и помимо отличий в ивентах, для клавиатуры(event11) результат уменьшен на единицу, так как учитывать лишнее нажатие на ентер при запуске команды нам не нужно
    Ответ написан
    Комментировать