I need to enable scroll lock so I can toggle lights on my keyboard. This works on Arch.Funny thing it doesn't work on Ubuntu.


$ xmodmap -e ‘add mod3 = Scroll_Lock’
xmodmap:  unknown command on line commandline:1
xmodmap:  unable to open file 'mod3' for reading
xmodmap:  unable to open file '=' for reading
xmodmap:  unable to open file 'Scroll_Lock’' for reading
xmodmap:  4 errors encountered, aborting.
xmodmap -e 'add mod3 = Scroll_Lock'

(Note the difference in the single-quotes!)

Copy this and paste it in a terminal.

Then the error will no longer occur.

I have used this command successfully on my Ubuntu 12.04 system.

  • 2
    This won't work anymore on Gnome 3.10 since it will reset keyboard map after every login and screen lock/unlock – Giovanni Toraldo Jan 25 '16 at 20:35
  • How do you do this with just xkb instead of xmodmap? – CMCDragonkai Jan 27 '16 at 4:52
  • 7
    To any archaeologists: Still works on Ubuntu 16.04 – foxite Mar 3 '17 at 13:27
  • 1
    Worked on Mint 18! – Ronald Aug 16 '17 at 5:33
  • Works great on pure debian (testing, latest stable kernel etc) with K700 keyboard – Scott Hather Feb 8 at 12:24

Or you can switch the lights with these:


xset led named "Scroll Lock"


xset -led named "Scroll Lock"

Works on Ubuntu 12.04 x86 for my SpeedLink illuminated keyboard (SL-6453-SSV-A).

  • How can you use setxkbmap to have scroll lock just work? – Pykler Mar 17 '15 at 3:58
  • How can you do this automatically when linux boot? – Ronald Dec 26 '17 at 23:45

Found the permanent way after a long night up with lots of half baked solutions.

# backup your symbols file
sudo cp /usr/share/X11/xkb/symbols/us{,.distribution} 

Add the following line in the xkb_symbols "basic" { section. do not worry if that second line is not there, it is only there for some languages and was not there for us on my system.

    modifier_map Mod3   { Scroll_Lock }; <==<< Add this line

    include "level3(ralt_switch)" <==<< before this line

You may have to do the same in your other layouts if you switch between languages

Also, there is a cache where xkb layouts live. You should clear it before restarting your X server to check the new keyboard symbol file(s).

sudo dpkg-reconfigure xkb-data
  • 1
    Works on ubuntu 14.04 too (tested with Cooler Master Devastator keyboard) – Giovanni Toraldo Jan 25 '16 at 20:34
  • ps: you must remove the '<==<< Add this line' part or else you will not have a functional keyboard upon x restart :) – Then Enok Dec 11 '16 at 19:03
  • This worked for me on Ubuntu 16.10. Thanks a bunch, it's been driving me nuts for ages! – NotKyon Feb 4 '17 at 16:45
  • Works on Ubuntu 16.04 too – rneves Feb 27 '18 at 13:58
  • The right place is actually /usr/share/X11/xkb/symbols/pc. If you edit it, you don't need to edit any layouts files. – yanychar Dec 8 '20 at 17:34

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.