Triggerhappy doubling commands after moving to Volumio 4

Hello,

I have got annoying problem with triggerhappy - it doubling at least three my commands: MUTE TOGGLE, VOLUME UP, VOLUME DOWN

Mute button pressed only once - it mutes system but after then I am not able to unmute - one button press triggers doubled action - I can see very quick change: to unmute and mute again.

The same for volume -/+ - once pressed volume - or + key changing volume level by two units (- or +).

Problem can be temporary fixed by restarting Triggerhappy service. I use ‘/etc/init.d/triggerhappy restart’ command. It persists fixed until next system boot.

The same I observe on two my RPI5s and as well on Intel Nuc.

The outputs from command: ./thd --dump /dev/input/event* look the same: prior to Triggerhappy service restart and after that.

Part of my audio.conf:

#MUTE TOGGLE
KEY_MUTE 1 /usr/local/bin/volumio volume toggle
#VOLUME UP
KEY_VOLUMEUP 1 /usr/local/bin/volumio volume plus
#VOLUME DOWN
KEY_VOLUMEDOWN 1 /usr/local/bin/volumio volume minus

I am using Rii mini i25 wireless remote

Thank you.

Regards,
Bartosz

Hey @Bigu1975,

Before investigation can proceed, one clarification is needed from your post.

You wrote that thd --dump output “looks the same” before and after service restart. Does this mean:

A) Single event per key press in dump, but Volumio executes the action twice
B) Doubled events visible in dump output per single key press

This distinction determines whether the issue is software-side or remote-side.

If you have not already done so, perform a full reset of the Rii mini i25 remote and receiver, then re-pair. If the remote has learned IR codes, re-learn them from a stable source signal. Unstable capture during IR learning can produce repeated codes.

Please also provide:

  1. Exact Volumio version (not “latest” - the actual number from Settings > System)

  2. Log link from http://volumio.local/dev

  3. Full content of your audio.conf:

cat /etc/triggerhappy/triggers.d/audio.conf

The partial config in your post shows commented lines. Need to see the complete file to check for duplicate entries.

  1. Confirm all three systems (2x RPi5, Intel NUC) exhibit identical behavior with the same remote, or if you have tested with different remotes.

Kind Regards,

1 Like

Hey @nerd
Many thanks for your interest and for willing to help, highly appreciated.

In both cases - with the problem and without problem - thd dump looks exactly the same: there is single event logged (1 followed by 0). With problem it triggers doubled action, without problem it doesn’t but the event looks the same.

Two times mute pressed with doubled action:

volumio@volumiostreamer:/usr/sbin$ sudo ./thd --dump /dev/input/event*
[sudo] password for volumio:
EV_KEY KEY_MUTE 1 /dev/input/event7

KEY_MUTE 1 command

EV_KEY KEY_MUTE 0 /dev/input/event7

KEY_MUTE 0 command

EV_KEY KEY_MUTE 1 /dev/input/event7

KEY_MUTE 1 command

EV_KEY KEY_MUTE 0 /dev/input/event7

KEY_MUTE 0 command

Two times mute pressed without doubled action:
volumio@volumiostreamer:/usr/sbin$ sudo ./thd --dump /dev/input/event*
[sudo] password for volumio:
EEV_KEY KEY_MUTE 1 /dev/input/event7

KEY_MUTE 1 command

EV_KEY KEY_MUTE 0 /dev/input/event7

KEY_MUTE 0 command

EV_KEY KEY_MUTE 1 /dev/input/event7

KEY_MUTE 1 command

EV_KEY KEY_MUTE 0 /dev/input/event7

KEY_MUTE 0 command

As I restarted Rii Mini (I am using only wireless command, not IR) and as always after restarting triggerhappy process manually - it works fine, my best guess is that it not remote controller side problem.

My exact system version (it is in Polish but I think it is enough):

image

Links to both logs - first with the problem (captured just after system boot and with mute button pressed there times: first press muted system, second made doubled action - unmuted and immediately muted, third time exactly as second time:

http://logs.volumio.org/volumio/KQcNDdz.html

Link to the log after other reboot when the triggerhappy process has been restarted after boot (the same three times mute pressed - this time without doubled action. I had just sequence: mute - unmute - mute.
http://logs.volumio.org/volumio/nOAQRxG.html

volumio@volumiostreamer:~$ cat /etc/triggerhappy/triggers.d/audio.conf
#VOLUMIO TRIGGERHAPPY CONFIGURATION FILE
#MUTE TOGGLE
KEY_MUTE 1 /usr/local/bin/volumio volume toggle
#VOLUME UP
KEY_VOLUMEUP 1 /usr/local/bin/volumio volume plus
#VOLUME DOWN
KEY_VOLUMEDOWN 1 /usr/local/bin/volumio volume minus
#PLAY PAUSE TOGGLE
KEY_PLAYPAUSE 1 /usr/local/bin/volumio toggle
#NEXT
KEY_NEXTSONG 1 /usr/local/bin/volumio next
#seek plus
KEY_RIGHT 1 /usr/local/bin/volumio seek plus
#PREVIOUS
KEY_PREVIOUSSONG 1 /usr/local/bin/volumio previous
#seek minus
KEY_LEFT 1 /usr/local/bin/volumio seek minus
#power_off
KEY_SLEEP 1 /etc/trigger.sh
#repeat
KEY_BACK 1 /usr/local/bin/volumio repeat
#enter
KEY_ENTER 1 /usr/local/bin/volumio toggle
#peppy_screensaver
KEY_COMPOSE 1 /data/INTERNAL/peppy.sh
volumio@volumiostreamer:~$

Yes I confirm - the same I have noticed on two remaining rpi5 volumio installation as well. If I am not mistaken on RPI I have one system version back. The problem I have noticed after migration to volumio 4.
Btw the doubled action is most likely not only limited to volume and mute controlling. I have noticed that for instant for KEY_NEXTSONG action. As the mute test is the easiest to reproduce I described it together with volume.

Since reporting this issue on Sunday, I am using work around which fix this behavior - via systemd I am calling the script which does systemctl restart triggerhappy.service after system boot.

Hope it helps.

Thank you!!!

And one more thing. I think, at least for NUC my volumio version, there is another process which reacts on my wireless remote controller. And maybe it is the issue?

It comes from fact that this event:
#power_off
KEY_SLEEP 1 /etc/trigger.sh
should trigger the scripts which should turn the NUC off, but put it into sleep (the power led is blinking).
And this key on my remote (sleep) works (causing system going to sleep) even when triggerhappy process is stopped. Unfortunately when triggerhappy is stopped there is no reaction neither on mute nor volume buttons pressed :frowning:

I can confirm that I have the same issue (using Flirc USB dongle with my amp’s remote). All commands (play/pause, stop, next, previous, seek) are executed twice and after restarting Triggerhappy service everything runs as intended.

Today I made system update to 4.096 as I saw it fix permissions for Triggerhappy - unfortunately the problem remains.
And as Vdrn says - every key pressed executes doubled (repeated) action. As always when Triggerhappy is restarted it works normal.

Your post are missing information required for investigation. Honestly - I have no idea what ARCH and ELF is involved here and what is connected as interpretive input device.

All I know is that this is Next Unit of Computing with no context whatsoever - facts are helpful, guesswork is not.

All of the following are mandatory:

  • Device model (Raspberry Pi 3/4/5, x86, etc.)
  • Storage type (SD card, SSD, USB, eMMC)
  • Raspberry Pi board revision (if applicable)
  • Power supply (brand, connector type, wattage/amps)
  • Exact Volumio version number (example: 3.569)
  • Log link from http://volumio.local/dev
  • Connected hardware (DAC, display, USB devices, GPIO attachments - all of it)
  • Problem description: what happened, what you expected, steps to reproduce

Missing any item means no investigation. Reply when complete.

Resource                        Link
------------------------------ -----------------------------------------------------
Help request guidelines         https://community.volumio.com/t/tips-and-guidelines-to-get-faster-help/1440
Raspberry Pi identification     https://community.volumio.com/t/guide-identifying-your-raspberry-pi-board-on-volumio-a-comprehensive-guide-to-revision-codes/71350
Log retrieval instructions      https://help.volumio.com/help/how-to-send-a-log-link-for-a-bug-report

Kind Regards,

1 Like

The logs have been already attached third post.

I don’t think the problem is platform related as I have exactly the same problem on two RPI 5 systems (with ssd drives) and finally on my Intel Nuc device.
Of course for NUC I use: PC (X86/X64) distribution

Attached logs in third post have been dumped from the below platform (only Volumio version was one step back):

  • OS info

  • Version of Volumio: 4.096

  • Hostname: volumiostreamer

  • Kernel: 6.12.57-volumio

  • Governor: performance

  • Uptime: 0 days, 0 Hrs, 28 Minutes, 38 Seconds

  • Network info

  • Interface: eth0

  • IP Address: 192.168.88.124

  • MAC Address: 54:b2:03:05:41:9b

  • Type: wired

  • Speed: 1Gb/s

  • Audio info

  • Hw audio configured: FiiO USB DAC-E10

  • Mixer type: Software

  • Board info

  • Manufacturer: Intel Corporation

  • Model: NUC7i5DNHE

  • CPU info

  • Brand: Core™ i5-7300U

  • Model name: Intel(R) Core™ i5-7300U CPU @ 2.60GHz

  • Speed: 2.6 GHz

  • Family: 6

  • Model: 142

  • Number of cores: 4

  • Physical cores: 2

  • Average load: 9%

  • Temperature: 63°C

  • Memory info

  • Memory: 8021740 Ko

  • Free: 5718064 Ko

  • Used: 2303676 Ko

  • Software info

  • MPD version: Music Player Daemon 0.24.6 (b6f106b+)

  • Bluetooth capabilities version: 4.2

  • AirPlay version: AirPlay 2

  • UPnP renderer: upmpdcli 1.9.7-1~ppa1~bookworm

  • Storage info

  • INTERNAL storage - Size: 223546MB

  • Used: 5040MB

  • Available: 206584MB (92%)

Thank you

@nerd, thanks for detailed instructions. Below you can find requested data:

1. Device model:

  • Raspberry Pi 3 Model B Rev 1.2
  • raspberrypi,3-model-b
  • brcm,bcm2837

2. Storage type

  • SD card

3. Raspberry Pi board revision:

  • a02082

4. Power supply:

  • Output Voltage : 5.1 V DC
  • Output Current : 2.5 A (maximum)
  • Power Output : 12.75 W

5. Exact Volumio version number:

  • 4.084

7. Log link:

8. Connected hardware:

  • USB DAC (ifi Zen Dac Signature v2), externally powered
  • FLIRC usb receiver v2

9. Problem description:

  • I can confirm that I have the same issue (using Flirc USB dongle with my amp’s remote). Every button press (play/pause, stop, next, previous, seek) executes commands twice and after restarting Triggerhappy service everything runs as intended.

10. Additional logs:

audio.conf content:

volumio@volumio:~$ cat /etc/triggerhappy/triggers.d/audio.conf
#VOLUMIO TRIGGERHAPPY CONFIGURATION FILE

# Yamaha RAS14 Button Mappings for Volumio Playback
#
#PLAY/PAUSE
KEY_F8 1 /usr/local/bin/volumio toggle
#PAUSE
KEY_F9 1 /usr/local/bin/volumio pause
#STOP
KEY_F10 1 /usr/local/bin/volumio stop
#PREVIOUS
KEY_F11 1 /usr/local/bin/volumio previous
#NEXT
KEY_F12 1 /usr/local/bin/volumio next
#SEEK MINUS
KEY_A 1 /usr/local/bin/volumio seek minus
KEY_A 2 /usr/local/bin/volumio seek minus
#SEEK PLUS
KEY_B 1 /usr/local/bin/volumio seek plus
KEY_B 2 /usr/local/bin/volumio seek plus
#
# Other mappings
#MUTE TOGGLE
KEY_MUTE 1 /usr/local/bin/volumio volume toggle
#
#VOLUME UP
KEY_VOLUMEUP 1 /usr/local/bin/volumio volume plus
#
#VOLUME DOWN
KEY_VOLUMEDOWN 1 /usr/local/bin/volumio volume minus
#

Triggerhappy real-time input events dump:

volumio@volumio:~$ sudo thd --dump /dev/input/event*
[sudo] password for volumio:
EV_KEY  KEY_F8  1       /dev/input/event2
# KEY_F8        1       command
EV_KEY  KEY_F8  0       /dev/input/event2
# KEY_F8        0       command
EV_KEY  KEY_F8  1       /dev/input/event2
# KEY_F8        1       command
EV_KEY  KEY_F8  0       /dev/input/event2
# KEY_F8        0       command
EV_KEY  KEY_F8  1       /dev/input/event2
# KEY_F8        1       command
EV_KEY  KEY_F8  2       /dev/input/event2
# KEY_F8        2       command
EV_KEY  KEY_F8  0       /dev/input/event2
# KEY_F8        0       command
EV_KEY  KEY_F9  1       /dev/input/event2
# KEY_F9        1       command
EV_KEY  KEY_F9  0       /dev/input/event2
# KEY_F9        0       command
EV_KEY  KEY_F9  1       /dev/input/event2
# KEY_F9        1       command
EV_KEY  KEY_F9  0       /dev/input/event2
# KEY_F9        0       command
EV_KEY  KEY_F9  1       /dev/input/event2
# KEY_F9        1       command
EV_KEY  KEY_F9  0       /dev/input/event2
# KEY_F9        0       command
EV_KEY  KEY_F8  1       /dev/input/event2
# KEY_F8        1       command
EV_KEY  KEY_F8  0       /dev/input/event2
# KEY_F8        0       command
EV_KEY  KEY_F9  1       /dev/input/event2
# KEY_F9        1       command
EV_KEY  KEY_F9  0       /dev/input/event2
# KEY_F9        0       command
EV_KEY  KEY_F8  1       /dev/input/event2
# KEY_F8        1       command
EV_KEY  KEY_F8  2       /dev/input/event2
# KEY_F8        2       command
EV_KEY  KEY_F8  0       /dev/input/event2
# KEY_F8        0       command
EV_KEY  KEY_F9  1       /dev/input/event2
# KEY_F9        1       command
EV_KEY  KEY_F9  0       /dev/input/event2
# KEY_F9        0       command
EV_KEY  KEY_F8  1       /dev/input/event2
# KEY_F8        1       command
EV_KEY  KEY_F8  2       /dev/input/event2
# KEY_F8        2       command
EV_KEY  KEY_F8  2       /dev/input/event2
# KEY_F8        2       command
EV_KEY  KEY_F8  0       /dev/input/event2
# KEY_F8        0       command
EV_KEY  KEY_F9  1       /dev/input/event2
# KEY_F9        1       command
EV_KEY  KEY_F9  0       /dev/input/event2
# KEY_F9        0       command
EV_KEY  KEY_F8  1       /dev/input/event2
# KEY_F8        1       command
EV_KEY  KEY_F8  0       /dev/input/event2
# KEY_F8        0       command
EV_KEY  KEY_F12 1       /dev/input/event2
# KEY_F12       1       command
EV_KEY  KEY_F12 0       /dev/input/event2
# KEY_F12       0       command
EV_KEY  KEY_F11 1       /dev/input/event2
# KEY_F11       1       command
EV_KEY  KEY_F11 0       /dev/input/event2
# KEY_F11       0       command
EV_KEY  KEY_F12 1       /dev/input/event2
# KEY_F12       1       command
EV_KEY  KEY_F12 0       /dev/input/event2
# KEY_F12       0       command
EV_KEY  KEY_F12 1       /dev/input/event2
# KEY_F12       1       command
EV_KEY  KEY_F12 0       /dev/input/event2
# KEY_F12       0       command
EV_KEY  KEY_F12 1       /dev/input/event2
# KEY_F12       1       command
EV_KEY  KEY_F12 0       /dev/input/event2
# KEY_F12       0       command
EV_KEY  KEY_F11 1       /dev/input/event2
# KEY_F11       1       command
EV_KEY  KEY_F11 0       /dev/input/event2
# KEY_F11       0       command
EV_KEY  KEY_F11 1       /dev/input/event2
# KEY_F11       1       command
EV_KEY  KEY_F11 0       /dev/input/event2
# KEY_F11       0       command
EV_KEY  KEY_F11 1       /dev/input/event2
# KEY_F11       1       command
EV_KEY  KEY_F11 2       /dev/input/event2
# KEY_F11       2       command
EV_KEY  KEY_F11 0       /dev/input/event2
# KEY_F11       0       command
EV_KEY  KEY_F10 1       /dev/input/event2
# KEY_F10       1       command
EV_KEY  KEY_F10 0       /dev/input/event2
# KEY_F10       0       command
EV_KEY  KEY_F8  1       /dev/input/event2
# KEY_F8        1       command
EV_KEY  KEY_F8  2       /dev/input/event2
# KEY_F8        2       command
EV_KEY  KEY_F8  0       /dev/input/event2
# KEY_F8        0       command
EV_KEY  KEY_F8  1       /dev/input/event2
# KEY_F8        1       command
EV_KEY  KEY_F8  2       /dev/input/event2
# KEY_F8        2       command
EV_KEY  KEY_F8  2       /dev/input/event2
# KEY_F8        2       command
EV_KEY  KEY_F8  0       /dev/input/event2
# KEY_F8        0       command
EV_KEY  KEY_F8  1       /dev/input/event2
# KEY_F8        1       command
EV_KEY  KEY_F8  0       /dev/input/event2
# KEY_F8        0       command
EV_KEY  KEY_F9  1       /dev/input/event2
# KEY_F9        1       command
EV_KEY  KEY_F9  0       /dev/input/event2
# KEY_F9        0       command
EV_KEY  KEY_F8  1       /dev/input/event2
# KEY_F8        1       command
EV_KEY  KEY_F8  0       /dev/input/event2
# KEY_F8        0       command
EV_KEY  KEY_F9  1       /dev/input/event2
# KEY_F9        1       command
EV_KEY  KEY_F9  0       /dev/input/event2
# KEY_F9        0       command
EV_KEY  KEY_F9  1       /dev/input/event2
# KEY_F9        1       command
EV_KEY  KEY_F9  0       /dev/input/event2
# KEY_F9        0       command
EV_KEY  KEY_F9  1       /dev/input/event2
# KEY_F9        1       command
EV_KEY  KEY_F9  0       /dev/input/event2
# KEY_F9        0       command
EV_KEY  KEY_F9  1       /dev/input/event2
# KEY_F9        1       command
EV_KEY  KEY_F9  0       /dev/input/event2
# KEY_F9        0       command
EV_KEY  KEY_F8  1       /dev/input/event2
# KEY_F8        1       command
EV_KEY  KEY_F8  0       /dev/input/event2
# KEY_F8        0       command
EV_KEY  KEY_F8  1       /dev/input/event2
# KEY_F8        1       command
EV_KEY  KEY_F8  0       /dev/input/event2
# KEY_F8        0       command
EV_KEY  KEY_F8  1       /dev/input/event2
# KEY_F8        1       command
EV_KEY  KEY_F8  2       /dev/input/event2
# KEY_F8        2       command
EV_KEY  KEY_F8  0       /dev/input/event2
# KEY_F8        0       command
EV_KEY  KEY_F12 1       /dev/input/event2
# KEY_F12       1       command
EV_KEY  KEY_F12 2       /dev/input/event2
# KEY_F12       2       command
EV_KEY  KEY_F12 2       /dev/input/event2
# KEY_F12       2       command
EV_KEY  KEY_F12 2       /dev/input/event2
# KEY_F12       2       command
EV_KEY  KEY_F12 2       /dev/input/event2
# KEY_F12       2       command
EV_KEY  KEY_F12 0       /dev/input/event2
# KEY_F12       0       command
EV_KEY  KEY_B   1       /dev/input/event2
# KEY_B 1       command
EV_KEY  KEY_B   2       /dev/input/event2
# KEY_B 2       command
EV_KEY  KEY_B   2       /dev/input/event2
# KEY_B 2       command
EV_KEY  KEY_B   2       /dev/input/event2
# KEY_B 2       command
EV_KEY  KEY_B   2       /dev/input/event2
# KEY_B 2       command
EV_KEY  KEY_B   2       /dev/input/event2
# KEY_B 2       command
EV_KEY  KEY_B   2       /dev/input/event2
# KEY_B 2       command
EV_KEY  KEY_B   2       /dev/input/event2
# KEY_B 2       command
EV_KEY  KEY_B   2       /dev/input/event2
# KEY_B 2       command
EV_KEY  KEY_B   2       /dev/input/event2
# KEY_B 2       command
EV_KEY  KEY_B   2       /dev/input/event2
# KEY_B 2       command
EV_KEY  KEY_B   2       /dev/input/event2
# KEY_B 2       command
EV_KEY  KEY_B   2       /dev/input/event2
# KEY_B 2       command
EV_KEY  KEY_B   2       /dev/input/event2
# KEY_B 2       command
EV_KEY  KEY_B   2       /dev/input/event2
# KEY_B 2       command
EV_KEY  KEY_B   2       /dev/input/event2
# KEY_B 2       command
EV_KEY  KEY_B   2       /dev/input/event2
# KEY_B 2       command
EV_KEY  KEY_B   2       /dev/input/event2
# KEY_B 2       command
EV_KEY  KEY_B   2       /dev/input/event2
# KEY_B 2       command
EV_KEY  KEY_B   0       /dev/input/event2
# KEY_B 0       command
EV_KEY  KEY_B   1       /dev/input/event2
# KEY_B 1       command
EV_KEY  KEY_B   2       /dev/input/event2
# KEY_B 2       command
EV_KEY  KEY_B   2       /dev/input/event2
# KEY_B 2       command
EV_KEY  KEY_B   2       /dev/input/event2
# KEY_B 2       command
EV_KEY  KEY_B   2       /dev/input/event2
# KEY_B 2       command
EV_KEY  KEY_B   2       /dev/input/event2
# KEY_B 2       command
EV_KEY  KEY_B   2       /dev/input/event2
# KEY_B 2       command
EV_KEY  KEY_B   2       /dev/input/event2
# KEY_B 2       command
EV_KEY  KEY_B   2       /dev/input/event2
# KEY_B 2       command
EV_KEY  KEY_B   2       /dev/input/event2
# KEY_B 2       command
EV_KEY  KEY_B   2       /dev/input/event2
# KEY_B 2       command
EV_KEY  KEY_B   0       /dev/input/event2
# KEY_B 0       command
EV_KEY  KEY_B   1       /dev/input/event2
# KEY_B 1       command
EV_KEY  KEY_B   0       /dev/input/event2
# KEY_B 0       command
EV_KEY  KEY_B   1       /dev/input/event2
# KEY_B 1       command
EV_KEY  KEY_B   0       /dev/input/event2
# KEY_B 0       command
EV_KEY  KEY_A   1       /dev/input/event2
# KEY_A 1       command
EV_KEY  KEY_A   0       /dev/input/event2
# KEY_A 0       command
EV_KEY  KEY_A   1       /dev/input/event2
# KEY_A 1       command
EV_KEY  KEY_A   0       /dev/input/event2
# KEY_A 0       command
EV_KEY  KEY_A   1       /dev/input/event2
# KEY_A 1       command
EV_KEY  KEY_A   0       /dev/input/event2
# KEY_A 0       command
EV_KEY  KEY_A   1       /dev/input/event2
# KEY_A 1       command
EV_KEY  KEY_A   0       /dev/input/event2
# KEY_A 0       command
EV_KEY  KEY_B   1       /dev/input/event2
# KEY_B 1       command
EV_KEY  KEY_B   0       /dev/input/event2
# KEY_B 0       command
EV_KEY  KEY_B   1       /dev/input/event2
# KEY_B 1       command
EV_KEY  KEY_B   0       /dev/input/event2
# KEY_B 0       command
EV_KEY  KEY_B   1       /dev/input/event2
# KEY_B 1       command
EV_KEY  KEY_B   2       /dev/input/event2
# KEY_B 2       command
EV_KEY  KEY_B   2       /dev/input/event2
# KEY_B 2       command
EV_KEY  KEY_B   2       /dev/input/event2
# KEY_B 2       command
EV_KEY  KEY_B   2       /dev/input/event2
# KEY_B 2       command
EV_KEY  KEY_B   2       /dev/input/event2
# KEY_B 2       command
EV_KEY  KEY_B   2       /dev/input/event2
# KEY_B 2       command
EV_KEY  KEY_B   2       /dev/input/event2
# KEY_B 2       command
EV_KEY  KEY_B   2       /dev/input/event2
# KEY_B 2       command
EV_KEY  KEY_B   0       /dev/input/event2
# KEY_B 0       command
EV_KEY  KEY_F8  1       /dev/input/event2
# KEY_F8        1       command
EV_KEY  KEY_F8  2       /dev/input/event2
# KEY_F8        2       command
EV_KEY  KEY_F8  2       /dev/input/event2
# KEY_F8        2       command
EV_KEY  KEY_F8  0       /dev/input/event2
# KEY_F8        0       command
EV_KEY  KEY_F8  1       /dev/input/event2
# KEY_F8        1       command
EV_KEY  KEY_F8  0       /dev/input/event2
# KEY_F8        0       command
EV_KEY  KEY_F8  1       /dev/input/event2
# KEY_F8        1       command
EV_KEY  KEY_F8  0       /dev/input/event2
# KEY_F8        0       command
EV_KEY  KEY_F8  1       /dev/input/event2
# KEY_F8        1       command
EV_KEY  KEY_F8  0       /dev/input/event2
# KEY_F8        0       command
EV_KEY  KEY_F8  1       /dev/input/event2
# KEY_F8        1       command
EV_KEY  KEY_F8  0       /dev/input/event2
# KEY_F8        0       command
EV_KEY  KEY_F8  1       /dev/input/event2
# KEY_F8        1       command
EV_KEY  KEY_F8  2       /dev/input/event2
# KEY_F8        2       command
EV_KEY  KEY_F8  0       /dev/input/event2
# KEY_F8        0       command
EV_KEY  KEY_F8  1       /dev/input/event2
# KEY_F8        1       command
EV_KEY  KEY_F8  0       /dev/input/event2
# KEY_F8        0       command
EV_KEY  KEY_F8  1       /dev/input/event2
# KEY_F8        1       command
EV_KEY  KEY_F8  0       /dev/input/event2
# KEY_F8        0       command
EV_KEY  KEY_F8  1       /dev/input/event2
# KEY_F8        1       command
EV_KEY  KEY_F8  0       /dev/input/event2
# KEY_F8        0       command
EV_KEY  KEY_F8  1       /dev/input/event2
# KEY_F8        1       command
EV_KEY  KEY_F8  0       /dev/input/event2
# KEY_F8        0       command
EV_KEY  KEY_F8  1       /dev/input/event2
# KEY_F8        1       command
EV_KEY  KEY_F8  0       /dev/input/event2
# KEY_F8        0       command
EV_KEY  KEY_F8  1       /dev/input/event2
# KEY_F8        1       command
EV_KEY  KEY_F8  0       /dev/input/event2
# KEY_F8        0       command
EV_KEY  KEY_F8  1       /dev/input/event2
# KEY_F8        1       command
EV_KEY  KEY_F8  0       /dev/input/event2
# KEY_F8        0       command
EV_KEY  KEY_F8  1       /dev/input/event2
# KEY_F8        1       command
EV_KEY  KEY_F8  0       /dev/input/event2
# KEY_F8        0       command
EV_KEY  KEY_F8  1       /dev/input/event2
# KEY_F8        1       command
EV_KEY  KEY_F8  0       /dev/input/event2
# KEY_F8        0       command
EV_KEY  KEY_F9  1       /dev/input/event2
# KEY_F9        1       command
EV_KEY  KEY_F9  0       /dev/input/event2
# KEY_F9        0       command
EV_KEY  KEY_F8  1       /dev/input/event2
# KEY_F8        1       command
EV_KEY  KEY_F8  0       /dev/input/event2
# KEY_F8        0       command
EV_KEY  KEY_F8  1       /dev/input/event2
# KEY_F8        1       command
EV_KEY  KEY_F8  0       /dev/input/event2
# KEY_F8        0       command
EV_KEY  KEY_F8  1       /dev/input/event2
# KEY_F8        1       command
EV_KEY  KEY_F8  0       /dev/input/event2
# KEY_F8        0       command

Hope this will be sufficient to pinpoint and reproduce the problem.

Thanks.