<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to Joystick</title><link>https://sourceforge.net/p/cogpy/wiki/Joystick/</link><description>Recent changes to Joystick</description><atom:link href="https://sourceforge.net/p/cogpy/wiki/Joystick/feed" rel="self"/><language>en</language><lastBuildDate>Fri, 16 Aug 2013 15:59:09 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/cogpy/wiki/Joystick/feed" rel="self" type="application/rss+xml"/><item><title>Joystick modified by Gwenn</title><link>https://sourceforge.net/p/cogpy/wiki/Joystick/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v2
+++ v3
@@ -12,7 +12,7 @@

 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;**`button(`** *`button`* **`)`**

-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Trigger-style function: waits until the specified button is pressed on the joystick, then returns.
+&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Trigger-style function--waits until the specified button is pressed on the joystick, then returns.

 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;When the button is pressed, will set the cogpy.Experiment `output` attribute to the value of `button`.

@@ -24,7 +24,7 @@

 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;**`changes(`** *`axis`* **`)`**

-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Trigger-style function: waits until the joystick value for the specified axis changes, then returns.
+&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Trigger-style function--waits until the joystick value for the specified axis changes, then returns.

 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;When the axis value changes, will set the cogpy.Experiment `output` attribute to a 2-element tuple with
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;the `axis` parameter and the value of that `axis` as computed by `Joystick.get_axis`.
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Gwenn</dc:creator><pubDate>Fri, 16 Aug 2013 15:59:09 -0000</pubDate><guid>https://sourceforge.netb39667240e039bc0c40143dcd41baef1fa357767</guid></item><item><title>Joystick modified by Gwenn</title><link>https://sourceforge.net/p/cogpy/wiki/Joystick/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v1
+++ v2
@@ -7,7 +7,8 @@

 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Handler class for dealing with Joystick I/O.

-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Note: The `Joystick` class should be used for flight sticks and arcade sticks (anything with a single primary joystick), while the `Gamepad` class should be used for traditional multi-joystick game controllers.
+&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Note: The `Joystick` class should be used for flight sticks and arcade sticks (anything with a single primary joystick),
+&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;while the `Gamepad` class should be used for traditional multi-joystick game controllers.

 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;**`button(`** *`button`* **`)`**

&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Gwenn</dc:creator><pubDate>Fri, 16 Aug 2013 15:24:27 -0000</pubDate><guid>https://sourceforge.net8342a14c9cde61c391d5a002e4791cb210ee74b1</guid></item><item><title>Joystick modified by Gwenn</title><link>https://sourceforge.net/p/cogpy/wiki/Joystick/</link><description>&lt;div class="markdown_content"&gt;&lt;h1 id="joystick"&gt;&lt;strong&gt;Joystick&lt;/strong&gt;&lt;/h1&gt;
&lt;h4 id="classes-and-methods"&gt;Classes and Methods&lt;/h4&gt;
&lt;p&gt;&lt;code&gt;cogpy.&lt;/code&gt;&lt;strong&gt;&lt;code&gt;Joystick()&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Handler class for dealing with Joystick I/O.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Note: The &lt;code&gt;Joystick&lt;/code&gt; class should be used for flight sticks and arcade sticks (anything with a single primary joystick), while the &lt;code&gt;Gamepad&lt;/code&gt; class should be used for traditional multi-joystick game controllers.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;strong&gt;&lt;code&gt;button(&lt;/code&gt;&lt;/strong&gt; &lt;em&gt;&lt;code&gt;button&lt;/code&gt;&lt;/em&gt; &lt;strong&gt;&lt;code&gt;)&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Trigger-style function: waits until the specified button is pressed on the joystick, then returns.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;When the button is pressed, will set the cogpy.Experiment &lt;code&gt;output&lt;/code&gt; attribute to the value of &lt;code&gt;button&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Note: &lt;code&gt;Joystick.button&lt;/code&gt; should only be called in a yield statement within a cogpy.Experiment instance. Will&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return a generator function otherwise.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;The &lt;code&gt;button&lt;/code&gt; parameter should be an integer corresponding to one of the buttons on the joystick. The accepted &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values for the &lt;code&gt;button&lt;/code&gt; parameter vary among different joysticks.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;strong&gt;&lt;code&gt;changes(&lt;/code&gt;&lt;/strong&gt; &lt;em&gt;&lt;code&gt;axis&lt;/code&gt;&lt;/em&gt; &lt;strong&gt;&lt;code&gt;)&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Trigger-style function: waits until the joystick value for the specified axis changes, then returns.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;When the axis value changes, will set the cogpy.Experiment &lt;code&gt;output&lt;/code&gt; attribute to a 2-element tuple with&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;the &lt;code&gt;axis&lt;/code&gt; parameter and the value of that &lt;code&gt;axis&lt;/code&gt; as computed by &lt;code&gt;Joystick.get_axis&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Note: &lt;code&gt;Joystick.changes&lt;/code&gt; should only be called in a yield statement within a cogpy.Experiment instance. Will&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return a generator function otherwise.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;The &lt;code&gt;axis&lt;/code&gt; parameter should be one of &lt;code&gt;"x"&lt;/code&gt;, &lt;code&gt;"y"&lt;/code&gt;, &lt;code&gt;"z"&lt;/code&gt;, &lt;code&gt;"u"&lt;/code&gt;, &lt;code&gt;"v"&lt;/code&gt;, &lt;code&gt;"povx"&lt;/code&gt;, or &lt;code&gt;"povy"&lt;/code&gt;. If the entered axis is not available,&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;will raise a &lt;code&gt;RuntimeError&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;strong&gt;&lt;code&gt;get_button(&lt;/code&gt;&lt;/strong&gt; &lt;em&gt;&lt;code&gt;button&lt;/code&gt;&lt;/em&gt; &lt;strong&gt;&lt;code&gt;)&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Returns &lt;code&gt;True&lt;/code&gt; if the specified button is currently pressed, &lt;code&gt;False&lt;/code&gt; otherwise.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;strong&gt;&lt;code&gt;get_pos(&lt;/code&gt;&lt;/strong&gt; &lt;em&gt;&lt;code&gt;axis&lt;/code&gt;&lt;/em&gt; &lt;strong&gt;&lt;code&gt;)&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Returns an integer value corresponding to the current position of the specified axis.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Return values range from -100 to 100.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;strong&gt;&lt;code&gt;has_axis(&lt;/code&gt;&lt;/strong&gt; &lt;em&gt;&lt;code&gt;axis&lt;/code&gt;&lt;/em&gt; &lt;strong&gt;&lt;code&gt;)&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Returns &lt;code&gt;True&lt;/code&gt; if the joystick has the specified axis, &lt;code&gt;False&lt;/code&gt; otherwise.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Accepted values for the &lt;code&gt;axis&lt;/code&gt; parameter are: &lt;code&gt;"x"&lt;/code&gt;, &lt;code&gt;"y"&lt;/code&gt;, &lt;code&gt;"z"&lt;/code&gt;, &lt;code&gt;"u"&lt;/code&gt;, &lt;code&gt;"v"&lt;/code&gt;, &lt;code&gt;"povx"&lt;/code&gt;, and &lt;code&gt;"povy"&lt;/code&gt;.&lt;/p&gt;
&lt;hr /&gt;
&lt;h4 id="example-usage"&gt;Example Usage&lt;/h4&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;cogpy&lt;/span&gt;

&lt;span class="k"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;Test&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;cogpy&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Experiment&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="n"&gt;display&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;cogpy&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Display&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
    &lt;span class="n"&gt;joystick&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;cogpy&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Joystick&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;

    &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;start&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
        &lt;span class="k"&gt;print&lt;/span&gt; &lt;span class="n"&gt;joystick&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;has_axis&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;z&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="k"&gt;yield&lt;/span&gt; &lt;span class="n"&gt;joystick&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;changes&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;z&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="k"&gt;print&lt;/span&gt; &lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;output&lt;/span&gt;
        &lt;span class="k"&gt;print&lt;/span&gt; &lt;span class="n"&gt;joystick&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;get_axis&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;z&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="k"&gt;yield&lt;/span&gt; &lt;span class="n"&gt;joystick&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;button&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="k"&gt;print&lt;/span&gt; &lt;span class="n"&gt;joystick&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;get_button&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;exp&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;Test&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="n"&gt;exp&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;run&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Interpreter output:&lt;/strong&gt;&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="bp"&gt;True&lt;/span&gt;
&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;z&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;23&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="mi"&gt;23&lt;/span&gt;
&lt;span class="bp"&gt;True&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Gwenn</dc:creator><pubDate>Fri, 16 Aug 2013 02:29:23 -0000</pubDate><guid>https://sourceforge.net7dada6c85c71a5cdbc00df3736d366a6e99c6861</guid></item></channel></rss>