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

    xotkot
    @xotkot
    ответы это убийцы вопросов
    вариант через evtest

    для начала смотрим на каких ивентах висят нужные нам клава и мышка
    для примера, у меня здесь мышь на event8 а клава на event11
    $ 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-однострочнике как eventX (где X замените на свой)

    далее два варианта по подсчету нажатий

    вариант 1
    выдаст результат только по истечению времени указанного в timeout
    (timeout 10s evtest /dev/input/eventX | grep --line-buffered -E 'EV_KEY.*0$' | wc -l)


    вариант 2
    значение будет выводиться сразу во время нажатия
    evtest /dev/input/eventX |awk '/EV_KEY.*0$/,count++{system("tput dl1");printf "Нажатий: "count-1}'
    Ответ написан
    Комментировать