Skip to content

Instantly share code, notes, and snippets.

@andrejcremoznik
Last active November 13, 2024 05:56
Logitech K780 switch media and function keys on linux

Media/function keys on K780

K780 doesn't have a hard switch to lock the function keys. Logitech provides a utility to do this on Windows and iOS but not on Linux. You need to manually remap the keys.

Below works for Arch Linux, other systemd based distros should be about the same.

There's a problem with the F1-F3 keys as they're hardware specific and don't emit an event if pressed on their own and therefore can't be remapped. I might be wrong as I haven't spend any time on researching that.

Edit: about htat, see @tangruize comments below https://gist.github.com/andrejcremoznik/e56234138305226abd41fe4d1d2561a3#gistcomment-3390489

Create file /etc/udev/hwdb.d/95-k780.hwdb

# Logitech K780 map:
# Fn + F4/F5/F6 ==> F4/F5/F6
evdev:input:b0003v046Dp405B*
  KEYBOARD_KEY_c0223=f4
  KEYBOARD_KEY_70065=f5
  KEYBOARD_KEY_c0224=f6

Rebuild hwdb.bin and apply new keys

sudo systemd-hwdb update
sudo udevadm trigger

Make permanent

Make sure the ConditionNeedsUpdate=/etc is commented out in /usr/lib/systemd/system/systemd-hwdb-update.service. If it isn't create an override:

sudo systemctl edit --full systemd-hwdb-update.service

Comment out:
#ConditionNeedsUpdate=/etc

This creates a replacement systemd unit file in /etc/systemd/system/systemd-hwdb-update.service. If some update breaks anything related to this, remove it and recreate with systemctl edit like before.

Read more

@tangruize
Copy link

@satmandu Sorry I haven't used K780 in a while. You can try this script: https://gist.github.com/andrejcremoznik/e56234138305226abd41fe4d1d2561a3?permalink_comment_id=3390489#gistcomment-3390489. Since you're using USB receiver, I think Solaar might also help solve your problem if the script doesn't work.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment