By default, the R700 presenter works nicely on Linux but only the navigation buttons (right and left).
The button that sends F5 to switch to the presentation mode is not working and the one that switches the screen to black is not working either.

Perform the following steps to make all of the buttons functioning properly with LibreOffice Impress:

Tips copied from: and

The first column represents the scancode, which I obtained by first looking up with input event the device was tied to:
stat -t /dev/input/by-id/usb-Logitech_USB_Receiver-event-kbd --printf "%N\n"
Which showed the following for me:
‘/dev/input/by-id/usb-Logitech_USB_Receiver-event-kbd’ -> ‘../event19’
To find out the scan codes, I had to download a getscancodes tool, and then compile it (You can also use the tool "evtest": apt-get install evtest):
wget '' -O getscancodes-1.0.tar.gz
tar -xvzf getscancodes-1.0.tar.gz
cd getscancodes/
With the new binary, and the event19 from above, I ran:
sudo ./getscancodes /dev/input/event19
Which showed:
458807 (0x70037)
458793 (0x70029)
458814 (0x7003e)
458827 (0x7004b)
458830 (0x7004e)
With these numbers, I now had enough information to edit the /lib/udev/hwdb.d/60-keyboard.hwdb file.
Change the file like this:

Find the section Logitech Presenter R400 and change it as follows:
# Logitech Presenter R400
# KEYBOARD_KEY_070029=presentation
# KEYBOARD_KEY_07003e=presentation
# KEYBOARD_KEY_070037=displaytoggle
After that, I had to run:
sudo udevadm hwdb --update
sudo udevadm trigger
sudo udevadm control --reload
This consolidated the modified rules and made the keymapping active. My presenter tool now sends the correct key codes again.
The changes will persist after rebooting as well.