<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>Slow down the keyboard</title>
		<link>http://www.allegro.cc/forums/view/590116</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Tue, 20 Feb 2007 21:08:06 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Hi!</p><p>I want my program to play a sound when a certain key is pressed. But the problem is that this happens too rapidly when a key is hold down.</p><p>I know that I can use set_keyboard_rate, but I also read that this only affects readkey() while I use key[KEY_NAME]. Can anyone give me some advice on this?</p><p>Here a little example:<br />while (!key[KEY_ESC]) {<br />if (key[KEY_UP]) {<br />play_sample(sample, 255, 128, 1000, 0);<br />}<br />}
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (DavyKager)</author>
		<pubDate>Sat, 17 Feb 2007 17:14:16 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>The key array only tells you if a key is up or down. If you want to time that somehow, you&#39;ll have to do it yourself. That shouldn&#39;t be too hard, though.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Kauhiz)</author>
		<pubDate>Sat, 17 Feb 2007 17:28:37 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>So, with rest(time); everywhere? I think that&#39;s impossible, because I want to disable repeatment.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (DavyKager)</author>
		<pubDate>Sat, 17 Feb 2007 18:32:45 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>
So, with rest(time); everywhere?
</p></div></div><p>Of course not. That wouldn&#39;t really work, would it? I meant, do something like:</p><div class="source-code snippet"><div class="inner"><pre><span class="k1">if</span><span class="k2">(</span><a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_UP<span class="k2">]</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> can_register_keypress<span class="k2">)</span>
<span class="k2">{</span>
  <a href="http://www.allegro.cc/manual/play_sample" target="_blank"><span class="a">play_sample</span></a><span class="k2">(</span>sample, <span class="n">255</span>, <span class="n">128</span>, <span class="n">1000</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
  keypress_countdown <span class="k3">=</span> <span class="n">60</span><span class="k2">;</span> <span class="c">//Waits for 60 loops</span>
  can_register_keypress <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="k2">}</span>

<span class="k1">if</span><span class="k2">(</span>keypress_countdown <span class="k3">&gt;</span> <span class="n">0</span><span class="k2">)</span>
  keypress_countdown--<span class="k2">;</span>
<span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span>can_register_keypress<span class="k2">)</span>
  can_register_keypress <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
</pre></div></div><p>
  &lt;/code&gt;
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Kauhiz)</author>
		<pubDate>Sat, 17 Feb 2007 20:34:34 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>if you want to stick to the key array, something like this should work:</p><div class="source-code snippet"><div class="inner"><pre><span class="k1">int</span> up_pressed <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="k1">if</span><span class="k2">(</span><a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_UP<span class="k2">]</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k3">!</span>up_pressed<span class="k2">)</span> <span class="k2">{</span>
   up_pressed <span class="k3">=</span> <span class="n">1</span><span class="k2">;</span>
   <span class="k1">do</span> stuff<span class="k2">;</span>
<span class="k2">}</span>
<span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span><a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_UP<span class="k2">]</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> up_pressed<span class="k2">)</span> <span class="k2">{</span>
   up_pressed <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="k2">}</span>
...
</pre></div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Thomas Fjellstrom)</author>
		<pubDate>Sat, 17 Feb 2007 21:03:19 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>That looks great! I&#39;ll try something this weekend...
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (DavyKager)</author>
		<pubDate>Sat, 17 Feb 2007 21:21:04 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Yeah, if you only want the sound to play once when a key is pressed, do what Thomas said.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Kauhiz)</author>
		<pubDate>Sat, 17 Feb 2007 21:59:00 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>If you only want it to play once when a key is pressed use readkey().
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (James Stanley)</author>
		<pubDate>Tue, 20 Feb 2007 15:05:31 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>... no. That&#39;s <u>wrong</u>.</p><p>To <a href="http://www.allegro.cc/forums/thread/590152/651887#target">quote X-G</a>: stop giving shoddy advice. <img src="http://www.allegro.cc/forums/smileys/tongue.gif" alt=":P" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (gnolam)</author>
		<pubDate>Tue, 20 Feb 2007 21:08:06 +0000</pubDate>
	</item>
</rss>
