PageSourceSearch

https://linguax.app/assets/js/1d132979.01845f3f.js

js linguax.app collected 2026-10-04 08:33:57 UTC 13,387 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunklinguax_web=self.webpackChunklinguax_web||[]).push([[3543],{814:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>c,contentTitle:()=>l,default:()=>a,frontMatter:()=>r,metadata:()=>o,toc:()=>d});const o=JSON.parse('{"id":"troubleshooting/mouse-issues","title":"Mouse Issues","description":"Fix LinguaX mouse problems by symptom \u2014 scrolling not smooth, side buttons not responding, gestures not triggering, device not recognized.","source":"@site/docs/troubleshooting/mouse-issues.md","sourceDirName":"troubleshooting","slug":"/troubleshooting/mouse-issues","permalink":"/docs/troubleshooting/mouse-issues","draft":false,"unlisted":false,"editUrl":"https://github.com/xiaopozhu/linguax-web/tree/master/docs/troubleshooting/mouse-issues.md","tags":[],"version":"current","frontMatter":{"title":"Mouse Issues","description":"Fix LinguaX mouse problems by symptom \u2014 scrolling not smooth, side buttons not responding, gestures not triggering, device not recognized.","keywords":["mouse side buttons not working mac","smooth scrolling stopped mac","mouse not recognized mac"]},"sidebar":"tutorialSidebar","previous":{"title":"Common Issues","permalink":"/docs/troubleshooting/common-issues"},"next":{"title":"Permissions on macOS","permalink":"/docs/troubleshooting/permissions-on-macos"}}');var i=s(4848),t=s(8453);const r={title:"Mouse Issues",description:"Fix LinguaX mouse problems by symptom \u2014 scrolling not smooth, side buttons not responding, gestures not triggering, device not recognized.",keywords:["mouse side buttons not working mac","smooth scrolling stopped mac","mouse not recognized mac"]},l="Mouse Issues",c={},d=[{value:"Scrolling is not smooth or stops working",id:"scrolling-is-not-smooth-or-stops-working",level:2},{value:"Side buttons do not respond",id:"side-buttons-do-not-respond",level:2},{value:"Gestures do not trigger",id:"gestures-do-not-trigger",level:2},{value:"Pointer Speed is wrong or resets",id:"pointer-speed-is-wrong-or-reset
1s",level:2},{value:"Device not recognized",id:"device-not-recognized",level:2},{value:"Mappings fail after sleep/wake",id:"mappings-fail-after-sleepwake",level:2},{value:"Still not resolved?",id:"still-not-resolved",level:2},{value:"Related docs",id:"related-docs",level:2}];function h(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",header:"header",li:"li",mermaid:"mermaid",ol:"ol",p:"p",strong:"strong",ul:"ul",...(0,t.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.header,{children:(0,i.jsx)(n.h1,{id:"mouse-issues",children:"Mouse Issues"})}),"\n",(0,i.jsxs)(n.p,{children:["Mouse+ enhancement is the core of LinguaX. This page groups the most common mouse problems by symptom. For each one, follow the order: ",(0,i.jsx)(n.strong,{children:"symptom \u2192 checks \u2192 fix"}),"."]}),"\n",(0,i.jsxs)(n.p,{children:["If a symptom looks permission-related, start with ",(0,i.jsx)(n.a,{href:"/docs/troubleshooting/permissions-on-macos",children:"Permissions on macOS"}),". If another mouse utility is running at the same time, see ",(0,i.jsx)(n.a,{href:"/docs/troubleshooting/conflicts-with-other-tools",children:"Conflicts with Other Tools"})," first."]}),"\n",(0,i.jsx)(n.mermaid,{value:"flowchart TD\n    S([Mouse symptom]) --\x3e T{Which category?}\n    T --\x3e SC[Scrolling not smooth]\n    T --\x3e SB[Side buttons don't respond]\n    T --\x3e G[Gestures don't trigger]\n    T --\x3e DR[Device not recognized]\n    SC --\x3e SC1{Modifier held?<br/>Cmd/Opt/Ctrl/Shift/Fn}\n    SC1 -- Yes --\x3e SCF[By design \u2014 smoothing pauses<br/>release modifier to resume]\n    SC1 -- No --\x3e SC2[Toggle smooth-scroll off/on<br/>check per-app override<br/>relaunch LinguaX after sleep]\n    SB --\x3e SB1{Button has action?}\n    SB1 -- No --\x3e SBF[Assign action in Mouse+]\n    SB1 -- Yes --\x3e SB2{Model recognized?<br/>T needs Logitech HID++}\n    SB2 -- No --\x3e SB3[Use Side 1/2 instead of T,<br/>or bind Logitech model manually]\n    SB2 -- Yes --\x3e SB4[Check per-app override,<br/>test in another app to isolate]\n    G --\x3e G1[Re-record gesture,<br/>watch on-screen mode indicator,<br/>check reverse-scroll toggles]\n    DR --\x3e DR1{Vendor + PID<br/>in recognition list?}\n    DR1 -- No --\x3e DR2[Falls back to universal HID \u2014<br/>basic click mapping still works]\n    DR1 -- Yes --\x3e DR3[Reconnect device,<br/>relaunch LinguaX,<br/>clear model binding then re-detect]"}),"\n",(0,i.jsx)(n.h2,{id:"scrolling-is-not-smooth-or-stops-working",children:"Scrolling is not smooth or stops working"}),"\n",(0,i.jsx)(n.p,{children:"Symptom: scrolling feels stepped instead of fluid, or smoothing stops after a while or after sleep."}),"\n",(0,i.jsx)(n.p,{children:"Checks:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["Smooth scrolling is enabled globally, and the per-app ",(0,i.jsx)(n.strong,{children:"Smooth Scroll"})," toggle is on for the affected app."]}),"\n",(0,i.jsx)(n.li,{children:"The affected app does not have a per-app override that turns smoothing off."}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"Accessibility"})," and ",(0,i.jsx)(n.code,{children:"Input Monitoring"})," permissions are granted (smooth scrolling needs the event tap)."]}),"\n",(0,i.jsx)(n.li,{children:"You are using a mouse wheel \u2014 trackpad scrolling is intentionally passed through unmodified."}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"Fix:"}),"\n",(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsx)(n.li,{children:"Toggle smooth scrolling off and on once."}),"\n",(0,i.jsxs)(n.li,{children:["Confirm the per-app ",(0,i.jsx)(n.strong,{children:"Smooth Scroll"})," toggle for the current app is not turning smoothing off. (Note: the Min Step / Speed Gain / Duration values and reverse-direction toggles are global; only the Smooth Scroll on/off switch is per-app.)"]}),"\n",(0,i.jsx)(n.li,{children:"If it stopped after sleep/wake, relaunch LinguaX so the event tap and HID services re-initialize."}),"\n",(0,i.jsx)(n.li,{children:"Retest in a plain app (for example Finder or TextEdit) to confirm the baseline works."}),"\n",(0,i.jsxs)(n.li,{children:["If smoothing pauses while you hold a modifier key (",(0,i.jsx)(n.code,{children:"\u2318\u2325\u2303\u21e7"})," or Fn), that is by design \u2014 smoothing resumes when you release it."]}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"side-buttons-do-not-respond",children:"Side buttons do not respond"}),"\n",(0,i.jsx)(n.p,{children:"Symptom: pressing a side or thumb button does nothing, or only works in some apps."}),"\n",(0,i.jsx)(n.p,{children:"Checks:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"The button is actually mapped to an action in button mapping."}),"\n",(0,i.jsx)(n.li,{children:"The mouse model is recognized (see device recognition below)."}),"\n",(0,i.jsx)(n.li,{children:"No per-app gesture override is intercepting or clearing the mapping for the current app."}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"Fix:"}),"\n",(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsx)(n.li,{children:"Open button mapping and confirm the side button has an assigned action."}),"\n",(0,i.jsx)(n.li,{children:"Check whether the current app has a per-app gesture override; if so, align or remove it."}),"\n",(0,i.jsxs)(n.li,{children:["For the thumb button (the ",(0,i.jsx)(n.code,{children:"T"})," slot), confirm the device is recognized; thumb-button long-press relies on the Logitech HID++ path, so it needs a recognized Logitech model."]}),"\n",(0,i.jsx)(n.li,{children:"Test the same button in another app to isolate whether it is global or app-specific."}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"gestures-do-not-trigger",children:"Gestures do not trigger"}),"\n",(0,i.jsx)(n.p,{children:"Symptom: swipe, long-press, or modifier-hold gestures fire inconsistently or not at all."}),"\n",(0,i.jsx)(n.p,{children:"Checks:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"The gesture is mapped for that button."}),"\n",(0,i.jsx)(n.li,{children:"You are completing the gesture within the expected timing (long-press needs a hold; swipe needs a clear direction)."}
1),"\n",(0,i.jsx)(n.li,{children:"Reverse-scroll settings are not flipping the expected swipe direction."}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"Fix:"}),"\n",(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsx)(n.li,{children:"Re-record or re-confirm the gesture mapping for the button."}),"\n",(0,i.jsx)(n.li,{children:"For swipe gestures, perform a clear directional drag and watch the on-screen mode indicator."}),"\n",(0,i.jsxs)(n.li,{children:["For modifier-hold, LinguaX injects the ",(0,i.jsx)(n.strong,{children:"Fn (Globe)"})," modifier while the button is held and releases it when you let go (this is by design, e.g. push-to-talk dictation). Fn is the only modifier exposed for this action."]}),"\n",(0,i.jsx)(n.li,{children:"If horizontal gestures feel inverted, check per-axis reverse-scroll settings."}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"pointer-speed-is-wrong-or-resets",children:"Pointer Speed is wrong or resets"}),"\n",(0,i.jsx)(n.p,{children:"Symptom: pointer feels too fast or too slow, or the speed resets after switching mice."}),"\n",(0,i.jsx)(n.p,{children:"Checks:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Pointer speed is set per device, so each mouse keeps its own profile."}),"\n",(0,i.jsx)(n.li,{children:"The intended device is the one currently active."}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"Fix:"}),"\n",(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsx)(n.li,{children:"Adjust pointer speed while the affected mouse is the active device; the change applies immediately without restart."}),"\n",(0,i.jsx)(n.li,{children:"If you use multiple mice, confirm each device has its own intended speed profile."}),"\n",(0,i.jsx)(n.li,{children:"If speed seems stuck, relaunch LinguaX so the low-level speed path re-applies."}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"device-not-recognized",children:"Device not recognized"}),"\n",(0,i.jsx)(n.p,{children:"Symptom: the mouse is not detected, or auto button mapping does not appear for a known model."}),"\n",(0,i.jsx)(n.p,{children:"Checks:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"The mouse is connected (Bluetooth, receiver, or wired)."}),"\n",(0,i.jsx)(n.li,{children:"For Logitech wireless devices, BLE HID++ recognition needs the device paired and awake."}),"\n",(0,i.jsx)(n.li,{children:'A previous "Clear model binding" may have reset recognition.'}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"Fix:"}),"\n",(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsx)(n.li,{children:"Confirm the device appears in the device list; check battery/connection for Bluetooth mice."}),"\n",(0,i.jsx)(n.li,{children:"Wake the mouse and let the device list refresh (it updates automatically on connect)."}),"\n",(0,i.jsx)(n.li,{children:'If recognition is stuck on the wrong model, use "Clear model binding" in device settings and reconnect.'}),"\n",(0,i.jsxs)(n.li,{children:["See ",(0,i.jsx)(n.a,{href:"/docs/mouse-plus/device-compatibility",children:"Device Compatibility"})," for supported models."]}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"mappings-fail-after-sleepwake",children:"Mappings fail after sleep/wake"}),"\n",(0,i.jsx)(n.p,{children:"Symptom: buttons, gestures, or smooth scrolling stop working after the Mac wakes from sleep."}),"\n",(0,i.jsx)(n.p,{children:"Checks:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Bluetooth devices may need a moment to reconnect after wake."}),"\n",(0,i.jsx)(n.li,{children:"The event tap can time out during long sessions."}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"Fix:"}),"\n",(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsx)(n.li,{children:"Wait a few seconds after wake for Bluetooth devices to recover automatically."}),"\n",(0,i.jsx)(n.li,{children:"If behavior does not return, relaunch LinguaX; this refreshes permissions and critical services."}),"\n",(0,i.jsxs)(n.li,{children:["Confirm ",(0,i.jsx)(n.code,{children:"Accessibility"})," and ",(0,i.jsx)(n.code,{children:"Input Monitoring"})," are still granted after the wake."]}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"still-not-resolved",children:"Still not resolved?"}),"\n",(0,i.jsx)(n.p,{children:"If a single mouse problem persists, collect diagnostics and contact support."}),"\n",(0,i.jsx)(n.h2,{id:"related-docs",children:"Related docs"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/docs/troubleshooting/permissions-on-macos",children:"Permissions on macOS"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/docs/troubleshooting/conflicts-with-other-tools",children:"Conflicts with Other Tools"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/docs/troubleshooting/logs-and-diagnostics",children:"Logs and Diagnostics"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/docs/mouse-plus/overview",children:"Mouse+ Overview"})}),"\n"]})]})}function a(e={}){const{wrapper:n}={...(0,t.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(h,{...e})}):h(e)}},8453:(e,n,s)=>{s.d(n,{R:()=>r,x:()=>l});var o=s(6540);const i={},t=o.createContext(i);function r(e){const n=o.useContext(t);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),o.createElement(t.Provider,{value:n},e.children)}}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.