Am Mittwoch 31 August 2011, 17:18:26 schrieb Space Cake:
> 2010-08-17 21:34 keltezéssel, Albert Hopkins írta:
> > On Tue, 2010-08-17 at 20:43 +0200, meino.cra...@gmx.de wrote:
> >> Bill Longman <bill.long...@gmail.com> [10-08-17 20:16]:
> >>> On 08/17/2010 10:56 AM, Albert Hopkins wrote:
> >>>> On Tue, 2010-08-17 at 19:20 +0200, meino.cra...@gmx.de
> >>>> 
> >>>> wrote:
> >>>>> Hi,
> >>>>> 
> >>>>> on YouTube there was a Blender-2.5 tutorial with audio.
> >>>>> There was an interesting detail: While there were spoken
> >>>>> instructions one can hear one typing on its keyboard. Each
> >>>>> hit on one of the keys made the sound of an old typewriter
> >>>>> (no, it was not the sound of the legendary "IBM Model M"
> >>>>> keyboard ;) ).
> >>>>> 
> >>>>> How can I achieve this? What software can I use to make
> >>>>> this geeky feature to come true. Unfortunately I have no
> >>>>> idea, how to name this kind of what(?) ...
> >>>>> 
> >>>>> Thank you very much for any hint in advance! Best regards,
> >>>>> mcc
> >>>> 
> >>>> There probably a number of ways to do this.
> >>>> 
> >>>> A cheap and easy way would be to use xev to monitor a window
> >>>> and then pipe the stderr to a a program that waits for a
> >>>> keypress event and then plays an apropriate.
> >>>> 
> >>>> A less cheap way would be to have our program do what xev
> >>>> does instead of using a pipe.
> >>> 
> >>> Or you could set your X keyclick using xset.
> >> 
> >> Hi,
> >> 
> >> thanks a lot for your replies! :) Is there any program already,
> >> which does this? A daemon or...<insert missing words here>
> >> 
> >> Best regards, mcc
> > 
> > Well I found out that when you pass window id to xev it does not
> > trap keyboard presses per-sé.  But there is another way...
> > 
> > Anway the following is a quick hack (in python).  It pretty much
> > works except it also seems to trap mouse presses.  I got the .wav
> > file at http://www.soundjay.com/typewriter-sounds.html
> > 
> > I tried using 'xset c' but it basically does nothing for me.  My
> > guess is that it does work it basically sends the a BELL to the
> > console.
> > 
> > 
> > --- 8< CUT HERE
> > --------------------------------------------------- import sys
> > import subprocess
> > 
> > soundfile = 'typewriter-key-1.wav'
> > 
> > def main(): window_id = sys.argv[1] cmd = ['xev', '-id',
> > window_id]
> > 
> > p1 = subprocess.Popen(cmd, stdout=subprocess.PIPE) while True: line
> > = p1.stdout.readline() if line.find('atom 0x14d') > -1:
> > subprocess.Popen(['aplay', soundfile], stderr=open('/dev/null',
> > 'w'))
> > 
> > 
> > if __name__ == '__main__': main()
> 
> Guys, this is awesome :) Let's make an ebuild and put in portage :)
> 
> L:

why? 
man xset

 really guys. Why do it the long, hard and stupid way if there have been 
simple, built in solutions for longer than some of you live?

-- 
#163933

Reply via email to