<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Bluetooth on ErrorZap</title><link>https://errorzap.com/tags/bluetooth/</link><description>Recent content in Bluetooth on ErrorZap</description><image><title>ErrorZap</title><url>https://errorzap.com/og.png</url><link>https://errorzap.com/og.png</link></image><generator>Hugo</generator><language>en-US</language><copyright>ErrorZap</copyright><lastBuildDate>Mon, 02 Nov 2026 17:10:00 -0700</lastBuildDate><atom:link href="https://errorzap.com/tags/bluetooth/index.xml" rel="self" type="application/rss+xml"/><item><title>Why Bluetooth Wasn't the Best Controller Connection</title><link>https://errorzap.com/posts/why-bluetooth-wasnt-the-best-controller-connection/</link><pubDate>Mon, 02 Nov 2026 17:10:00 -0700</pubDate><guid>https://errorzap.com/posts/why-bluetooth-wasnt-the-best-controller-connection/</guid><description>The controller paired successfully, which was impressive right up until the game ignored it.</description><content:encoded><![CDATA[<p>Windows said the controller was connected.</p>
<p>The controller agreed. Its light was on. Bluetooth settings showed a cheerful paired status. The game responded by pretending no controller existed.</p>
<p>This is a perfect example of the difference between transport success and application compatibility.</p>
<h2 id="connected-ends-too-early">&ldquo;Connected&rdquo; ends too early</h2>
<p>A game controller has to cross several layers:</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-text" data-lang="text"><span style="display:flex;"><span>radio or cable
</span></span><span style="display:flex;"><span>    -&gt; Windows device
</span></span><span style="display:flex;"><span>        -&gt; driver/input API
</span></span><span style="display:flex;"><span>            -&gt; game support
</span></span><span style="display:flex;"><span>                -&gt; correct button mapping
</span></span></code></pre></div><p>Bluetooth proves the first hop and part of the second. It does not prove that the game expects the interface the controller exposes in that mode.</p>
<p>Some controllers present different identities over Bluetooth, a proprietary 2.4 GHz receiver, and USB. One mode may look like a modern XInput device. Another may expose a more generic HID or DirectInput layout. Games—especially ones designed around console conventions—do not support every combination equally.</p>
<h2 id="pairing-is-not-mapping">Pairing is not mapping</h2>
<p>When buttons appear wrong or nothing responds, inspect the controller before changing the game.</p>
<p>Useful checks include:</p>
<ul>
<li>does Windows&rsquo; game-controller panel show button and axis movement?</li>
<li>what hardware identifier and input mode are active?</li>
<li>does the controller have a physical or startup-button mode switch?</li>
<li>does the same device work over USB?</li>
<li>does its dedicated receiver expose a different identity?</li>
<li>is a remapping layer creating a duplicate virtual controller?</li>
</ul>
<p>A successful generic input test narrows the fault. It does not prove the target game supports that mode.</p>
<h2 id="the-boring-connection-often-wins">The boring connection often wins</h2>
<p>USB is not glamorous, but it removes radio pairing, battery state, sleep behavior, and mode ambiguity from the investigation. A 2.4 GHz receiver can offer a similarly controlled path when the vendor designed it specifically for the controller.</p>
<p>Bluetooth is valuable when its convenience outweighs the compatibility tax. It is not automatically the best wireless mode just because it is the most universal radio.</p>
<p>For a living-room setup, I care about a different metric: can someone pick up the controller, press a button, and play without opening settings?</p>
<p>That favors the path with the fewest identities and least recovery ceremony.</p>
<p>Battery behavior belongs in that decision too. Bluetooth controllers can reconnect differently after sleep, expose a different slot after another device pairs, or reappear after the PC resumes without becoming the input device the game expects. A dedicated receiver often hides more of that complexity behind one stable USB identity. The better connection is the one that still behaves predictably after the controller and computer have both been asleep—not the one that won a five-minute setup test.</p>
<h2 id="fix-the-accepted-path-not-every-theoretical-path">Fix the accepted path, not every theoretical path</h2>
<p>It is tempting to make Bluetooth, receiver, and wired modes all work in every game. That can become a small research project with little user value.</p>
<p>Choose the connection that meets the real goal. Verify it from cold start through gameplay. Document the mode and button used to enter it. Keep a wired fallback. Stop after the accepted path works reliably.</p>
<p>The controller was never truly &ldquo;broken.&rdquo; It was connected in a language the game did not speak.</p>
<p>The light meant the radio conversation had started. The first moving character was the real receipt.</p>
]]></content:encoded></item></channel></rss>