Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/ynsta/steamcontroller.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStany MARCEL <stanypub@gmail.com>2015-11-19 00:34:41 +0300
committerStany MARCEL <stanypub@gmail.com>2015-11-19 00:34:41 +0300
commitabac09ea2cda6d71f034d5894bcd2f9994a68a85 (patch)
tree12389dfda7c1f2a21fb8f93f431782c48795bfed
parent039ac2e8f00833dedcea78025b12feb97b0b7ea6 (diff)
Create gh-pages branch via GitHubgh-pages
-rw-r--r--index.html75
-rw-r--r--params.json2
2 files changed, 48 insertions, 29 deletions
diff --git a/index.html b/index.html
index d18091b..f57aefb 100644
--- a/index.html
+++ b/index.html
@@ -53,9 +53,8 @@
<a id="installation" class="anchor" href="#installation" aria-hidden="true"><span class="octicon octicon-link"></span></a>Installation</h2>
<ol>
-<li>Get the project <a href="https://github.com/ynsta/steamcontroller/archive/master.tar.gz">tarbal</a> or clone it github <code>git clone https://github.com/ynsta/steamcontroller.git</code>
-</li>
-<li>Install dependencies
+<li>
+<p>Install dependencies</p>
<ul>
<li>for python 3.4+:
@@ -76,20 +75,29 @@
</li>
</ul>
</li>
-<li>sudo python setup.py install</li>
+<li>
+<p>Get the project <a href="https://github.com/ynsta/steamcontroller/archive/master.tar.gz">tarbal</a> or clone it from github:</p>
+
+<div class="highlight highlight-source-shell"><pre><span class="pl-c"># Get from tarbal:</span>
+wget https://github.com/ynsta/steamcontroller/archive/master.tar.gz
+tar xf master.tar.gz
+<span class="pl-c1">cd</span> steamcontroller-master
+<span class="pl-c"># or clone it:</span>
+git clone https://github.com/ynsta/steamcontroller.git
+<span class="pl-c1">cd</span> steamcontroller</pre></div>
+</li>
+<li><p>Install python modules and scripts with <code>sudo python setup.py install</code></p></li>
<li>
<p>Install udev rules (if not already done for steam) in <code>/etc/udev/rules.d/99-steam-controller.rules</code>:</p>
-<pre><code># replace game group by a valid group on your system
-# Steam controller keyboard/mouse mode
-SUBSYSTEM=="usb", ATTRS{idVendor}=="28de", GROUP="games", MODE="0660"
+<div class="highlight highlight-source-shell"><pre><span class="pl-c"># replace game group by a valid group on your system</span>
+<span class="pl-c"># Steam controller keyboard/mouse mode</span>
+SUBSYSTEM==<span class="pl-s"><span class="pl-pds">"</span>usb<span class="pl-pds">"</span></span>, ATTRS{idVendor}==<span class="pl-s"><span class="pl-pds">"</span>28de<span class="pl-pds">"</span></span>, GROUP=<span class="pl-s"><span class="pl-pds">"</span>games<span class="pl-pds">"</span></span>, MODE=<span class="pl-s"><span class="pl-pds">"</span>0660<span class="pl-pds">"</span></span>
-# Steam controller gamepad mode
-KERNEL=="uinput", MODE="0660", GROUP="games", OPTIONS+="static_node=uinput"
-</code></pre>
-</li>
-<li>Reload udev <code>sudo udevadm control --reload</code>
+<span class="pl-c"># Steam controller gamepad mode</span>
+KERNEL==<span class="pl-s"><span class="pl-pds">"</span>uinput<span class="pl-pds">"</span></span>, MODE=<span class="pl-s"><span class="pl-pds">"</span>0660<span class="pl-pds">"</span></span>, GROUP=<span class="pl-s"><span class="pl-pds">"</span>games<span class="pl-pds">"</span></span>, OPTIONS+=<span class="pl-s"><span class="pl-pds">"</span>static_node=uinput<span class="pl-pds">"</span></span></pre></div>
</li>
+<li><p>Reload udev <code>sudo udevadm control --reload</code></p></li>
</ol>
<h2>
@@ -97,11 +105,18 @@ KERNEL=="uinput", MODE="0660", GROUP="games", OPTIONS+="static_node=uinput"
<ol>
<li>Exit Steam.</li>
-<li>run <code>sc-xbox.py start</code> for the simple xbox360 emulator</li>
-<li>run <code>sc-xbox.py stop</code> to stop the driver</li>
-</ol>
+<li>Start:
-<p>Replace <code>xbox</code> by <code>desktop</code> for the desktop keyboard/mouse mode.</p>
+<ul>
+<li>
+<code>sc-xbox.py start</code> for the simple xbox360 emulator.</li>
+<li>
+<code>sc-desktop.py start</code> for the desktop keyboard/mouse mode.</li>
+</ul>
+</li>
+<li>Stop: <code>sc-xbox.py stop</code> or <code>sc-xbox.py stop</code>
+</li>
+</ol>
<p>Other test tools are installed:</p>
@@ -111,7 +126,8 @@ KERNEL=="uinput", MODE="0660", GROUP="games", OPTIONS+="static_node=uinput"
<li>
<code>sc-gyro-plot.py</code> : Plot curves from gyro data (require pyqtgraph and pyside installed).</li>
<li>
-<code>sc-test-cmsg.py</code> : Permit to send control message to the contoller. For example <code>echo 8f07005e 015e01f4 01000000 | sc-test-cmsg.py</code> will make the controller beep.</li>
+<code>sc-test-cmsg.py</code> : Permit to send control message to the contoller. For example:<br>
+<code>echo 8f07005e 015e01f4 01000000 | sc-test-cmsg.py</code> will make the controller beep.</li>
<li>
<code>vdf2json.py</code> : Convert Steam VDF file to JSON.</li>
<li>
@@ -122,24 +138,24 @@ KERNEL=="uinput", MODE="0660", GROUP="games", OPTIONS+="static_node=uinput"
<a id="todo--status" class="anchor" href="#todo--status" aria-hidden="true"><span class="octicon octicon-link"></span></a>TODO / Status</h2>
<ol>
-<li>Finish to guess each bytes/bits roles in the usb message (Mostly <em>Done</em>).
+<li>Finish to guess each bytes/bits roles in the usb message (Mostly <strong>Done</strong>).
<ul>
<li>Verify that Gyroscope data 4 to 7 are a quaternion as suspected</li>
</ul>
</li>
-<li>Understand how to configure haptic feed backs (<em>Done</em>).</li>
-<li>Understand how to enable gyroscopes (<em>Done</em>).</li>
-<li>Redirect inputs to userland events via uinput (<em>Done</em>).
+<li>Understand how to configure haptic feed backs (<strong>Done</strong>).</li>
+<li>Understand how to enable gyroscopes (<strong>Done</strong>).</li>
+<li>Redirect inputs to userland events via uinput (<strong>Done</strong>).
<ul>
-<li>Xbox360 uintput device (<em>Done</em>)</li>
-<li>Keyboard uintput device (<em>Done</em>)</li>
-<li>Mouse uintput device with trackball model (<em>Done</em>)</li>
+<li>Xbox360 uintput device (<strong>Done</strong>)</li>
+<li>Keyboard uintput device (<strong>Done</strong>)</li>
+<li>Mouse uintput device with trackball model (<strong>Done</strong>)</li>
</ul>
</li>
-<li>Create a simple xbox event mapper (<em>Done</em>)</li>
-<li>Create a configurable event mapper (Work in Progress):
+<li>Create a simple xbox event mapper (<strong>Done</strong>)</li>
+<li>Create a configurable event mapper (<strong>Work in Progress</strong>):
<ul>
<li>Create an event mapper that reads steam vdf files and maps usb inputs to uinput events.</li>
@@ -147,12 +163,12 @@ KERNEL=="uinput", MODE="0660", GROUP="games", OPTIONS+="static_node=uinput"
<li>Get all possible configurations of steam config file.</li>
</ul>
</li>
-<li>Create a haptic feedback Manager (TBD)</li>
+<li>Create a haptic feedback Manager (<strong>Work in Progress</strong>)</li>
<li>Measure latencies.</li>
</ol>
<h2>
-<a id="control-message-capture" class="anchor" href="#control-message-capture" aria-hidden="true"><span class="octicon octicon-link"></span></a>Control Message Capture</h2>
+<a id="control-messages-capture" class="anchor" href="#control-messages-capture" aria-hidden="true"><span class="octicon octicon-link"></span></a>Control Messages Capture</h2>
<ol>
<li><code>sudo modprobe usbmon</code></li>
@@ -183,6 +199,9 @@ KERNEL=="uinput", MODE="0660", GROUP="games", OPTIONS+="static_node=uinput"
<li><code>87153284 03180000 31020008 07000707 00300000 2f010000 00000000 00000000</code></li>
</ul>
+<h2>
+<a id="control-messages-formats" class="anchor" href="#control-messages-formats" aria-hidden="true"><span class="octicon octicon-link"></span></a>Control Messages formats</h2>
+
<h3>
<a id="haptic-feedback-format" class="anchor" href="#haptic-feedback-format" aria-hidden="true"><span class="octicon octicon-link"></span></a>Haptic feedback format:</h3>
diff --git a/params.json b/params.json
index c581169..4c0b48f 100644
--- a/params.json
+++ b/params.json
@@ -1 +1 @@
-{"name":"Steamcontroller ","tagline":"Standalone Steam Controller Driver","body":"# Standalone Steam Controller Driver\r\n\r\nThis project is a standalone userland driver for the steam controller to be used where steam client can't be installed.\r\n\r\nTwo modes are already working with haptic feedback:\r\n - xbox360: gamepad emulator\r\n - desktop: mouse, keyboard mode\r\n\r\nThe final purpose is to have support for custom mapping created with a stand-alone tool or imported from steam vdf files.\r\n\r\nThe initial target is *GNU/Linux*, but I'll welcome any contributor that want to port input generation for other OS (OSX, Windows, *BSD, Android/Linux, ...)\r\n\r\nThis project is licensed under MIT.\r\n\r\n## Installation\r\n\r\n 1. Get the project [tarbal](https://github.com/ynsta/steamcontroller/archive/master.tar.gz) or clone it github `git clone https://github.com/ynsta/steamcontroller.git`\r\n 2. Install dependencies\r\n * for python 3.4+:\r\n - Install python libusb1 `sudo pip install libusb1`\r\n * for python 2.7+ (you might have to use pip2 for python2.7 or pip3 for python3):\r\n - Install python libusb1 `sudo pip install libusb1`\r\n - Install python enum backport `sudo pip install enum34`\r\n 3. sudo python setup.py install\r\n 4. Install udev rules (if not already done for steam) in `/etc/udev/rules.d/99-steam-controller.rules`:\r\n ```\r\n# replace game group by a valid group on your system\r\n# Steam controller keyboard/mouse mode\r\nSUBSYSTEM==\"usb\", ATTRS{idVendor}==\"28de\", GROUP=\"games\", MODE=\"0660\"\r\n\r\n# Steam controller gamepad mode\r\nKERNEL==\"uinput\", MODE=\"0660\", GROUP=\"games\", OPTIONS+=\"static_node=uinput\"\r\n```\r\n 6. Reload udev `sudo udevadm control --reload`\r\n\r\n\r\n## Usage\r\n\r\n 1. Exit Steam.\r\n 2. run `sc-xbox.py start` for the simple xbox360 emulator\r\n 3. run `sc-xbox.py stop` to stop the driver\r\n\r\nReplace `xbox` by `desktop` for the desktop keyboard/mouse mode.\r\n\r\nOther test tools are installed:\r\n - `sc-dump.py` : Dump raw message from the controller.\r\n - `sc-gyro-plot.py` : Plot curves from gyro data (require pyqtgraph and pyside installed).\r\n - `sc-test-cmsg.py` : Permit to send control message to the contoller. For example `echo 8f07005e 015e01f4 01000000 | sc-test-cmsg.py` will make the controller beep.\r\n - `vdf2json.py` : Convert Steam VDF file to JSON.\r\n - `json2vdf.py` : Convert back JSON to VDF file.\r\n\r\n\r\n## TODO / Status\r\n\r\n 1. Finish to guess each bytes/bits roles in the usb message (Mostly *Done*).\r\n - Verify that Gyroscope data 4 to 7 are a quaternion as suspected\r\n 2. Understand how to configure haptic feed backs (*Done*).\r\n 3. Understand how to enable gyroscopes (*Done*).\r\n 4. Redirect inputs to userland events via uinput (*Done*).\r\n - Xbox360 uintput device (*Done*)\r\n - Keyboard uintput device (*Done*)\r\n - Mouse uintput device with trackball model (*Done*)\r\n 5. Create a simple xbox event mapper (*Done*)\r\n 6. Create a configurable event mapper (Work in Progress):\r\n - Create an event mapper that reads steam vdf files and maps usb inputs to uinput events.\r\n - Create fallback mappings for unsupported config options.\r\n - Get all possible configurations of steam config file.\r\n 7. Create a haptic feedback Manager (TBD)\r\n 8. Measure latencies.\r\n\r\n## Control Message Capture\r\n\r\n 1. `sudo modprobe usbmon`\r\n 2. `lsusb -d 28de:1142` and look at bus and device numbers (B & D)\r\n 3. `sudo cat /sys/kernel/debug/usb/usbmon/Bu | grep Co:B:D:0` B=3 and D=003 on my setup.\r\n\r\n### Disable auto feedback on rpad:\r\n\r\n - `81000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000`\r\n\r\n### Enable Gyro\r\n\r\n - `87153284 03180000 31020008 07000707 00301400 2f010000 00000000 00000000`\r\n\r\n### Disable Gyro\r\n\r\n - `87153284 03180000 31020008 07000707 00300000 2f010000 00000000 00000000`\r\n\r\n### Haptic feedback format:\r\n\r\n - u8 : `8f`\r\n - u8 : `07`\r\n - u8 : `00` for Right `01` for Left\r\n - u16 : Amplitude\r\n - u16 : Period\r\n - u16 : count\r\n - pads the end with `00`\r\n","google":"","note":"Don't delete this file! It's used internally to help with page regeneration."} \ No newline at end of file
+{"name":"Steamcontroller ","tagline":"Standalone Steam Controller Driver","body":"# Standalone Steam Controller Driver\r\n\r\nThis project is a standalone userland driver for the steam controller to be used where steam client can't be installed.\r\n\r\nTwo modes are already working with haptic feedback:\r\n - xbox360: gamepad emulator\r\n - desktop: mouse, keyboard mode\r\n\r\nThe final purpose is to have support for custom mapping created with a stand-alone tool or imported from steam vdf files.\r\n\r\nThe initial target is *GNU/Linux*, but I'll welcome any contributor that want to port input generation for other OS (OSX, Windows, *BSD, Android/Linux, ...)\r\n\r\nThis project is licensed under MIT.\r\n\r\n## Installation\r\n\r\n 1. Install dependencies\r\n * for python 3.4+:\r\n - Install python libusb1 `sudo pip install libusb1`\r\n * for python 2.7+ (you might have to use pip2 for python2.7 or pip3 for python3):\r\n - Install python libusb1 `sudo pip install libusb1`\r\n - Install python enum backport `sudo pip install enum34`\r\n\r\n 2. Get the project [tarbal](https://github.com/ynsta/steamcontroller/archive/master.tar.gz) or clone it from github:\r\n ```shell\r\n# Get from tarbal:\r\nwget https://github.com/ynsta/steamcontroller/archive/master.tar.gz\r\ntar xf master.tar.gz\r\ncd steamcontroller-master\r\n# or clone it:\r\ngit clone https://github.com/ynsta/steamcontroller.git\r\ncd steamcontroller\r\n```\r\n\r\n 3. Install python modules and scripts with `sudo python setup.py install`\r\n\r\n 4. Install udev rules (if not already done for steam) in `/etc/udev/rules.d/99-steam-controller.rules`:\r\n ```shell\r\n# replace game group by a valid group on your system\r\n# Steam controller keyboard/mouse mode\r\nSUBSYSTEM==\"usb\", ATTRS{idVendor}==\"28de\", GROUP=\"games\", MODE=\"0660\"\r\n\r\n# Steam controller gamepad mode\r\nKERNEL==\"uinput\", MODE=\"0660\", GROUP=\"games\", OPTIONS+=\"static_node=uinput\"\r\n```\r\n\r\n 5. Reload udev `sudo udevadm control --reload`\r\n\r\n## Usage\r\n\r\n 1. Exit Steam.\r\n 2. Start:\r\n * `sc-xbox.py start` for the simple xbox360 emulator.\r\n * `sc-desktop.py start` for the desktop keyboard/mouse mode.\r\n 3. Stop: `sc-xbox.py stop` or `sc-xbox.py stop`\r\n\r\nOther test tools are installed:\r\n - `sc-dump.py` : Dump raw message from the controller.\r\n - `sc-gyro-plot.py` : Plot curves from gyro data (require pyqtgraph and pyside installed).\r\n - `sc-test-cmsg.py` : Permit to send control message to the contoller. For example: \r\n `echo 8f07005e 015e01f4 01000000 | sc-test-cmsg.py` will make the controller beep.\r\n - `vdf2json.py` : Convert Steam VDF file to JSON.\r\n - `json2vdf.py` : Convert back JSON to VDF file.\r\n\r\n\r\n## TODO / Status\r\n\r\n 1. Finish to guess each bytes/bits roles in the usb message (Mostly **Done**).\r\n - Verify that Gyroscope data 4 to 7 are a quaternion as suspected\r\n 2. Understand how to configure haptic feed backs (**Done**).\r\n 3. Understand how to enable gyroscopes (**Done**).\r\n 4. Redirect inputs to userland events via uinput (**Done**).\r\n - Xbox360 uintput device (**Done**)\r\n - Keyboard uintput device (**Done**)\r\n - Mouse uintput device with trackball model (**Done**)\r\n 5. Create a simple xbox event mapper (**Done**)\r\n 6. Create a configurable event mapper (**Work in Progress**):\r\n - Create an event mapper that reads steam vdf files and maps usb inputs to uinput events.\r\n - Create fallback mappings for unsupported config options.\r\n - Get all possible configurations of steam config file.\r\n 7. Create a haptic feedback Manager (**Work in Progress**)\r\n 8. Measure latencies.\r\n\r\n## Control Messages Capture\r\n\r\n 1. `sudo modprobe usbmon`\r\n 2. `lsusb -d 28de:1142` and look at bus and device numbers (B & D)\r\n 3. `sudo cat /sys/kernel/debug/usb/usbmon/Bu | grep Co:B:D:0` B=3 and D=003 on my setup.\r\n\r\n### Disable auto feedback on rpad:\r\n\r\n - `81000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000`\r\n\r\n### Enable Gyro\r\n\r\n - `87153284 03180000 31020008 07000707 00301400 2f010000 00000000 00000000`\r\n\r\n### Disable Gyro\r\n\r\n - `87153284 03180000 31020008 07000707 00300000 2f010000 00000000 00000000`\r\n\r\n## Control Messages formats\r\n\r\n### Haptic feedback format:\r\n\r\n - u8 : `8f`\r\n - u8 : `07`\r\n - u8 : `00` for Right `01` for Left\r\n - u16 : Amplitude\r\n - u16 : Period\r\n - u16 : count\r\n - pads the end with `00`\r\n","google":"","note":"Don't delete this file! It's used internally to help with page regeneration."} \ No newline at end of file