<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: keyboardTester.Click</title>
    <description>The latest articles on DEV Community by keyboardTester.Click (@nasirazizawan).</description>
    <link>https://dev.to/nasirazizawan</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3900833%2F44a760e2-ccf3-437b-8a6c-992cc014d5ba.jpg</url>
      <title>DEV Community: keyboardTester.Click</title>
      <link>https://dev.to/nasirazizawan</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/nasirazizawan"/>
    <language>en</language>
    <item>
      <title>Ghost Touch Test Online: Find Phantom Taps, Dead Zones, and Touchscreen Drift</title>
      <dc:creator>keyboardTester.Click</dc:creator>
      <pubDate>Wed, 13 May 2026 18:12:48 +0000</pubDate>
      <link>https://dev.to/nasirazizawan/ghost-touch-test-online-find-phantom-taps-dead-zones-and-touchscreen-drift-4epj</link>
      <guid>https://dev.to/nasirazizawan/ghost-touch-test-online-find-phantom-taps-dead-zones-and-touchscreen-drift-4epj</guid>
      <description>&lt;p&gt;Ghost touch feels random, but the fault usually follows a pattern.&lt;/p&gt;

&lt;p&gt;A phone may open apps by itself only while charging. A tablet may stop drawing through one vertical strip. A Windows touch laptop may move the cursor because the touchscreen digitizer is firing invisible taps.&lt;/p&gt;

&lt;p&gt;The useful question is not only:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Is my screen broken?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The useful question is:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Can I capture the pattern before I reset software, replace glass, or buy a used device?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I published the full version with FAQ schema, source links, and the live browser tool workflow here:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://keyboardtester.click/blog/ghost-touch-test-online-touchscreen-dead-zones.php" rel="noopener noreferrer"&gt;Ghost Touch Test Online: Find Phantom Taps, Dead Zones and Touchscreen Drift&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This DEV.to version keeps the practical diagnostic flow.&lt;/p&gt;

&lt;h2&gt;
  
  
  Fast answer
&lt;/h2&gt;

&lt;p&gt;Open the free &lt;a href="https://keyboardtester.click/touch-screen-test.php" rel="noopener noreferrer"&gt;Touch Screen Test&lt;/a&gt;, clear the canvas, keep your hands away from the display, and run the 10-second ghost touch check.&lt;/p&gt;

&lt;p&gt;If marks appear while nobody touches the screen, your device is registering phantom input.&lt;/p&gt;

&lt;p&gt;Then draw slow diagonal lines across the full screen. A repeated break in the same physical area usually points to a dead zone or digitizer fault.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why a browser test is useful
&lt;/h2&gt;

&lt;p&gt;A browser test will not repair a bad digitizer.&lt;/p&gt;

&lt;p&gt;It can still give you useful evidence because it is:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;quick to open&lt;/li&gt;
&lt;li&gt;account-free&lt;/li&gt;
&lt;li&gt;install-free&lt;/li&gt;
&lt;li&gt;easy to repeat after each fix&lt;/li&gt;
&lt;li&gt;visual enough to photograph before repair or resale&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That matters because "ghost touch" can come from more than one place:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;moisture or cleaner residue&lt;/li&gt;
&lt;li&gt;a lifted or dirty screen protector&lt;/li&gt;
&lt;li&gt;charger or cable interference&lt;/li&gt;
&lt;li&gt;a failing digitizer&lt;/li&gt;
&lt;li&gt;cracked glass&lt;/li&gt;
&lt;li&gt;a swollen battery&lt;/li&gt;
&lt;li&gt;Windows touch driver problems&lt;/li&gt;
&lt;li&gt;firmware or BIOS issues on touch laptops&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The test result becomes useful when you run it twice: once with your normal accessories, then once with the device cleaned, unplugged, and stripped of cases or protectors.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to run the online ghost touch test
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Open &lt;a href="https://keyboardtester.click/touch-screen-test.php" rel="noopener noreferrer"&gt;Touch Screen Test&lt;/a&gt; on the device you want to check.&lt;/li&gt;
&lt;li&gt;Clean and dry the glass.&lt;/li&gt;
&lt;li&gt;Remove gloves, heavy cases, magnetic covers, and the screen protector if you suspect it.&lt;/li&gt;
&lt;li&gt;Tap &lt;strong&gt;Clear Canvas&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Run &lt;strong&gt;Ghost Touch Test (10s)&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Keep all fingers, sleeves, cables, and styluses away from the display until the timer ends.&lt;/li&gt;
&lt;li&gt;If the page reports ghost touches or shows marks, repeat the same test while unplugged from the charger.&lt;/li&gt;
&lt;li&gt;Draw slow diagonal lines from corner to corner.&lt;/li&gt;
&lt;li&gt;Place two, three, four, and five fingers on the canvas to test multi-touch behavior.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F82cq8ixwkoi7ti2p1kng.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F82cq8ixwkoi7ti2p1kng.webp" alt="Touchscreen dead zone grid showing a diagonal drag test with a repeated break area" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A slow diagonal drag exposes dead zones better than random tapping because you can see exactly where the trace breaks.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to read the result
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;What you see&lt;/th&gt;
&lt;th&gt;Likely meaning&lt;/th&gt;
&lt;th&gt;Next move&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Touch marks appear during the no-touch timer&lt;/td&gt;
&lt;td&gt;The digitizer, protector, charger, moisture, or driver may be creating phantom input&lt;/td&gt;
&lt;td&gt;Retest unplugged, clean the glass, remove accessories, then compare safe mode or firmware screens&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;A diagonal line breaks at the same strip every time&lt;/td&gt;
&lt;td&gt;That area may be a dead zone in the touch layer&lt;/td&gt;
&lt;td&gt;Photograph the pattern and prepare for repair if cleaning and accessory removal do not change it&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Touch lands beside your finger&lt;/td&gt;
&lt;td&gt;The panel may have calibration, scaling, driver, or digitizer drift&lt;/td&gt;
&lt;td&gt;Reset touch calibration on Windows, update drivers, or reboot phones and tablets&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Ghost touch happens only while charging&lt;/td&gt;
&lt;td&gt;The charger, cable, socket, grounding, or battery condition may be involved&lt;/td&gt;
&lt;td&gt;Switch to a trusted charger and cable, avoid cheap adapters, and stop using the device if swelling or heat appears&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Multi-touch stops at two or three fingers&lt;/td&gt;
&lt;td&gt;The device may support fewer points, or the driver may expose fewer contacts&lt;/td&gt;
&lt;td&gt;Compare against the device specification and retest after updates&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Quick fixes before repair
&lt;/h2&gt;

&lt;p&gt;Start with reversible fixes.&lt;/p&gt;

&lt;p&gt;Official support pages from Apple, Google Android, ASUS, and Microsoft all put simple checks before service: restart, clean the screen, remove cases and protectors, disconnect accessories, check updates, and only then escalate.&lt;/p&gt;

&lt;h3&gt;
  
  
  Clean and dry the display
&lt;/h3&gt;

&lt;p&gt;Moisture, skin oil, dust, and cleaner residue can trigger bad input. Power the device off, wipe with a soft cloth, let the surface dry, then retest.&lt;/p&gt;

&lt;h3&gt;
  
  
  Remove the screen protector
&lt;/h3&gt;

&lt;p&gt;Thick glass, bubbles, edge lift, and dirt under the protector can create missed touches or false touches. Test once without it.&lt;/p&gt;

&lt;h3&gt;
  
  
  Change charger and cable
&lt;/h3&gt;

&lt;p&gt;If ghost taps appear only while charging, unplug first. Then test with an original or certified charger, another cable, and another wall outlet.&lt;/p&gt;

&lt;h3&gt;
  
  
  Restart before resetting
&lt;/h3&gt;

&lt;p&gt;A restart clears temporary driver and app state. A factory reset removes data, so keep it near the end of the workflow, not the beginning.&lt;/p&gt;

&lt;h2&gt;
  
  
  Windows touch laptop checks
&lt;/h2&gt;

&lt;p&gt;On Windows laptops and Surface devices, ghost touch can look like mouse movement, random clicks, or a cursor jumping to one side of the screen.&lt;/p&gt;

&lt;p&gt;Do not assume the touchpad is the problem until you test the touchscreen layer.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp8paaj2bpbbg22eal3gb.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp8paaj2bpbbg22eal3gb.webp" alt="Windows touchscreen ghost touch diagnostic checklist for UEFI, HID touch driver, firmware updates, and workaround disable step" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Test outside Windows when possible
&lt;/h3&gt;

&lt;p&gt;Microsoft's Surface guidance recommends testing touch in UEFI because UEFI runs outside Windows.&lt;/p&gt;

&lt;p&gt;If touch fails or ghost taps appear there, the issue is much more likely to be hardware. If touch works normally there, Windows, drivers, firmware, or apps become stronger suspects.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Reinstall the HID touch driver
&lt;/h3&gt;

&lt;p&gt;Open Device Manager, expand &lt;strong&gt;Human Interface Devices&lt;/strong&gt;, and look for &lt;strong&gt;HID-compliant touch screen&lt;/strong&gt; or OEM touch entries.&lt;/p&gt;

&lt;p&gt;On supported systems, uninstall the touchscreen device, then use &lt;strong&gt;Action &amp;gt; Scan for hardware changes&lt;/strong&gt; or restart so Windows reloads it.&lt;/p&gt;

&lt;p&gt;Do not remove unknown drivers blindly on work machines.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Update Windows, OEM firmware, and BIOS
&lt;/h3&gt;

&lt;p&gt;Touch issues can ship with firmware fixes.&lt;/p&gt;

&lt;p&gt;ASUS lists BIOS, Windows packages, and driver updates as part of its touchscreen troubleshooting flow. Dell has also documented a ghost-touch style issue on specific Latitude and Precision models where BIOS updates fixed erratic input symptoms.&lt;/p&gt;

&lt;p&gt;The exact device matters, but the lesson is useful: check OEM updates before replacing parts.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Disable touch only when you need a workaround
&lt;/h3&gt;

&lt;p&gt;If ghost taps make the laptop unusable, disabling the touchscreen can restore normal mouse and keyboard control.&lt;/p&gt;

&lt;p&gt;Treat that as a workaround, not a root fix. Document where the ghost taps happen, save photos of the touch test, and keep repair or warranty evidence ready.&lt;/p&gt;

&lt;h2&gt;
  
  
  Phone and tablet checks
&lt;/h2&gt;

&lt;p&gt;Phones and tablets add two extra variables: accessories and charging.&lt;/p&gt;

&lt;p&gt;A device can pass while unplugged, then fail with a bad cable. It can also fail only with a screen protector that lifts at the edge.&lt;/p&gt;

&lt;h3&gt;
  
  
  Android
&lt;/h3&gt;

&lt;p&gt;Google's Android support flow starts by checking damage, removing cases and screen protectors, removing gloves, peeling off stickers over sensors, and cleaning the screen.&lt;/p&gt;

&lt;p&gt;It also recommends a slow drag from the top-left corner to the bottom-right corner to see whether the drag releases in the same screen area. That is exactly the pattern you should record in an online dead-zone test.&lt;/p&gt;

&lt;h3&gt;
  
  
  iPhone and iPad
&lt;/h3&gt;

&lt;p&gt;Apple tells users to restart, make sure the screen is clean and free from debris or water, disconnect Lightning or USB-C accessories, try a different socket, cable, or charger, and remove cases or screen protectors when the display feels too sensitive or responds intermittently.&lt;/p&gt;

&lt;p&gt;If the screen still fails, Apple points users toward service.&lt;/p&gt;

&lt;h3&gt;
  
  
  Used-device buying check
&lt;/h3&gt;

&lt;p&gt;Before buying a used phone, tablet, or touch laptop, open the touch test in the browser while you inspect it.&lt;/p&gt;

&lt;p&gt;Run the ghost test, draw a full-screen grid, test multi-touch, then plug in the charger and repeat.&lt;/p&gt;

&lt;p&gt;A seller who refuses a two-minute screen test gives you useful information.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5v3x2yveekcmznzx7mjx.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5v3x2yveekcmznzx7mjx.webp" alt="Pass watch fail decision matrix for ghost touch repair and used touchscreen purchase checks" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  When ghost touch means repair
&lt;/h2&gt;

&lt;p&gt;Repair becomes more likely when the fault repeats in the same physical area after cleaning, accessory removal, restart, charger swap, and software checks.&lt;/p&gt;

&lt;p&gt;Treat these as stronger repair signals:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;the screen taps by itself during a no-touch test in the same area twice&lt;/li&gt;
&lt;li&gt;a diagonal drag breaks through the same strip from different directions&lt;/li&gt;
&lt;li&gt;ghost taps appear in UEFI, recovery, safe mode, or another clean environment&lt;/li&gt;
&lt;li&gt;the problem started after a drop, water exposure, battery swelling, or screen replacement&lt;/li&gt;
&lt;li&gt;the device becomes unusable unless you disable the touch driver&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For phones and tablets, the repair shop should replace the digitizer layer or full display assembly depending on the model, not only polish or re-seat glass.&lt;/p&gt;

&lt;p&gt;For Windows laptops, ask whether the panel, cable, hinge routing, firmware, and touch controller were checked.&lt;/p&gt;

&lt;p&gt;After repair, run the same online ghost touch, dead-zone, and multi-touch checks before leaving the shop.&lt;/p&gt;

&lt;h2&gt;
  
  
  Helpful video walkthrough
&lt;/h2&gt;

&lt;p&gt;This official ASUS Support video is a useful visual companion for Windows touchscreen troubleshooting. Use it with the online test above so you can compare each setting change against a visible touch result.&lt;/p&gt;

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/Un0w5FdlTrA"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  Sources
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://support.microsoft.com/en-us/surface/screen/how-to-fix-touch-issues-on-your-surface-touchscreen" rel="noopener noreferrer"&gt;Microsoft Support: How to fix touch issues on your Surface touchscreen&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.asus.com/us/support/faq/1042685/" rel="noopener noreferrer"&gt;ASUS Support: Windows touchscreen / touch panel problems&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.google.com/android/answer/7666942?hl=en" rel="noopener noreferrer"&gt;Google Android Help: Fix a screen that is not working right&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.apple.com/en-ie/102567" rel="noopener noreferrer"&gt;Apple Support: If the screen is not working on your iPhone or iPad&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.dell.com/support/kbdoc/en-us/000224073/latitude-5420-ghost-touch-with-the-touchpad" rel="noopener noreferrer"&gt;Dell Support: Latitude or Precision laptop ghost touch with the touchpad&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Related tools
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://keyboardtester.click/touch-screen-test.php" rel="noopener noreferrer"&gt;Touch Screen Test&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://keyboardtester.click/dead-pixel-test.php" rel="noopener noreferrer"&gt;Dead Pixel Test&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://keyboardtester.click/screen-uniformity-test.php" rel="noopener noreferrer"&gt;Screen Uniformity Test&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://keyboardtester.click/mouse-test.php" rel="noopener noreferrer"&gt;Mouse Test&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Final check
&lt;/h2&gt;

&lt;p&gt;Run the &lt;a href="https://keyboardtester.click/touch-screen-test.php" rel="noopener noreferrer"&gt;touch screen test&lt;/a&gt; after every fix.&lt;/p&gt;

&lt;p&gt;If the same ghost tap or dead strip appears after cleaning, accessory removal, charger swap, restart, and driver or update checks, save the result and move to repair or warranty support with evidence.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>mobile</category>
      <category>hardware</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Best Gaming Mouse 2026: Practical Picks by Grip, Price, and Game Type</title>
      <dc:creator>keyboardTester.Click</dc:creator>
      <pubDate>Tue, 12 May 2026 17:39:54 +0000</pubDate>
      <link>https://dev.to/nasirazizawan/best-gaming-mouse-2026-practical-picks-by-grip-price-and-game-type-2bjg</link>
      <guid>https://dev.to/nasirazizawan/best-gaming-mouse-2026-practical-picks-by-grip-price-and-game-type-2bjg</guid>
      <description>&lt;p&gt;The best gaming mouse in 2026 is not the one with the biggest DPI number.&lt;/p&gt;

&lt;p&gt;It is the one that fits your hand, works with your grip, keeps the game smooth at your chosen polling rate, and does not waste money on features you will never use.&lt;/p&gt;

&lt;p&gt;I published the full source-backed version with FAQ schema, product images, source links, and browser testing tools here:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://keyboardtester.click/blog/best-gaming-mouse-2026.php" rel="noopener noreferrer"&gt;Best Gaming Mouse 2026: Practical Picks for FPS, Wireless, Budget, and MMO Players&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This DEV.to version keeps the buying logic, current price snapshot, and the checks I would run after buying.&lt;/p&gt;

&lt;h2&gt;
  
  
  Fast answer
&lt;/h2&gt;

&lt;p&gt;If I had to start with one competitive FPS mouse in 2026, I would compare the &lt;strong&gt;Razer Viper V3 Pro&lt;/strong&gt; first.&lt;/p&gt;

&lt;p&gt;It has strong pro-player adoption, a light symmetrical shell, and a current official price I found at &lt;strong&gt;$129.99 sale / $159.99 list&lt;/strong&gt; when checked on &lt;strong&gt;May 12, 2026&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;That does not make it the right mouse for everyone.&lt;/p&gt;

&lt;p&gt;Here is the short list:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Pick&lt;/th&gt;
&lt;th&gt;Official US price checked May 12, 2026&lt;/th&gt;
&lt;th&gt;Best for&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Razer Viper V3 Pro&lt;/td&gt;
&lt;td&gt;$129.99 sale / $159.99 list&lt;/td&gt;
&lt;td&gt;Competitive FPS, claw/fingertip&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Logitech G PRO X2 SUPERSTRIKE&lt;/td&gt;
&lt;td&gt;$179.99&lt;/td&gt;
&lt;td&gt;Click tuning, competitive players&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Razer DeathAdder V4 Pro&lt;/td&gt;
&lt;td&gt;$169.99&lt;/td&gt;
&lt;td&gt;Palm grip, relaxed claw, larger hands&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Logitech G PRO X SUPERLIGHT 2 DEX&lt;/td&gt;
&lt;td&gt;$159.99&lt;/td&gt;
&lt;td&gt;Safe Logitech shape, right-handed FPS&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ASUS ROG Harpe II Ace&lt;/td&gt;
&lt;td&gt;$169.99&lt;/td&gt;
&lt;td&gt;Lightweight flagship value&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Razer Basilisk V3 Pro 35K&lt;/td&gt;
&lt;td&gt;$159.99&lt;/td&gt;
&lt;td&gt;Mixed gaming and productivity&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Logitech G305 / G304 Lightspeed&lt;/td&gt;
&lt;td&gt;$59.99&lt;/td&gt;
&lt;td&gt;Budget wireless&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Razer Naga V2 Pro&lt;/td&gt;
&lt;td&gt;$179.99&lt;/td&gt;
&lt;td&gt;MMO, MOBA, macro-heavy games&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Prices move quickly, so treat these as a dated snapshot rather than a permanent promise.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why this is not just a "top 10" list
&lt;/h2&gt;

&lt;p&gt;Mouse advice usually gets stuck between two extremes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;lab lists that treat every category as a benchmark table&lt;/li&gt;
&lt;li&gt;Reddit threads where everyone says "shape is king"&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Both are useful.&lt;/p&gt;

&lt;p&gt;Neither is enough by itself.&lt;/p&gt;

&lt;p&gt;The way I would buy a mouse is more practical:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Pick by hand size and grip first.&lt;/li&gt;
&lt;li&gt;Decide whether the game actually needs FPS weight, MMO buttons, or mixed-use comfort.&lt;/li&gt;
&lt;li&gt;Check if the wireless mode and polling rate make sense for your PC.&lt;/li&gt;
&lt;li&gt;Look at current price, not only MSRP.&lt;/li&gt;
&lt;li&gt;Test the physical mouse before the return window closes.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  1. Razer Viper V3 Pro: safest FPS starting point
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwzvipuc1arfmvh6aefle.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwzvipuc1arfmvh6aefle.webp" alt="Razer Viper V3 Pro official product image" width="800" height="534"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The Viper V3 Pro is the safest recommendation if your main question is:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;What are serious FPS players actually using?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;It is light, symmetrical, simple, and focused. That is exactly what many Valorant, CS2, Apex, Overwatch, Fortnite, and Rainbow Six players want.&lt;/p&gt;

&lt;p&gt;Buy it if you use claw or fingertip grip and want a proven competitive wireless shell.&lt;/p&gt;

&lt;p&gt;Skip it if you need a wide ergonomic palm-rest shape, many side buttons, or a cheaper entry point.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Logitech G PRO X2 SUPERSTRIKE: most interesting click tech
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhbnvbk82kkfw0qjrk1jr.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhbnvbk82kkfw0qjrk1jr.webp" alt="Logitech G PRO X2 SUPERSTRIKE official product image" width="800" height="691"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The Logitech G PRO X2 SUPERSTRIKE is the mouse that changes the conversation more than most 2026 launches.&lt;/p&gt;

&lt;p&gt;The interesting part is not only the sensor or polling rate. It is the click system: adjustable click actuation and a faster follow-up click behavior that feels closer to the kind of tuning keyboard players already know from rapid-trigger boards.&lt;/p&gt;

&lt;p&gt;Buy it if you already like Logitech's esports shape family and want advanced click tuning.&lt;/p&gt;

&lt;p&gt;Skip it if you simply want the lightest possible mouse for the money.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Razer DeathAdder V4 Pro: ergonomic flagship
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcvuyuti6tjwh4jkdez9d.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcvuyuti6tjwh4jkdez9d.webp" alt="Razer DeathAdder V4 Pro official product image" width="800" height="534"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If the Viper shape feels too flat or narrow, the DeathAdder V4 Pro is the Razer mouse I would compare next.&lt;/p&gt;

&lt;p&gt;The shape is the point. It gives more hand support than a low symmetrical shell while still staying in the flagship-performance tier.&lt;/p&gt;

&lt;p&gt;Buy it if you have medium-to-large hands, palm grip, or relaxed claw grip.&lt;/p&gt;

&lt;p&gt;Skip it if you use pure fingertip grip or prefer smaller shells.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Logitech G PRO X SUPERLIGHT 2 DEX: safe Logitech shape
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fak9ajttwqnsyq7bjo6w8.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fak9ajttwqnsyq7bjo6w8.webp" alt="Logitech G PRO X SUPERLIGHT 2 DEX official product image" width="800" height="691"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The Superlight family is still popular because it is boring in a useful way.&lt;/p&gt;

&lt;p&gt;It is easy to adapt to, easy to recommend, and easy to resell if the shape does not work for you.&lt;/p&gt;

&lt;p&gt;The DEX version makes sense if you want a right-handed ergonomic tilt while staying in the Superlight performance family.&lt;/p&gt;

&lt;h2&gt;
  
  
  5. ASUS ROG Harpe II Ace: lightweight flagship value
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Farko4681wdrngu2j1jpv.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Farko4681wdrngu2j1jpv.webp" alt="ASUS ROG Harpe II Ace official product image" width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The ROG Harpe II Ace is the mouse I would compare if you want a modern lightweight FPS shell but do not want to buy only from Razer or Logitech.&lt;/p&gt;

&lt;p&gt;ASUS lists a 48 g shell, 8K wireless polling support, a 42K AimPoint Pro sensor, and up to 101 hours of battery life at 1,000 Hz with lighting off.&lt;/p&gt;

&lt;p&gt;The official ASUS estore price I found was &lt;strong&gt;$169.99&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Buy it if you want a clean competitive shell for claw or fingertip grip.&lt;/p&gt;

&lt;p&gt;Skip it if you need a fuller palm-grip shape or dislike ASUS peripheral software.&lt;/p&gt;

&lt;h2&gt;
  
  
  6. Razer Basilisk V3 Pro 35K: mixed gaming and work
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxp0xvxnlff9924i50uq0.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxp0xvxnlff9924i50uq0.webp" alt="Razer Basilisk V3 Pro 35K official product image" width="800" height="534"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The Basilisk V3 Pro 35K is not trying to be the lightest esports shell.&lt;/p&gt;

&lt;p&gt;That is why it is useful.&lt;/p&gt;

&lt;p&gt;It has a comfortable right-handed shape, more programmable buttons, a strong sensor, RGB, and a useful wheel.&lt;/p&gt;

&lt;p&gt;Buy it if you play RPGs, strategy, survival games, casual shooters, and also use the same mouse for desktop work.&lt;/p&gt;

&lt;p&gt;Skip it if your only goal is a low-weight FPS setup.&lt;/p&gt;

&lt;h2&gt;
  
  
  7. Logitech G305 / G304 Lightspeed: budget wireless
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdugd0qb8qf6alra53jfh.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdugd0qb8qf6alra53jfh.webp" alt="Logitech G305 Lightspeed official product image" width="800" height="691"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The G305 is not new.&lt;/p&gt;

&lt;p&gt;That is part of why it is still useful.&lt;/p&gt;

&lt;p&gt;It is affordable, proven, easy to replace, and good enough for many players who are moving from a basic office mouse.&lt;/p&gt;

&lt;p&gt;The tradeoff is weight. Because it uses a replaceable battery, it will feel heavier than modern ultralight FPS mice.&lt;/p&gt;

&lt;p&gt;Buy it if you want cheap 2.4 GHz wireless.&lt;/p&gt;

&lt;p&gt;Skip it if you already know you need an under-65 g shell.&lt;/p&gt;

&lt;h2&gt;
  
  
  8. Razer Naga V2 Pro: MMO and macro-heavy games
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fr4i239iv2n5q5jdrcktk.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fr4i239iv2n5q5jdrcktk.webp" alt="Razer Naga V2 Pro official product image" width="767" height="511"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;An MMO mouse is a different category.&lt;/p&gt;

&lt;p&gt;Weight matters less than whether your thumb can hit the right command reliably.&lt;/p&gt;

&lt;p&gt;The Naga V2 Pro makes sense because it has swappable side plates, so it can act like a 2-button, 6-button, or 12-button mouse depending on the game.&lt;/p&gt;

&lt;p&gt;Buy it for World of Warcraft, Final Fantasy XIV, Guild Wars 2, ARPGs, MOBAs, or productivity macros.&lt;/p&gt;

&lt;p&gt;Skip it for low-sensitivity FPS aim.&lt;/p&gt;

&lt;h2&gt;
  
  
  Grip style matters more than DPI
&lt;/h2&gt;

&lt;p&gt;Maximum DPI is mostly marketing once the sensor is already good.&lt;/p&gt;

&lt;p&gt;Grip and shape decide more.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Grip&lt;/th&gt;
&lt;th&gt;What to compare first&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Palm grip&lt;/td&gt;
&lt;td&gt;DeathAdder V4 Pro, Basilisk, larger ergonomic shells&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Claw grip&lt;/td&gt;
&lt;td&gt;Viper V3 Pro, Superlight 2 DEX, SUPERSTRIKE, Harpe II Ace&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Fingertip grip&lt;/td&gt;
&lt;td&gt;Lower weight, lower shell height, easy lift-off&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;MMO grip&lt;/td&gt;
&lt;td&gt;Thumb button layout, profile software, button separation&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;If your hand never relaxes on the shell, no sensor spec will fix that.&lt;/p&gt;

&lt;h2&gt;
  
  
  Polling rate: do not force 8K
&lt;/h2&gt;

&lt;p&gt;Polling rate is how often the mouse reports position to the computer.&lt;/p&gt;

&lt;p&gt;A 1000 Hz mouse reports every 1 ms. An 8000 Hz mouse can report every 0.125 ms on paper.&lt;/p&gt;

&lt;p&gt;That sounds huge, but the full chain still matters:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;mouse firmware&lt;/li&gt;
&lt;li&gt;USB or wireless transport&lt;/li&gt;
&lt;li&gt;Windows input handling&lt;/li&gt;
&lt;li&gt;game engine&lt;/li&gt;
&lt;li&gt;frame rate&lt;/li&gt;
&lt;li&gt;monitor refresh&lt;/li&gt;
&lt;li&gt;display response&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;My practical setup:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Start at 1000 Hz.&lt;/li&gt;
&lt;li&gt;Test 2000 Hz or 4000 Hz.&lt;/li&gt;
&lt;li&gt;Keep 8000 Hz only if the game stays smooth and battery life is acceptable.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;If your 1% lows get worse, the higher polling number is not helping you.&lt;/p&gt;

&lt;h2&gt;
  
  
  Test the mouse after buying
&lt;/h2&gt;

&lt;p&gt;Before the return window closes, I would run a simple hardware check:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Open a &lt;a href="https://keyboardtester.click/mouse-test.php" rel="noopener noreferrer"&gt;mouse tester&lt;/a&gt; and verify left click, right click, middle click, scroll, and pointer movement.&lt;/li&gt;
&lt;li&gt;Use a &lt;a href="https://keyboardtester.click/polling-rate-test.php" rel="noopener noreferrer"&gt;polling rate test&lt;/a&gt; in wired and 2.4 GHz wireless mode.&lt;/li&gt;
&lt;li&gt;Use a &lt;a href="https://keyboardtester.click/mouse_sensitivity_DPI_tester.php" rel="noopener noreferrer"&gt;DPI tester&lt;/a&gt; if sensitivity feels different from your old mouse.&lt;/li&gt;
&lt;li&gt;Run a &lt;a href="https://keyboardtester.click/ghost-click-detector.php" rel="noopener noreferrer"&gt;ghost click detector&lt;/a&gt; if a single click sometimes fires twice.&lt;/li&gt;
&lt;li&gt;Check &lt;a href="https://keyboardtester.click/latency-checker.php" rel="noopener noreferrer"&gt;input latency&lt;/a&gt; if the mouse feels delayed even when polling looks correct.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;That gives you evidence from your own setup instead of trusting the box.&lt;/p&gt;

&lt;h2&gt;
  
  
  Video version
&lt;/h2&gt;

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/CURKRJSoUMY"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  Sources and full version
&lt;/h2&gt;

&lt;p&gt;The canonical article includes the complete source list, FAQ schema, related tools, and the full research notes:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://keyboardtester.click/blog/best-gaming-mouse-2026.php" rel="noopener noreferrer"&gt;Read the full best gaming mouse 2026 guide on KeyboardTester.click&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Main sources used for the price and product-image refresh:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.razer.com/gaming-mice/razer-viper-v3-pro/RZ01-05120100-R3U1" rel="noopener noreferrer"&gt;Razer Viper V3 Pro official product page&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.logitechg.com/en-us/shop/p/pro-x2-superstrike-mouse" rel="noopener noreferrer"&gt;Logitech G PRO X2 SUPERSTRIKE official product page&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.razer.com/gaming-mice/razer-deathadder-v4-pro/RZ01-05330100-R3U1" rel="noopener noreferrer"&gt;Razer DeathAdder V4 Pro official product page&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.logitechg.com/en-us/shop/p/pro-x-superlight-2-dex" rel="noopener noreferrer"&gt;Logitech G PRO X SUPERLIGHT 2 DEX official product page&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://rog.asus.com/us/mice-mouse-pads/mice/ambidextrous/rog-harpe-ii-ace/" rel="noopener noreferrer"&gt;ASUS ROG Harpe II Ace official product page&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.razer.com/gaming-mice/razer-basilisk-v3-pro-35k/RZ01-05240100-R3U1" rel="noopener noreferrer"&gt;Razer Basilisk V3 Pro 35K official product page&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.logitechg.com/en-us/shop/p/g305-lightspeed-wireless-gaming-mouse" rel="noopener noreferrer"&gt;Logitech G305 Lightspeed official product page&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.razer.com/gaming-mice/razer-naga-v2-pro/RZ01-04400100-R3U1" rel="noopener noreferrer"&gt;Razer Naga V2 Pro official product page&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Final recommendation
&lt;/h2&gt;

&lt;p&gt;Start with shape, not specs.&lt;/p&gt;

&lt;p&gt;If you want one competitive FPS starting point, compare the Razer Viper V3 Pro first.&lt;/p&gt;

&lt;p&gt;If your hand wants more support, compare the DeathAdder V4 Pro.&lt;/p&gt;

&lt;p&gt;If price matters, the G305 is still a reasonable budget wireless fallback.&lt;/p&gt;

&lt;p&gt;A comfortable, consistent mouse beats an expensive mouse that fights your hand.&lt;/p&gt;

</description>
      <category>gaming</category>
      <category>hardware</category>
      <category>beginners</category>
      <category>webdev</category>
    </item>
    <item>
      <title>League of Legends Actions Per Minute Tracker: Use an APM Test Without Chasing Spam</title>
      <dc:creator>keyboardTester.Click</dc:creator>
      <pubDate>Mon, 11 May 2026 07:00:42 +0000</pubDate>
      <link>https://dev.to/nasirazizawan/league-of-legends-actions-per-minute-tracker-use-an-apm-test-without-chasing-spam-80p</link>
      <guid>https://dev.to/nasirazizawan/league-of-legends-actions-per-minute-tracker-use-an-apm-test-without-chasing-spam-80p</guid>
      <description>&lt;p&gt;I do not treat APM as a trophy number.&lt;/p&gt;

&lt;p&gt;For League of Legends, that is the fastest way to make the metric useless.&lt;/p&gt;

&lt;p&gt;If you repeat right-clicks in the same place, tap ability keys out of panic, or mash camera keys without actually reading the map, your actions-per-minute number can climb while your mechanics get worse.&lt;/p&gt;

&lt;p&gt;The useful question is not:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;How high is my APM?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The useful question is:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;How many of my actions are clean enough that I would still want them in a lane trade, objective fight, or last-hit window?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I published the full version with images, source links, FAQ schema, and the live browser APM tool workflow here:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://keyboardtester.click/blog/league-of-legends-actions-per-minute-tracker-apm-test.php" rel="noopener noreferrer"&gt;League of Legends Actions Per Minute Tracker: What an APM Test Really Tells You&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This DEV.to version keeps the practical diagnostic flow.&lt;/p&gt;

&lt;h2&gt;
  
  
  Fast answer
&lt;/h2&gt;

&lt;p&gt;A League of Legends actions per minute tracker is useful as a practice drill, not as a magic ranked predictor.&lt;/p&gt;

&lt;p&gt;Use an &lt;a href="https://keyboardtester.click/apm-test.php" rel="noopener noreferrer"&gt;APM test&lt;/a&gt; to measure clean keyboard and mouse rhythm, watch accuracy, and separate useful inputs from spam.&lt;/p&gt;

&lt;p&gt;If the number goes up while accuracy collapses, your mechanics did not improve.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why the keyword matters
&lt;/h2&gt;

&lt;p&gt;The search intent is more specific than "APM test."&lt;/p&gt;

&lt;p&gt;People are searching for things like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;League of Legends actions per minute tracker&lt;/li&gt;
&lt;li&gt;LoL APM tracker&lt;/li&gt;
&lt;li&gt;actions per minute test&lt;/li&gt;
&lt;li&gt;APM tester&lt;/li&gt;
&lt;li&gt;APM calculator&lt;/li&gt;
&lt;li&gt;keyboard APM test&lt;/li&gt;
&lt;li&gt;effective APM&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That tells me users are not only looking for a counter. They are also trying to understand whether a tool can track real League match actions.&lt;/p&gt;

&lt;p&gt;That distinction matters.&lt;/p&gt;

&lt;h2&gt;
  
  
  What a browser APM test can measure
&lt;/h2&gt;

&lt;p&gt;A browser APM test can measure the inputs you perform inside that test:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;keyboard presses&lt;/li&gt;
&lt;li&gt;mouse clicks&lt;/li&gt;
&lt;li&gt;target hits&lt;/li&gt;
&lt;li&gt;wrong keys&lt;/li&gt;
&lt;li&gt;misses&lt;/li&gt;
&lt;li&gt;accuracy&lt;/li&gt;
&lt;li&gt;peak pace&lt;/li&gt;
&lt;li&gt;average pace&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That is useful for warm-up and repeatable practice.&lt;/p&gt;

&lt;p&gt;The better tests do not only show raw volume. They also show whether the actions were useful.&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Metric&lt;/th&gt;
&lt;th&gt;What it tells you&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Raw APM&lt;/td&gt;
&lt;td&gt;Total input volume. Easy to inflate with spam.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Effective APM&lt;/td&gt;
&lt;td&gt;Cleaner input rhythm. More useful for practice.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Keyboard APM&lt;/td&gt;
&lt;td&gt;Ability keys, item slots, summoner spells, camera rhythm.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Mouse APM&lt;/td&gt;
&lt;td&gt;Click timing, target control, attack-move rhythm.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  What it cannot measure inside a real LoL match
&lt;/h2&gt;

&lt;p&gt;A browser APM tester cannot see what happened inside your live League match.&lt;/p&gt;

&lt;p&gt;It can only measure what you do inside the browser test.&lt;/p&gt;

&lt;p&gt;That means it is not official Riot match telemetry, and it should not ask for your Riot account credentials.&lt;/p&gt;

&lt;p&gt;Riot's public developer portal describes game data such as active games, match history, and ranked statistics. That is different from a public keyboard-and-mouse event feed.&lt;/p&gt;

&lt;p&gt;So if a random page says it can show your exact match APM, I would be skeptical unless it explains where the data comes from.&lt;/p&gt;

&lt;h2&gt;
  
  
  How I read an APM score
&lt;/h2&gt;

&lt;p&gt;I use APM as a baseline, not a verdict.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Result&lt;/th&gt;
&lt;th&gt;What I assume first&lt;/th&gt;
&lt;th&gt;What I do next&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Low APM, high accuracy&lt;/td&gt;
&lt;td&gt;Controlled but slow&lt;/td&gt;
&lt;td&gt;Train one key or click pattern&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Medium APM, stable accuracy&lt;/td&gt;
&lt;td&gt;Useful warm-up zone&lt;/td&gt;
&lt;td&gt;Add game-specific sequences&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;High APM, low accuracy&lt;/td&gt;
&lt;td&gt;Probably spam&lt;/td&gt;
&lt;td&gt;Slow down until misses drop&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Wildly different scores&lt;/td&gt;
&lt;td&gt;Inconsistent method&lt;/td&gt;
&lt;td&gt;Repeat same mode and duration&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;For League, I would rather see a lower score with clean inputs than a higher score full of repeated noise.&lt;/p&gt;

&lt;h2&gt;
  
  
  My 12-minute LoL APM practice workflow
&lt;/h2&gt;

&lt;p&gt;This is the workflow I would use before a normal session:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Two minutes: keyboard-only warm-up&lt;br&gt;&lt;br&gt;
Use the keys you actually press in League: Q, W, E, R, D, F, item slots, camera keys, or your custom set.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Two minutes: mouse target drill&lt;br&gt;&lt;br&gt;
Use a grid mode and aim for clean hits, not frantic clicking.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Three minutes: mixed rhythm&lt;br&gt;&lt;br&gt;
Alternate keyboard and mouse drills so your handoff feels natural.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Three minutes: Practice Tool translation&lt;br&gt;&lt;br&gt;
Open League Practice Tool and run last hits, trade movement, or ability combos.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Two minutes: review one mistake&lt;br&gt;&lt;br&gt;
Was it a wrong key, late click, panic spam, camera miss, or pointer overcorrection?&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The browser score is only useful if it transfers into real practice.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why League is different from a pure RTS APM test
&lt;/h2&gt;

&lt;p&gt;League rewards movement, spacing, cooldown tracking, target selection, map awareness, and decision timing.&lt;/p&gt;

&lt;p&gt;More inputs can help only when they serve those jobs.&lt;/p&gt;

&lt;p&gt;If you click ten times during a trade but three clicks cancel a good position, the APM number is lying to you.&lt;/p&gt;

&lt;p&gt;Riot's newer input work makes this even more relevant. Their 2026 WASD Ranked Release note covers champion-specific keybinds, expanded input options, and accessibility-focused controls. Some players will legitimately use more keyboard actions than before.&lt;/p&gt;

&lt;p&gt;That still does not make raw APM the goal.&lt;/p&gt;

&lt;p&gt;Clean control is the goal.&lt;/p&gt;

&lt;h2&gt;
  
  
  Hardware checks that make APM more honest
&lt;/h2&gt;

&lt;p&gt;If your keyboard misses combinations, your mouse double-clicks, or your setup has heavy input delay, your APM score becomes noisy.&lt;/p&gt;

&lt;p&gt;Before blaming mechanics, I would check:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://keyboardtester.click/tools/keyboard-tester/" rel="noopener noreferrer"&gt;Keyboard Tester&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://keyboardtester.click/mouse_speed_tester.php" rel="noopener noreferrer"&gt;Click Speed Test&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://keyboardtester.click/mouse-accuracy-test.php" rel="noopener noreferrer"&gt;Mouse Accuracy Test&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://keyboardtester.click/latency-checker.php" rel="noopener noreferrer"&gt;Keyboard and Mouse Latency Checker&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://keyboardtester.click/keyboard-ghosting-test.php" rel="noopener noreferrer"&gt;Keyboard Ghosting Test&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Sources I used
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Riot Support: Hotkeys and keybindings FAQ&lt;/li&gt;
&lt;li&gt;Riot Support: Keyboard WASD input FAQ&lt;/li&gt;
&lt;li&gt;League of Legends /dev: WASD's Ranked Release&lt;/li&gt;
&lt;li&gt;Riot Developer Portal&lt;/li&gt;
&lt;li&gt;MDN KeyboardEvent.key&lt;/li&gt;
&lt;li&gt;MDN Pointer Events&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Full source links are in the canonical article:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://keyboardtester.click/blog/league-of-legends-actions-per-minute-tracker-apm-test.php" rel="noopener noreferrer"&gt;Read the complete LoL APM tracker guide on KeyboardTester.click&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Final check
&lt;/h2&gt;

&lt;p&gt;Run one clean baseline in the &lt;a href="https://keyboardtester.click/apm-test.php" rel="noopener noreferrer"&gt;free APM Test&lt;/a&gt;, then repeat after a real Practice Tool warm-up.&lt;/p&gt;

&lt;p&gt;If the League session feels cleaner but the browser number is lower, trust the cleaner inputs.&lt;/p&gt;

</description>
      <category>gaming</category>
      <category>javascript</category>
      <category>productivity</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Microphone Picking Up Desktop Audio on Windows 11? Trace the Signal Path First</title>
      <dc:creator>keyboardTester.Click</dc:creator>
      <pubDate>Sun, 10 May 2026 10:53:04 +0000</pubDate>
      <link>https://dev.to/nasirazizawan/microphone-picking-up-desktop-audio-on-windows-11-trace-the-signal-path-first-m44</link>
      <guid>https://dev.to/nasirazizawan/microphone-picking-up-desktop-audio-on-windows-11-trace-the-signal-path-first-m44</guid>
      <description>&lt;p&gt;If your friends can hear your YouTube video, game audio, or system sound through your microphone, the first instinct is usually to reinstall the audio driver.&lt;/p&gt;

&lt;p&gt;That is not where I would start.&lt;/p&gt;

&lt;p&gt;On Windows 11, "my mic is picking up desktop audio" can mean several different things:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;the app is using a loopback source instead of the real microphone&lt;/li&gt;
&lt;li&gt;Stereo Mix or a virtual cable is selected somewhere&lt;/li&gt;
&lt;li&gt;"Listen to this device" is creating a confusing monitor path&lt;/li&gt;
&lt;li&gt;Realtek or headset software is routing audio in a driver layer&lt;/li&gt;
&lt;li&gt;a 3.5 mm headset, splitter, or front-panel jack is leaking signal electrically&lt;/li&gt;
&lt;li&gt;speakers are simply loud enough that the microphone hears them in the room&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Those causes produce almost the same symptom. The fix depends on which path is real.&lt;/p&gt;

&lt;p&gt;I published the full version with images and the browser mic test workflow here: &lt;a href="https://keyboardtester.click/blog/microphone-picking-up-desktop-audio-windows-11.php" rel="noopener noreferrer"&gt;Microphone Picking Up Desktop Audio on Windows 11? Full Fix Guide&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This DEV.to version keeps the practical diagnostic flow.&lt;/p&gt;

&lt;h2&gt;
  
  
  Fast answer
&lt;/h2&gt;

&lt;p&gt;Before changing drivers, prove whether the microphone is actually hearing the desktop audio or whether Windows is routing playback audio into an input channel.&lt;/p&gt;

&lt;p&gt;The fastest test:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Open a microphone meter or recording tool.&lt;/li&gt;
&lt;li&gt;Play steady audio from a browser, game, or music app.&lt;/li&gt;
&lt;li&gt;Physically mute the headset mic, or unplug the mic if possible.&lt;/li&gt;
&lt;li&gt;Watch the input meter.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;If the meter still moves while the physical microphone is muted or unplugged, the signal is probably not acoustic pickup. It is likely loopback, app selection, virtual audio routing, driver routing, or analog crosstalk.&lt;/p&gt;

&lt;p&gt;If the meter stops, the microphone was probably hearing speakers, open-back headphones, or room echo.&lt;/p&gt;

&lt;p&gt;That one test saves a lot of time.&lt;/p&gt;

&lt;h2&gt;
  
  
  Think of it as a signal path
&lt;/h2&gt;

&lt;p&gt;The desktop audio has to travel from somewhere to somewhere.&lt;/p&gt;

&lt;p&gt;A clean voice-call setup should look roughly like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Microphone capsule -&amp;gt; Windows input device -&amp;gt; app microphone input
Game/browser audio -&amp;gt; Windows output device -&amp;gt; headphones/speakers
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;A broken setup often looks like one of these:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Game/browser audio -&amp;gt; Stereo Mix -&amp;gt; app microphone input
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Game/browser audio -&amp;gt; OBS monitor device -&amp;gt; captured again as mic
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Headphone output wire -&amp;gt; analog bleed -&amp;gt; microphone wire
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Speakers -&amp;gt; room air -&amp;gt; microphone capsule
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;All four can sound like "my mic is picking up my desktop."&lt;/p&gt;

&lt;p&gt;They are not the same problem.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 1: Select the real microphone in Windows
&lt;/h2&gt;

&lt;p&gt;Open:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Settings -&amp;gt; System -&amp;gt; Sound -&amp;gt; Input
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Select the actual microphone or headset input.&lt;/p&gt;

&lt;p&gt;Be suspicious of input names like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Stereo Mix&lt;/li&gt;
&lt;li&gt;What U Hear&lt;/li&gt;
&lt;li&gt;Monitor&lt;/li&gt;
&lt;li&gt;Cable Output&lt;/li&gt;
&lt;li&gt;VoiceMeeter Output&lt;/li&gt;
&lt;li&gt;OBS Virtual&lt;/li&gt;
&lt;li&gt;anything that sounds like a playback or monitor device&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Those names are not always bad. They are useful when you intentionally want to record system audio. But they are usually wrong for a normal Discord, Teams, Zoom, or game voice chat microphone.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 2: Disable Stereo Mix if you do not need it
&lt;/h2&gt;

&lt;p&gt;Open the legacy sound panel:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Settings -&amp;gt; System -&amp;gt; Sound -&amp;gt; More sound settings -&amp;gt; Recording
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If you see Stereo Mix enabled and you are not intentionally recording PC playback, disable it.&lt;/p&gt;

&lt;p&gt;Stereo Mix is a loopback recording source. On some Realtek systems it captures whatever the PC is playing. That is helpful for some recording workflows, but if Discord or another app selects it as the microphone, everyone hears your desktop audio.&lt;/p&gt;

&lt;p&gt;After disabling it, test again.&lt;/p&gt;

&lt;p&gt;Do not change five things at once. Change one thing, record ten seconds, then compare.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 3: Turn off "Listen to this device"
&lt;/h2&gt;

&lt;p&gt;In the Recording tab:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Open your microphone properties.&lt;/li&gt;
&lt;li&gt;Go to the Listen tab.&lt;/li&gt;
&lt;li&gt;Make sure "Listen to this device" is off.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This option plays microphone input back through an output device. It is meant for monitoring, but it can create a confusing path while debugging because input and output start feeding into each other.&lt;/p&gt;

&lt;p&gt;It is not the only cause of desktop audio bleed, but it is quick to rule out.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 4: Keep microphone boost under control
&lt;/h2&gt;

&lt;p&gt;High microphone boost can expose problems that are not obvious at normal gain.&lt;/p&gt;

&lt;p&gt;If you push boost too hard, you can amplify:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;analog jack noise&lt;/li&gt;
&lt;li&gt;electrical crosstalk&lt;/li&gt;
&lt;li&gt;cheap splitter bleed&lt;/li&gt;
&lt;li&gt;keyboard noise&lt;/li&gt;
&lt;li&gt;fan noise&lt;/li&gt;
&lt;li&gt;room echo&lt;/li&gt;
&lt;li&gt;headphone leakage&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Start with the microphone level around 80 to 100 and use modest boost. If the problem appears only when boost is high, the root cause may be weak analog hardware or acoustic leakage rather than a Windows routing bug.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 5: Check the physical audio path
&lt;/h2&gt;

&lt;p&gt;If Windows settings look correct and the leak still happens, inspect the hardware.&lt;/p&gt;

&lt;p&gt;This is especially important with 3.5 mm analog headsets.&lt;/p&gt;

&lt;h3&gt;
  
  
  Try the rear motherboard jack
&lt;/h3&gt;

&lt;p&gt;On desktop PCs, front-panel audio is sometimes noisier than the rear motherboard audio ports.&lt;/p&gt;

&lt;p&gt;Move the headset splitter from the front panel to the rear green and pink jacks.&lt;/p&gt;

&lt;p&gt;If the leak improves, the issue may be:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;front-panel case wiring&lt;/li&gt;
&lt;li&gt;a weak case audio jack&lt;/li&gt;
&lt;li&gt;poor shielding&lt;/li&gt;
&lt;li&gt;a bad splitter&lt;/li&gt;
&lt;li&gt;the motherboard analog path&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Check the splitter
&lt;/h3&gt;

&lt;p&gt;Many headsets use one TRRS plug. Many desktops expect separate headphone and mic plugs.&lt;/p&gt;

&lt;p&gt;That means people use a Y-splitter. A bad splitter can bridge channels enough that headphone audio leaks into the mic input.&lt;/p&gt;

&lt;p&gt;Before replacing the whole headset, test another splitter.&lt;/p&gt;

&lt;h3&gt;
  
  
  Compare analog with USB
&lt;/h3&gt;

&lt;p&gt;A cheap USB audio adapter is a useful diagnostic tool.&lt;/p&gt;

&lt;p&gt;If the same headset stops leaking through a USB adapter, the microphone capsule may be fine. The analog jack path is the suspect.&lt;/p&gt;

&lt;p&gt;If the same leak happens across USB, another headset, and another PC, then the headset itself becomes more suspicious.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 6: Check Discord separately
&lt;/h2&gt;

&lt;p&gt;Discord can use its own input device choice.&lt;/p&gt;

&lt;p&gt;Go to:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;User Settings -&amp;gt; Voice &amp;amp; Video
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Check:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Input Device is the exact microphone, not Default&lt;/li&gt;
&lt;li&gt;Output Device is the intended headphones or speakers&lt;/li&gt;
&lt;li&gt;automatic input sensitivity is not opening the gate from quiet desktop bleed&lt;/li&gt;
&lt;li&gt;noise suppression and echo cancellation are on for normal calls&lt;/li&gt;
&lt;li&gt;push-to-talk stops the symptom&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Push-to-talk is a good proof test. If desktop audio only leaks when voice activation is open, your mic gate or suppression settings may be part of the issue. If desktop audio is present even when you are muted, the problem is deeper than Discord sensitivity.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 7: Check OBS routing
&lt;/h2&gt;

&lt;p&gt;OBS can duplicate audio very easily because it has sources, tracks, monitoring, and global audio devices.&lt;/p&gt;

&lt;p&gt;Check:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;the mic source is the physical microphone&lt;/li&gt;
&lt;li&gt;desktop audio is not added twice&lt;/li&gt;
&lt;li&gt;the mic source is not capturing a monitor device&lt;/li&gt;
&lt;li&gt;Advanced Audio Properties does not monitor into a device that is then captured&lt;/li&gt;
&lt;li&gt;virtual audio cables are not selected as a microphone by accident&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A common mistake is recording desktop audio as one source, then monitoring it into another path that gets captured again.&lt;/p&gt;

&lt;p&gt;In that case, Windows may be fine. OBS is the loop.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 8: Check Teams and Zoom device settings
&lt;/h2&gt;

&lt;p&gt;Teams and Zoom also keep their own device settings.&lt;/p&gt;

&lt;p&gt;For Teams, choose the explicit microphone and speaker instead of relying on Default if devices keep changing.&lt;/p&gt;

&lt;p&gt;For Zoom, use the audio test panel and check whether automatic microphone volume is changing the level. If you enable more raw audio modes, such as musician or original sound modes, remember that they can preserve more background sound and room echo.&lt;/p&gt;

&lt;p&gt;That does not make those modes bad. It just means they are not the first thing to use while debugging desktop audio bleed.&lt;/p&gt;

&lt;h2&gt;
  
  
  Symptom table
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Symptom&lt;/th&gt;
&lt;th&gt;Likely cause&lt;/th&gt;
&lt;th&gt;Best next test&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Mic meter moves while physical mic is muted&lt;/td&gt;
&lt;td&gt;Loopback, virtual device, Stereo Mix, or analog bleed&lt;/td&gt;
&lt;td&gt;Disable loopback sources, test rear jack, test USB audio&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Only Discord leaks game audio&lt;/td&gt;
&lt;td&gt;Discord input/sensitivity/device choice&lt;/td&gt;
&lt;td&gt;Set exact input device and test push-to-talk&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Only OBS duplicates desktop audio&lt;/td&gt;
&lt;td&gt;OBS monitoring or capture setup&lt;/td&gt;
&lt;td&gt;Inspect sources, monitoring, and tracks&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;People hear echo only when speakers are on&lt;/td&gt;
&lt;td&gt;Acoustic pickup&lt;/td&gt;
&lt;td&gt;Use headphones, lower speaker volume, enable echo cancellation&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Leak improves on rear jack&lt;/td&gt;
&lt;td&gt;Front-panel or case audio path&lt;/td&gt;
&lt;td&gt;Replace splitter or use rear/USB audio&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Leak disappears with USB audio&lt;/td&gt;
&lt;td&gt;Analog jack path&lt;/td&gt;
&lt;td&gt;Use USB adapter/interface or repair analog path&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  The 10-minute isolation workflow
&lt;/h2&gt;

&lt;p&gt;Here is the workflow I recommend:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Record ten seconds while desktop audio is playing.&lt;/li&gt;
&lt;li&gt;Mute or unplug the physical mic and record again.&lt;/li&gt;
&lt;li&gt;Disable Stereo Mix and virtual cable inputs.&lt;/li&gt;
&lt;li&gt;Check "Listen to this device."&lt;/li&gt;
&lt;li&gt;Move from front jack to rear jack.&lt;/li&gt;
&lt;li&gt;Try USB audio or another microphone.&lt;/li&gt;
&lt;li&gt;Test Discord, OBS, Teams, and Zoom one at a time.&lt;/li&gt;
&lt;li&gt;Change only one thing between tests.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The last point matters most.&lt;/p&gt;

&lt;p&gt;If you disable Stereo Mix, change Discord input, move the headset cable, reinstall Realtek, and reboot all at once, you may fix the issue but you will not know what actually fixed it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Noise suppression is not a root-cause fix
&lt;/h2&gt;

&lt;p&gt;Noise suppression, echo cancellation, and automatic gain control are useful. Keep them on for normal calls if they help.&lt;/p&gt;

&lt;p&gt;But they are cleanup layers.&lt;/p&gt;

&lt;p&gt;They do not fix:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Stereo Mix selected as input&lt;/li&gt;
&lt;li&gt;OBS monitoring routed into a captured source&lt;/li&gt;
&lt;li&gt;analog crosstalk in a splitter&lt;/li&gt;
&lt;li&gt;a front-panel jack leaking signal&lt;/li&gt;
&lt;li&gt;a virtual cable selected as microphone&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Fix routing first. Then use suppression to polish the result.&lt;/p&gt;

&lt;h2&gt;
  
  
  Final diagnostic rule
&lt;/h2&gt;

&lt;p&gt;If desktop audio appears while the physical microphone is muted or unplugged, do not blame the microphone capsule first.&lt;/p&gt;

&lt;p&gt;Trace the signal path.&lt;/p&gt;

&lt;p&gt;Start with Windows input selection, then loopback devices, then app-specific device settings, then the analog hardware path.&lt;/p&gt;

&lt;p&gt;Once the input meter stays quiet while desktop audio plays and the physical mic is muted, the leak is gone. Then test your real app, because Discord, OBS, Teams, and Zoom can still have their own selected input device.&lt;/p&gt;

</description>
      <category>windows</category>
      <category>audio</category>
      <category>tutorial</category>
      <category>troubleshooting</category>
    </item>
    <item>
      <title>Why I Built an Online Ruler That Needs Calibration</title>
      <dc:creator>keyboardTester.Click</dc:creator>
      <pubDate>Mon, 04 May 2026 15:53:55 +0000</pubDate>
      <link>https://dev.to/nasirazizawan/why-i-built-an-online-ruler-that-needs-calibration-48kj</link>
      <guid>https://dev.to/nasirazizawan/why-i-built-an-online-ruler-that-needs-calibration-48kj</guid>
      <description>&lt;p&gt;Most "online ruler" pages look simple: draw a rectangle, add centimeter ticks, add inch ticks, done.&lt;/p&gt;

&lt;p&gt;That works only if every screen maps CSS pixels to real-world size in the same way. They do not.&lt;/p&gt;

&lt;p&gt;A 13-inch laptop, a 27-inch external monitor, a phone, a tablet, and a 4K display can all render the same CSS width with different physical sizes. Browser zoom, operating-system scaling, Retina-style display modes, and external monitors all make the problem worse.&lt;/p&gt;

&lt;p&gt;So I built a small browser-based ruler where the main feature is not the drawing. The main feature is calibration.&lt;/p&gt;

&lt;p&gt;You can try the finished version here: &lt;a href="https://keyboardtester.click/online-ruler.php" rel="noopener noreferrer"&gt;Free Online Ruler - Actual Size cm and Inch Ruler&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;That is the only link in this post. The rest is the technical reasoning behind the tool.&lt;/p&gt;

&lt;h2&gt;
  
  
  The core problem: CSS pixels are not physical pixels
&lt;/h2&gt;

&lt;p&gt;When a page says:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nt"&gt;width&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="err"&gt;100&lt;/span&gt;&lt;span class="nt"&gt;px&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;the browser does not promise that the result will be the same number of millimeters on every screen.&lt;/p&gt;

&lt;p&gt;It promises a CSS pixel size within the browser's rendering model. The physical size depends on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;the monitor's actual pixel density&lt;/li&gt;
&lt;li&gt;operating-system display scaling&lt;/li&gt;
&lt;li&gt;browser zoom&lt;/li&gt;
&lt;li&gt;device pixel ratio&lt;/li&gt;
&lt;li&gt;whether the display is internal or external&lt;/li&gt;
&lt;li&gt;whether the browser is running in a normal window, remote desktop, or virtual machine&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That means a ruler hardcoded as "96 pixels per inch" can look correct on one machine and wrong on another.&lt;/p&gt;

&lt;p&gt;For a normal layout, this is fine. Responsive design is supposed to adapt. For a measuring tool, it is fatal.&lt;/p&gt;

&lt;h2&gt;
  
  
  The measurement model
&lt;/h2&gt;

&lt;p&gt;The ruler uses a simple internal value:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;pixelsPerMm
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Once that value is known, every mark can be drawn from real units instead of guesses.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;x&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;millimeters&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="nx"&gt;pixelsPerMm&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;A centimeter tick is every 10 millimeters. A half-centimeter tick is every 5 millimeters. A millimeter tick is every 1 millimeter.&lt;/p&gt;

&lt;p&gt;Inch marks are the same idea:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;inch&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mf"&gt;25.4&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="nx"&gt;pixelsPerMm&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;After calibration, the tool is not asking "how many CSS pixels should a ruler be?" It is asking "how many CSS pixels equal one real millimeter on this current screen setup?"&lt;/p&gt;

&lt;p&gt;That distinction matters.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why I used a credit card for calibration
&lt;/h2&gt;

&lt;p&gt;The easiest calibration reference is something most people already have: a credit card, debit card, or standard ID card.&lt;/p&gt;

&lt;p&gt;These cards follow the common ID-1 physical size: about 85.6 mm wide and 54 mm tall.&lt;/p&gt;

&lt;p&gt;The tool shows a card-sized overlay. You hold the real card against the screen and drag the overlay edge until both widths match. From there:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;pixelsPerMm = overlayWidthInPixels / 85.6
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That single calculation gives the ruler its real-world scale.&lt;/p&gt;

&lt;p&gt;It is more reliable than asking users to know their monitor DPI. Many people do not know their screen's true diagonal size, operating systems often apply scaling, and laptops commonly use high-density panels where "default" DPI assumptions are wrong.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why DPI input still exists
&lt;/h2&gt;

&lt;p&gt;Credit-card calibration is better for most users, but manual DPI is still useful for technical users.&lt;/p&gt;

&lt;p&gt;If someone knows their monitor resolution and physical size, they can calculate the true pixel density and enter it directly.&lt;/p&gt;

&lt;p&gt;The conversion is:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;pixelsPerMm = DPI / 25.4
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This is also useful when testing across multiple monitors. A user can quickly enter known DPI values for each screen instead of recalibrating every time.&lt;/p&gt;

&lt;h2&gt;
  
  
  Browser zoom is the easiest way to break it
&lt;/h2&gt;

&lt;p&gt;If you calibrate the ruler at 100 percent browser zoom and later zoom the page to 125 percent, the ruler will no longer be physically accurate.&lt;/p&gt;

&lt;p&gt;That is not a bug in the ruler. The browser is doing exactly what zoom is designed to do: scale the page.&lt;/p&gt;

&lt;p&gt;The practical rule is:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;set browser zoom to 100 percent&lt;/li&gt;
&lt;li&gt;calibrate the ruler&lt;/li&gt;
&lt;li&gt;measure without changing zoom&lt;/li&gt;
&lt;li&gt;recalibrate if the window moves to another display&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The tool stores calibration in localStorage, so it can remember the scale for the same browser and display setup. But it cannot magically know that a user moved the window from a laptop panel to an external monitor.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why SVG is a good fit
&lt;/h2&gt;

&lt;p&gt;The ruler itself is drawn with SVG because tick marks and labels are geometric primitives.&lt;/p&gt;

&lt;p&gt;SVG makes it easy to generate:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;long horizontal scales&lt;/li&gt;
&lt;li&gt;millimeter ticks&lt;/li&gt;
&lt;li&gt;centimeter labels&lt;/li&gt;
&lt;li&gt;inch divisions&lt;/li&gt;
&lt;li&gt;vertical mode by rotating the frame&lt;/li&gt;
&lt;li&gt;crisp marks without blurry canvas scaling&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Canvas would also work, but SVG keeps the ruler inspectable and clean. For this type of UI, the DOM cost is small enough and the clarity is worth it.&lt;/p&gt;

&lt;h2&gt;
  
  
  What the tool is good for
&lt;/h2&gt;

&lt;p&gt;An online ruler is not a replacement for a workshop measuring tool. It is useful for quick, flat, small measurements where the object can be held against the screen.&lt;/p&gt;

&lt;p&gt;Good examples:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;checking a screw size&lt;/li&gt;
&lt;li&gt;measuring a small label&lt;/li&gt;
&lt;li&gt;checking a card, sticker, or photo print&lt;/li&gt;
&lt;li&gt;estimating jewelry or craft material&lt;/li&gt;
&lt;li&gt;verifying a PDF or design element at near 1:1 scale&lt;/li&gt;
&lt;li&gt;quick classroom or desk measurements&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Bad examples:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;measuring anything heavy enough to damage a screen&lt;/li&gt;
&lt;li&gt;measuring objects that are not flat&lt;/li&gt;
&lt;li&gt;measuring objects longer than the display&lt;/li&gt;
&lt;li&gt;precision engineering tolerances&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The tool is practical, not magical.&lt;/p&gt;

&lt;h2&gt;
  
  
  The most important UX decision
&lt;/h2&gt;

&lt;p&gt;The calibration step has to be visible.&lt;/p&gt;

&lt;p&gt;Many online rulers hide the accuracy problem and present the ruler as if every display is already correct. That creates false confidence.&lt;/p&gt;

&lt;p&gt;I wanted the interface to be honest:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Here is the ruler.&lt;/li&gt;
&lt;li&gt;Here is why it may be wrong.&lt;/li&gt;
&lt;li&gt;Here is a quick calibration method.&lt;/li&gt;
&lt;li&gt;Here is the saved status after calibration.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;For measurement tools, trust matters more than looking minimal.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I would improve next
&lt;/h2&gt;

&lt;p&gt;The next useful improvements would be:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;per-monitor saved calibration profiles&lt;/li&gt;
&lt;li&gt;a print-to-check calibration sheet&lt;/li&gt;
&lt;li&gt;optional camera-assisted calibration&lt;/li&gt;
&lt;li&gt;keyboard shortcuts for switching units and orientation&lt;/li&gt;
&lt;li&gt;a small measurement marker that users can drag along the ruler&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;But the current version already handles the main hard problem: mapping browser pixels to real-world units with a reference object the user already owns.&lt;/p&gt;

&lt;h2&gt;
  
  
  Takeaway
&lt;/h2&gt;

&lt;p&gt;The interesting part of an online ruler is not drawing tick marks. The interesting part is admitting that screens lie about physical size, then giving users a fast way to correct that.&lt;/p&gt;

&lt;p&gt;Once you have an accurate &lt;code&gt;pixelsPerMm&lt;/code&gt;, the rest becomes straightforward geometry.&lt;/p&gt;

&lt;p&gt;That is the lesson I keep running into with browser-based utility tools: the browser gives you enough primitives to build useful hardware-adjacent tools, but you have to be honest about where the browser abstraction stops and the physical world begins.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>productivity</category>
      <category>javascript</category>
      <category>tools</category>
    </item>
    <item>
      <title>How to Test a Mechanical Keyboard for Ghosting and N-Key Rollover (Without Buying Software)</title>
      <dc:creator>keyboardTester.Click</dc:creator>
      <pubDate>Mon, 27 Apr 2026 19:26:45 +0000</pubDate>
      <link>https://dev.to/nasirazizawan/how-to-test-a-mechanical-keyboard-for-ghosting-and-n-key-rollover-without-buying-software-340j</link>
      <guid>https://dev.to/nasirazizawan/how-to-test-a-mechanical-keyboard-for-ghosting-and-n-key-rollover-without-buying-software-340j</guid>
      <description>&lt;p&gt;If you've ever been mid-sprint in a game, holding W, A, and Shift, only for your character to stop dead because the keyboard "ate" your sprint key — congratulations, you've met &lt;strong&gt;keyboard ghosting&lt;/strong&gt; in person.&lt;/p&gt;

&lt;p&gt;It feels like a software bug. It isn't. It's a 40-year-old electrical compromise baked into the hardware, and the only fix is either a better keyboard or knowing exactly which combos your current keyboard can't handle.&lt;/p&gt;

&lt;p&gt;This post explains what's actually happening inside the keyboard, how to test for ghosting and N-key rollover (NKRO) using nothing but a browser, and what the results actually mean.&lt;/p&gt;

&lt;h2&gt;
  
  
  What ghosting really is
&lt;/h2&gt;

&lt;p&gt;Keyboards don't have a wire per key. That would mean ~104 wires per board, which is wasteful and impossible to manufacture cheaply. Instead, keys sit on a &lt;strong&gt;switch matrix&lt;/strong&gt; — a grid of rows and columns, with one switch at each intersection.&lt;/p&gt;

&lt;p&gt;The keyboard's microcontroller scans this grid hundreds of times per second:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Power one row.&lt;/li&gt;
&lt;li&gt;Read which columns have current flowing.&lt;/li&gt;
&lt;li&gt;Any row+column intersection with current = a pressed key.&lt;/li&gt;
&lt;li&gt;Move to the next row.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This works perfectly for one or two simultaneous keys. The problem starts at three.&lt;/p&gt;

&lt;p&gt;Imagine three keys pressed at the same time, each at a unique row+column intersection. If the geometry of those intersections forms three corners of a rectangle, the matrix can't tell whether you pressed three keys or four — because current can flow through the matrix in ways that look identical to either case. The fourth, never-pressed key is the &lt;strong&gt;ghost&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Different keyboard firmware handles this differently:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Cheap keyboards:&lt;/strong&gt; the firmware just reports the ambiguous state, and one of your real keys gets dropped.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Anti-ghosting keyboards:&lt;/strong&gt; the firmware detects the ambiguity and refuses to report any key from that combination — so you get a "blocked" key instead of a phantom one.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;NKRO keyboards:&lt;/strong&gt; a hardware diode at every switch makes the matrix unambiguous regardless of how many keys are pressed.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The diode trick is the only real fix. Everything else is firmware patching around the limitation.&lt;/p&gt;

&lt;h2&gt;
  
  
  Testing for ghosting in the browser
&lt;/h2&gt;

&lt;p&gt;Here's the diagnostic approach that takes 30 seconds:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Test 1 — The WASD+Shift combo.&lt;/strong&gt; This is the most common ghosting failure point because it's where 90% of cheap keyboards put their matrix boundary.&lt;/p&gt;

&lt;p&gt;Open any browser-based keyboard tester. Press &lt;strong&gt;W + A + Shift&lt;/strong&gt; all at once. If all three light up, your keyboard handles the most common gaming combo. If Shift drops, you have ghosting on this combination.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Test 2 — The 3-letter cluster.&lt;/strong&gt; Press any three letters in the same physical zone of the keyboard simultaneously. For example: &lt;strong&gt;Q + W + E&lt;/strong&gt;, then &lt;strong&gt;A + S + D&lt;/strong&gt;, then &lt;strong&gt;Z + X + C&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;If any test loses a key, you've found a ghosting zone.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Test 3 — Add a modifier.&lt;/strong&gt; Take whatever 3-key cluster passed Test 2 and add Shift, then Ctrl, then Alt. The most common failures are modifier-on-letter combos in tight matrix zones.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Test 4 — Cross-zone.&lt;/strong&gt; Try &lt;strong&gt;Spacebar + W + A + D&lt;/strong&gt; simultaneously. This is the "I'm sprinting, jumping, and turning" gaming scenario. Even mid-tier keyboards sometimes drop one of these.&lt;/p&gt;

&lt;p&gt;If you want to do this systematically, the &lt;a href="https://keyboardtester.click/keyboard-ghosting-test.php" rel="noopener noreferrer"&gt;keyboard ghosting test&lt;/a&gt; tool I built shows every key registering live, so you can see exactly which key in a combo gets eaten. (Disclosure: I'm the developer.)&lt;/p&gt;

&lt;h2&gt;
  
  
  Measuring N-Key Rollover
&lt;/h2&gt;

&lt;p&gt;NKRO is the answer to "how many keys can my keyboard register at once?" Possible answers:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;2KRO / 3KRO&lt;/strong&gt; — typical for cheap membrane keyboards. Press more than 2-3 keys, things start dropping.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;6KRO&lt;/strong&gt; — the standard for most gaming keyboards because USB HID's basic boot protocol allows 6 simultaneous keys plus modifiers.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;NKRO (full N-key rollover)&lt;/strong&gt; — every key independent, no upper limit. Requires either USB N-key rollover protocol (extended HID) or PS/2 (which inherently supports it).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The browser test for NKRO is simple but tedious:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Hold down keys one at a time without releasing any.&lt;/li&gt;
&lt;li&gt;Watch the on-screen keyboard.&lt;/li&gt;
&lt;li&gt;The maximum number that all stay highlighted simultaneously = your keyboard's rollover.&lt;/li&gt;
&lt;li&gt;Once you exceed it, new keys you press won't register.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Important nuance: &lt;strong&gt;the result depends on which keys you choose&lt;/strong&gt;. A 6KRO keyboard will register six modifiers (Shift, Ctrl, Alt × 2 each) plus 6 letters because modifiers don't count toward the 6KRO limit on most firmware. So "6KRO" can in practice support 10+ keys if you're using modifiers efficiently.&lt;/p&gt;

&lt;p&gt;If you've never tested it, try: hold down all of A, S, D, F, J, K, L, ; — eight letter keys. If all eight light up, you have at least 8KRO. If only 6 light up, you have 6KRO. If fewer than 6, you have something less.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why your specific keyboard fails (or doesn't) in browsers
&lt;/h2&gt;

&lt;p&gt;Even if your keyboard has full NKRO at the hardware level, &lt;strong&gt;the browser may not see all of it&lt;/strong&gt;. Here's why:&lt;/p&gt;

&lt;p&gt;USB keyboards default to the standard 6-key HID boot protocol. A keyboard with hardware NKRO can negotiate the extended protocol, but it requires both:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Your keyboard's firmware supporting the extended USB HID descriptor.&lt;/li&gt;
&lt;li&gt;The host (and browser) accepting it.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Modern Chrome, Firefox, Safari, and Edge all handle the extended protocol fine. Older browsers, virtual machines, or certain USB hubs in compatibility mode can downgrade you to 6KRO even on a hardware-NKRO board.&lt;/p&gt;

&lt;p&gt;If you're getting 6KRO in a browser test on a keyboard advertised as NKRO, the suspect order is: USB hub → keyboard firmware mode (some boards have a switch) → browser/OS (rare).&lt;/p&gt;

&lt;h2&gt;
  
  
  Latency, while you're at it
&lt;/h2&gt;

&lt;p&gt;If you're already testing the keyboard, also measure &lt;strong&gt;per-key latency&lt;/strong&gt;. Browser-side, you can measure the time from &lt;code&gt;keydown&lt;/code&gt; event arrival to JavaScript event-loop processing. This isn't the full hardware-to-pixel chain, but it's a reproducible relative metric.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;lastKeyTime&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;addEventListener&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;keydown&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;e&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;now&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;performance&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;now&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
  &lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;lastKeyTime&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;`Inter-key delay: &lt;/span&gt;&lt;span class="p"&gt;${(&lt;/span&gt;&lt;span class="nx"&gt;now&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="nx"&gt;lastKeyTime&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;toFixed&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;)}&lt;/span&gt;&lt;span class="s2"&gt;ms`&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
  &lt;span class="nx"&gt;lastKeyTime&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;now&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Typical browser-measured values:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Keyboard type&lt;/th&gt;
&lt;th&gt;Typical browser latency&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Wired gaming mechanical&lt;/td&gt;
&lt;td&gt;1–5ms&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Wired office mechanical&lt;/td&gt;
&lt;td&gt;5–15ms&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2.4GHz wireless&lt;/td&gt;
&lt;td&gt;5–15ms&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Bluetooth wireless&lt;/td&gt;
&lt;td&gt;15–30ms&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Fading switches / failing PCB&lt;/td&gt;
&lt;td&gt;40ms+ inconsistent&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Note: this measures &lt;strong&gt;browser-to-render latency only&lt;/strong&gt; — not USB polling delay (1ms at 1000Hz, 8ms at 125Hz) or monitor refresh delay. For absolute hardware specs you need a tool like NVIDIA LDAT. For comparing keyboard A vs keyboard B on the same machine, browser timing is reliable.&lt;/p&gt;

&lt;h2&gt;
  
  
  What to do if your keyboard fails
&lt;/h2&gt;

&lt;p&gt;If your keyboard ghosts on combos you actually use:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Remap the failing keys&lt;/strong&gt; in the affected game or app to ones outside the ghosting zone. Most modern games allow rebinding.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Switch USB ports.&lt;/strong&gt; Sometimes a USB hub or shared root hub causes downgraded reporting. Try a port directly on the motherboard.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Check for an NKRO/6KRO toggle.&lt;/strong&gt; Many gaming keyboards ship in 6KRO mode for compatibility and have a Fn+key shortcut to enable NKRO.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Replace the keyboard.&lt;/strong&gt; If your daily-use combos are consistently ghosting, no software fix exists. Any modern mechanical keyboard with diode-per-switch wiring will solve it permanently.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;If your keyboard fails the simple stuck-key or repeat tests (a single key triggering twice on one press, or appearing to hold itself down), the problem is mechanical wear, not matrix design. That's usually a switch replacement on a hot-swap board, or a board replacement on a soldered one.&lt;/p&gt;

&lt;h2&gt;
  
  
  Wrapping up
&lt;/h2&gt;

&lt;p&gt;Keyboard ghosting is one of those topics where the failure mode is invisible until it bites you in a high-stakes moment. Five minutes of browser testing tells you exactly which combos to trust on your current keyboard, and saves you from the "why didn't my sprint key work?" rage moments.&lt;/p&gt;

&lt;p&gt;If you maintain a keyboard tester in your bookmarks alongside the typing-speed test you used in school, you'll catch most hardware degradation before it becomes a problem. Mechanical keyboards lose precision gradually — a key that takes 50% more force to register today is a key that fails completely in six months.&lt;/p&gt;

&lt;p&gt;Test before you upgrade. The keyboard you already own may be fine for everything except one specific combo, and a remap is much cheaper than a new board.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;I maintain &lt;a href="https://keyboardtester.click" rel="noopener noreferrer"&gt;KeyboardTester.click&lt;/a&gt;, an open-source browser-based hardware diagnostic suite. The &lt;a href="https://keyboardtester.click/keyboard-ghosting-test.php" rel="noopener noreferrer"&gt;keyboard ghosting test&lt;/a&gt; and &lt;a href="https://keyboardtester.click/n-key-rollover-test.php" rel="noopener noreferrer"&gt;N-key rollover test&lt;/a&gt; tools are built from the same matrix-scanning principles described above. Source code on GitHub.&lt;/em&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Update — April 28, 2026
&lt;/h2&gt;

&lt;p&gt;Since publishing this, I've upgraded the tool with a Pro Diagnostics panel that does the live tests this article describes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Live NKRO counter&lt;/strong&gt; — keeps a running max of simultaneous keys held, so you don't have to count manually. Hit a new high and it pulses.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;8 combo presets&lt;/strong&gt; — WASD+Shift, Q+W+E+R, modifier stress (Ctrl+Shift+Alt+letter), full home row (8KRO test), etc. Click a preset, hold the keys, release. Pass/fail logged automatically.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Polling rate estimate&lt;/strong&gt; — measures the OS+browser auto-repeat rate when you hold a single key. Not USB polling (browser can't see that), but useful for relative comparison.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Double-fire detection&lt;/strong&gt; — flags any key that fires twice within 50ms during normal typing. Catches failing switches early.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Per-key actuation timing&lt;/strong&gt; — table showing avg/min/max hold time per key. Outliers reveal sticky keys.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;All client-side. No install. Available in 9 languages. If the manual matrix-counting in this article felt tedious, the new panel automates it.&lt;/p&gt;

</description>
      <category>keyboards</category>
      <category>hardware</category>
      <category>webdev</category>
      <category>testing</category>
    </item>
  </channel>
</rss>
