[{"data":1,"prerenderedAt":493},["ShallowReactive",2],{"i-lucide:menu":3,"i-simple-icons:github":8,"docs-\u002Fdocs\u002Ftroubleshooting":10,"docs-nav":463,"i-lucide:book-open":479,"i-lucide:download":481,"i-lucide:shield-check":483,"i-lucide:layers":485,"i-lucide:wrench":487,"i-lucide:arrow-left":489,"i-lucide:triangle-alert":491},{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":7},0,24,false,"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M4 5h16M4 12h16M4 19h16\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":9},"\u003Cpath fill=\"currentColor\" d=\"M12 .297c-6.63 0-12 5.373-12 12c0 5.303 3.438 9.8 8.205 11.385c.6.113.82-.258.82-.577c0-.285-.01-1.04-.015-2.04c-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729c1.205.084 1.838 1.236 1.838 1.236c1.07 1.835 2.809 1.305 3.495.998c.108-.776.417-1.305.76-1.605c-2.665-.3-5.466-1.332-5.466-5.93c0-1.31.465-2.38 1.235-3.22c-.135-.303-.54-1.523.105-3.176c0 0 1.005-.322 3.3 1.23c.96-.267 1.98-.399 3-.405c1.02.006 2.04.138 3 .405c2.28-1.552 3.285-1.23 3.285-1.23c.645 1.653.24 2.873.12 3.176c.765.84 1.23 1.91 1.23 3.22c0 4.61-2.805 5.625-5.475 5.92c.42.36.81 1.096.81 2.22c0 1.606-.015 2.896-.015 3.286c0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12\"\u002F>",{"id":11,"title":12,"body":13,"description":453,"extension":454,"icon":455,"meta":456,"navigation":457,"order":458,"path":459,"seo":460,"stem":461,"__hash__":462},"docs\u002Fdocs\u002F4.troubleshooting.md","Troubleshooting",{"type":14,"value":15,"toc":435},"minimark",[16,20,25,29,34,71,78,91,111,115,122,125,156,163,167,204,211,215,218,227,231,239,253,256,271,278,302,305,309,312,328,331,335,338,353,363,367,370,373,377,386,401,404,408,411,419,422,431],[17,18,12],"h1",{"id":19},"troubleshooting",[21,22,24],"h2",{"id":23},"no-devices-appear","No devices appear",[26,27,28],"p",{},"Work through these in order — the cause is almost always one of the first two.",[30,31,33],"h3",{"id":32},"_1-confirm-the-permission-setup-actually-applied","1. Confirm the permission setup actually applied",[35,36,41],"pre",{"className":37,"code":38,"language":39,"meta":40,"style":40},"language-bash shiki shiki-themes github-dark-dimmed","getfacl -p \u002Fdev\u002Fhidraw0 | grep '^user:'\n","bash","",[42,43,44],"code",{"__ignoreMap":40},[45,46,49,53,57,61,65,68],"span",{"class":47,"line":48},"line",1,[45,50,52],{"class":51},"s7B5-","getfacl",[45,54,56],{"class":55},"sDGpf"," -p",[45,58,60],{"class":59},"sP_-H"," \u002Fdev\u002Fhidraw0",[45,62,64],{"class":63},"scLw-"," |",[45,66,67],{"class":51}," grep",[45,69,70],{"class":59}," '^user:'\n",[26,72,73,74,77],{},"You should see an entry naming your username. If you only see ",[42,75,76],{},"user::rw-"," with\nno name, the ACL was not applied. Reinstall the rule:",[35,79,81],{"className":37,"code":80,"language":39,"meta":40,"style":40},"sudo .\u002Fscripts\u002Finstall-udev-rules.sh\n",[42,82,83],{"__ignoreMap":40},[45,84,85,88],{"class":47,"line":48},[45,86,87],{"class":51},"sudo",[45,89,90],{"class":59}," .\u002Fscripts\u002Finstall-udev-rules.sh\n",[92,93,95],"callout",{"icon":94},"lucide:triangle-alert",[26,96,97,98,101,102,106,107,110],{},"If you previously installed a version that placed the rule at\n",[42,99,100],{},"99-openlogi.rules",", remove it. Numbers above 73 are evaluated ",[103,104,105],"em",{},"after"," the\n",[42,108,109],{},"uaccess"," builtin has run, so the tag is set too late and the ACL is silently\nnever applied. The current installer removes this file for you.",[30,112,114],{"id":113},"_2-log-out-and-back-in","2. Log out and back in",[26,116,117,118,121],{},"Group membership is established at login. If the installer just added you to\nthe ",[42,119,120],{},"openlogi"," group, your current session does not have it yet.",[26,123,124],{},"To verify without logging out:",[35,126,128],{"className":37,"code":127,"language":39,"meta":40,"style":40},"id -nG | tr ' ' '\\n' | grep openlogi\n",[42,129,130],{"__ignoreMap":40},[45,131,132,135,138,140,143,146,149,151,153],{"class":47,"line":48},[45,133,134],{"class":51},"id",[45,136,137],{"class":55}," -nG",[45,139,64],{"class":63},[45,141,142],{"class":51}," tr",[45,144,145],{"class":59}," ' '",[45,147,148],{"class":59}," '\\n'",[45,150,64],{"class":63},[45,152,67],{"class":51},[45,154,155],{"class":59}," openlogi\n",[26,157,158,159,162],{},"If that prints nothing but ",[42,160,161],{},"getent group openlogi"," shows you as a member, you\nneed a new session.",[30,164,166],{"id":165},"_3-check-the-device-is-visible-to-the-kernel","3. Check the device is visible to the kernel",[35,168,170],{"className":37,"code":169,"language":39,"meta":40,"style":40},"ls -l \u002Fdev\u002Fhidraw*\nsudo dmesg | grep -i logitech\n",[42,171,172,186],{"__ignoreMap":40},[45,173,174,177,180,183],{"class":47,"line":48},[45,175,176],{"class":51},"ls",[45,178,179],{"class":55}," -l",[45,181,182],{"class":59}," \u002Fdev\u002Fhidraw",[45,184,185],{"class":55},"*\n",[45,187,189,191,194,196,198,201],{"class":47,"line":188},2,[45,190,87],{"class":51},[45,192,193],{"class":59}," dmesg",[45,195,64],{"class":63},[45,197,67],{"class":51},[45,199,200],{"class":55}," -i",[45,202,203],{"class":59}," logitech\n",[26,205,206,207,210],{},"A Logitech device with no ",[42,208,209],{},"hidraw"," node at all is a kernel or connection\nproblem, not an OpenLogi one.",[30,212,214],{"id":213},"_4-confirm-the-device-speaks-hid","4. Confirm the device speaks HID++",[26,216,217],{},"Not every Logitech product does — some budget peripherals are plain HID with no\nvendor protocol. The probe reports this directly:",[35,219,221],{"className":37,"code":220,"language":39,"meta":40,"style":40},".\u002Ftarget\u002Frelease\u002Flogi-probe\n",[42,222,223],{"__ignoreMap":40},[45,224,225],{"class":47,"line":48},[45,226,220],{"class":51},[21,228,230],{"id":229},"buttons-do-not-respond-after-remapping","Buttons do not respond after remapping",[30,232,234,235,238],{"id":233},"check-uinput-is-available","Check ",[42,236,237],{},"uinput"," is available",[35,240,242],{"className":37,"code":241,"language":39,"meta":40,"style":40},"ls -l \u002Fdev\u002Fuinput\n",[42,243,244],{"__ignoreMap":40},[45,245,246,248,250],{"class":47,"line":48},[45,247,176],{"class":51},[45,249,179],{"class":55},[45,251,252],{"class":59}," \u002Fdev\u002Fuinput\n",[26,254,255],{},"If the file does not exist, the module is not loaded:",[35,257,259],{"className":37,"code":258,"language":39,"meta":40,"style":40},"sudo modprobe uinput\n",[42,260,261],{"__ignoreMap":40},[45,262,263,265,268],{"class":47,"line":48},[45,264,87],{"class":51},[45,266,267],{"class":59}," modprobe",[45,269,270],{"class":59}," uinput\n",[26,272,273,274,277],{},"The installer writes ",[42,275,276],{},"\u002Fetc\u002Fmodules-load.d\u002Fopenlogi.conf"," so this persists across\nreboots. If that file is missing, create it:",[35,279,281],{"className":37,"code":280,"language":39,"meta":40,"style":40},"echo uinput | sudo tee \u002Fetc\u002Fmodules-load.d\u002Fopenlogi.conf\n",[42,282,283],{"__ignoreMap":40},[45,284,285,288,291,293,296,299],{"class":47,"line":48},[45,286,287],{"class":55},"echo",[45,289,290],{"class":59}," uinput",[45,292,64],{"class":63},[45,294,295],{"class":51}," sudo",[45,297,298],{"class":59}," tee",[45,300,301],{"class":59}," \u002Fetc\u002Fmodules-load.d\u002Fopenlogi.conf\n",[26,303,304],{},"If the file exists but the group is wrong, re-run the rule installer.",[30,306,308],{"id":307},"check-the-control-is-actually-divertable","Check the control is actually divertable",[26,310,311],{},"Not every button can be diverted — the firmware decides. The probe lists which\ncontrols on your device support it:",[35,313,315],{"className":37,"code":314,"language":39,"meta":40,"style":40},".\u002Ftarget\u002Frelease\u002Flogi-probe watch 30\n",[42,316,317],{"__ignoreMap":40},[45,318,319,322,325],{"class":47,"line":48},[45,320,321],{"class":51},".\u002Ftarget\u002Frelease\u002Flogi-probe",[45,323,324],{"class":59}," watch",[45,326,327],{"class":55}," 30\n",[26,329,330],{},"Press the buttons during the watch window. Anything that prints a notification\nis divertable; anything silent is not remappable on that device.",[21,332,334],{"id":333},"a-button-is-dead-and-openlogi-is-closed","A button is dead and OpenLogi is closed",[26,336,337],{},"A diverted button sends no normal report, so if the application exits without\nrestoring it, that button does nothing.",[26,339,340,341,344,345,348,349,352],{},"OpenLogi restores every diverted control on shutdown, including on ",[42,342,343],{},"SIGINT"," and\n",[42,346,347],{},"SIGTERM",". If it was killed with ",[42,350,351],{},"SIGKILL"," — which cannot be caught — the\ndiversion survives. To clear it:",[354,355,356,360],"ul",{},[357,358,359],"li",{},"Power-cycle the device (switch it off and on), or",[357,361,362],{},"Start OpenLogi again and close it normally",[21,364,366],{"id":365},"conflicts-with-solaar","Conflicts with Solaar",[26,368,369],{},"There should not be any. HID++ 2.0 requests carry a software id that the device\nechoes back, and OpenLogi uses a different one from Solaar and fwupd, so replies\nare matched to the program that asked.",[26,371,372],{},"If you do see erratic behaviour with both running, that is worth reporting —\ninclude which device, which connection type, and whether it also occurs with\nSolaar closed.",[21,374,376],{"id":375},"settings-do-not-survive-a-reboot","Settings do not survive a reboot",[26,378,379,380,385],{},"This is expected for host-side actions, and is the distinction described in\n",[381,382,384],"a",{"href":383},"\u002Fdocs\u002Farchitecture","Architecture",".",[354,387,388,395],{},[357,389,390,394],{},[391,392,393],"strong",{},"DPI"," is written to the device's flash and persists with OpenLogi closed.",[357,396,397,400],{},[391,398,399],{},"Button mappings"," to desktop actions, commands and URLs require OpenLogi to\nbe running, because no firmware implements those concepts.",[26,402,403],{},"The application marks which is which.",[21,405,407],{"id":406},"filing-a-useful-bug-report","Filing a useful bug report",[26,409,410],{},"Include the output of:",[35,412,413],{"className":37,"code":220,"language":39,"meta":40,"style":40},[42,414,415],{"__ignoreMap":40},[45,416,417],{"class":47,"line":48},[45,418,220],{"class":51},[26,420,421],{},"That reports the device, its connection path, and its full capability list —\nwhich is the first thing anyone diagnosing the problem needs.",[26,423,424,425],{},"Issues: ",[381,426,430],{"href":427,"rel":428},"https:\u002F\u002Fgithub.com\u002Fmohin7\u002Fopenlogi\u002Fissues",[429],"nofollow","github.com\u002Fmohin7\u002Fopenlogi\u002Fissues",[432,433,434],"style",{},"html pre.shiki code .s7B5-, html code.shiki .s7B5-{--shiki-default:#F69D50}html pre.shiki code .sDGpf, html code.shiki .sDGpf{--shiki-default:#6CB6FF}html pre.shiki code .sP_-H, html code.shiki .sP_-H{--shiki-default:#96D0FF}html pre.shiki code .scLw-, html code.shiki .scLw-{--shiki-default:#F47067}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}",{"title":40,"searchDepth":436,"depth":436,"links":437},3,[438,444,449,450,451,452],{"id":23,"depth":188,"text":24,"children":439},[440,441,442,443],{"id":32,"depth":436,"text":33},{"id":113,"depth":436,"text":114},{"id":165,"depth":436,"text":166},{"id":213,"depth":436,"text":214},{"id":229,"depth":188,"text":230,"children":445},[446,448],{"id":233,"depth":436,"text":447},"Check uinput is available",{"id":307,"depth":436,"text":308},{"id":333,"depth":188,"text":334},{"id":365,"depth":188,"text":366},{"id":375,"depth":188,"text":376},{"id":406,"depth":188,"text":407},"Fixes for devices not appearing, buttons not responding, permission errors, and conflicts with Solaar.","md","lucide:wrench",{},true,4,"\u002Fdocs\u002Ftroubleshooting",{"title":12,"description":453},"docs\u002F4.troubleshooting","hHwnY0U6esJ4pCXxjGI67OfFgbWwKIIkVcOI4Hkzxcc",[464,468,472,476,478],{"path":465,"title":466,"icon":467,"order":4},"\u002Fdocs","Introduction","lucide:book-open",{"path":469,"title":470,"icon":471,"order":48},"\u002Fdocs\u002Finstallation","Installation","lucide:download",{"path":473,"title":474,"icon":475,"order":188},"\u002Fdocs\u002Fpermissions","Permissions","lucide:shield-check",{"path":383,"title":384,"icon":477,"order":436},"lucide:layers",{"path":459,"title":12,"icon":455,"order":458},{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":480},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M12 5v16m8.001-2A2 2 0 0 0 22 17V5a2 2 0 0 0-1.999-2L16 3.002A5 5 0 0 0 12 5a5 5 0 0 0-4-2H4a2 2 0 0 0-2 2v12a2 2 0 0 0 1.999 2H8a5 5 0 0 1 4 2a5 5 0 0 1 4-2z\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":482},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M12 15V3m9 12v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\"\u002F>\u003Cpath d=\"m7 10l5 5l5-5\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":484},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z\"\u002F>\u003Cpath d=\"m9 12l2 2l4-4\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":486},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z\"\u002F>\u003Cpath d=\"M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12\"\u002F>\u003Cpath d=\"M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":488},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":490},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"m12 19l-7-7l7-7m7 7H5\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":492},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"m21.73 18l-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3M12 9v4m0 4h.01\"\u002F>",1789403123747]