I miss using a clicky keyboard at work. It's a fairly quiet office, so I'm stuck using a nearly silent keyboard. The upshot is that I can wear headphones. Is there something in Linux or X that can respond to all keyboard events with a nice, sharp click, giving me that audio feedback? Before you think I'm crazy, I know some high-end keyboards even have speakers in them to reproduce this click for those who like the audio feedback. I'm looking for something at the operating system level.

  • 7
    No offense this is the weirdest request ever... where can you get a nearly silent keyboard? Sep 16, 2010 at 23:22
  • "Nearly silent" was maybe hyperbole or maybe how my keyboard sounds when I'm listening to music. It's just a run of the mill soft-dome keyboard. Sep 17, 2010 at 0:21
  • There are high-end keyboards with speakers to reproduce click sounds? wtf? :-) Anyway maybe you should look for an old IBM M Series Keyboard on Ebay? :-) en.wikipedia.org/wiki/Model_M_keyboard
    – echox
    Sep 17, 2010 at 9:08
  • 1
    @echox I would use a Model M, but it's a quiet office. Here's a keyboard with a supplemental click sound: en.wikipedia.org/wiki/Kinesis_(keyboard) Sep 17, 2010 at 16:17
  • known bug in StackExchange comments, that last URL needs to be written en.wikipedia.org/wiki/Kinesis_%28keyboard%29
    – msw
    Sep 26, 2010 at 13:22

3 Answers 3

xset c 100 c on

Per their docs, but it doesn't work for me on openSUSE 11.2 x86_64

  • Good find. Doesn't seem to work in Ubuntu either, unfortunately. Sep 17, 2010 at 0:27
  • And not in arch :-/
    – echox
    Sep 17, 2010 at 9:06
  • You're possibly suffering from bugs.freedesktop.org/show_bug.cgi?id=24503, as both Ubuntu Lucid and openSUSE 11.2 use evdev and xserver ≥1.7.0 and < I'm surprised about Arch, because they're more up to date… but maybe you've hit a different bug.
    – ephemient
    Sep 17, 2010 at 14:20
  • 2
    I've never seen xset c work on any system ever. I think it may be someone's idea of a joke ;)
    – msw
    Sep 26, 2010 at 13:20
  • It's not a joke, it sets the KBKeyClickPercent property with XChangeKeyboardControl() which sets XKeyboardControl->key_click_percent, but as far as I can find it's not used anywhere. I think it's intended to be read/used by WMs or other programs? Unfortunately the Xorg source code is so spread out it's a bit hard to conclusively "grep" it. May 8, 2019 at 10:43

after saying "why not to check out the apt cache?", i come out with a great solution !

[0][~]apt search key sound
bucklespring - Nostalgia bucklespring keyboard sound
bucklespring-data - Nostalgia bucklespring keyboard sound - sound files
soundkonverter - audio converter frontend for KDE
[0][~]sudo apt install bucklespring
[0][~]apropos bucklespring
buckle (1)           - Nostalgia bucklespring keyboard sound
[0][~]which buckle
[0][272][~]buckle -h
bucklespring version 1.4.0
usage: buckle [options]


  -d DEVICE use OpenAL audio device DEVICE
  -f        use a fallback sound for unknown keys
  -g GAIN   set playback gain [0..100]
  -m CODE   use CODE as mute key (default 0x46 for scroll lock)
  -h        show help
  -l        list available openAL audio devices
  -p PATH   load .wav files from directory PATH
  -s WIDTH  set stereo width [0..100]
  -v        increase verbosity / debugging

as you see in the help message only optional stuff! so you can just fork it in backgroud as i did (zeroConf).

[4] 1522
[0][~]Cannot connect to server socket err = No such file or directory
Cannot connect to server request channel
jack server is not running or cannot be started
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock

it's working!

  • 1
    Wow, thanks! Nearly seven years later, the problem is solved and the result is glorious. It even maps the sound in 3D space. Great find! More info on the project (and install instructions for other/older OSes) here: github.com/zevv/bucklespring May 22, 2017 at 20:19

See the link below. I got this to work with only a little effort, and it's very good if you like keyclicks (I find them sort of a "mood" thing).

I use the scripting found in the link as an option in an Emacs "darkroom" writing mode that I've developed. I launch it as an asynchronous shell command and kill it with the shell command 'pkill -9 -f linux-typewriter.rb' when done.


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .