{"id":16974843,"url":"https://github.com/3f/mocontool","last_synced_at":"2025-08-28T06:12:58.183Z","repository":{"id":144758136,"uuid":"91193232","full_name":"3F/MoConTool","owner":"3F","description":"A variety of patches and tweaks for your favorite mouse.","archived":false,"fork":false,"pushed_at":"2017-05-15T17:37:13.000Z","size":2563,"stargazers_count":1,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-21T20:47:05.045Z","etag":null,"topics":["bugfix","filters","hotkeys","mocontool","mouse","mouse-button","mouse-events","mouse-tracking","patches","tmvtweaks","tool","tweaks","winapi"],"latest_commit_sha":null,"homepage":null,"language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/3F.png","metadata":{"files":{"readme":"Readme.md","changelog":"changelog.txt","contributing":null,"funding":null,"license":"License.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-05-13T17:59:46.000Z","updated_at":"2022-10-07T06:16:41.000Z","dependencies_parsed_at":"2023-06-09T23:15:49.282Z","dependency_job_id":null,"html_url":"https://github.com/3F/MoConTool","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/3F/MoConTool","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/3F%2FMoConTool","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/3F%2FMoConTool/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/3F%2FMoConTool/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/3F%2FMoConTool/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/3F","download_url":"https://codeload.github.com/3F/MoConTool/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/3F%2FMoConTool/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272452398,"owners_count":24937465,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-28T02:00:10.768Z","response_time":74,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bugfix","filters","hotkeys","mocontool","mouse","mouse-button","mouse-events","mouse-tracking","patches","tmvtweaks","tool","tweaks","winapi"],"created_at":"2024-10-14T01:08:25.442Z","updated_at":"2025-08-28T06:12:58.177Z","avatar_url":"https://github.com/3F.png","language":"C#","readme":"# [MoConTool](https://github.com/3F/MoConTool)\n\nA variety of patches and tweaks for your favorite mouse.\n\n[![Build status](https://ci.appveyor.com/api/projects/status/t6icxagsil8kc6fy/branch/master?svg=true)](https://ci.appveyor.com/project/3Fs/mocontool/branch/master)\n[![release-src](https://img.shields.io/github/release/3F/MoConTool.svg)](https://github.com/3F/MoConTool/releases/latest)\n[![License](https://img.shields.io/badge/License-MIT-74A5C2.svg)](https://github.com/3F/MoConTool/blob/master/License.txt)\n\n**Download:** [/releases](https://github.com/3F/MoConTool/releases) ( [latest](https://github.com/3F/MoConTool/releases/latest) )\n\n## License\n\nThe [MIT License (MIT)](https://github.com/3F/MoConTool/blob/master/License.txt)\n\n## Why MoConTool ?\n\n![](https://github.com/3F/MoConTool/blob/master/Resources/MoConTool.png)\n\nIt provides different filters that can help/improve your favorite mouse. \nEspecially when your device from high-end class with high cost (about 300$ and above) and noticed (in one beautiful day) some strange behaviour.\n\nBefore new buying, now you can try this because it's **absolutly free and open**. Moreover, architecture of MoConTool is flexible to add easily any other filter to mange your mouse. You can also try this by the sample below.\n\nBut in general, this tool helps not only with 'double-clicks' problem, it also should help to recover codes from connection problem of your wireless device, and much more.\n\n![Interrupted click (Connection recovery)](https://github.com/3F/MoConTool/blob/master/Resources/ill_mouse_interrupted_click.gif)\n\nBy the way, the classical 'double-click' problem can be resolved is very easy without any software:\n\n* the 3Pin micro-switch component is standard for 90% mouses even for high-end class ! The final sum of this should be $0.08 or less for each switch ! a trivial soldering with your favorite soldering iron and you mouse is ready for new races :) And anyway, for any problems with devices from low-end class - the more right and easy way, just to buy new similar device.\n\n### Command-Line\n\nJust click [cmd] button to generate automatically final arguments from selected options, for example:\n\n```bash\nMoConTool -InterruptedClick LMR 110;43;251 -MixedClicks L 1 -DoubleClicks L 118\n```\n\n### Configuration\n\nThe default values are very specific for specific device, so you need configure \u0026 test all this before using. \n\nBut for any critical situation just press: `[Ctrl + Alt + RShift] + Z` to unplug this from system.\n\n## Sample of filter\n\nIf you're software developer, you can also extend this by new filter. It easy by our flexible platform:\n\n*(the plugin system can be implemented later if it's will be required by someone)*\n\n```csharp\npublic class MyMouseFilter: FilterAbstract, IMouseListener\n{\n    public override FilterResult msg(int nCode, WPARAM wParam, LPARAM lParam)\n    {\n        if(SysMessages.Eq(wParam, SysMessages.WM_MBUTTONDOWN))\n        {\n            LSender.Send(this, $\"Abort WM_MBUTTONDOWN\", Message.Level.Info);\n            trigger();\n            return FilterResult.Abort;\n        }\n\n        return FilterResult.Continue;\n    }\n\n    public MouseFilter()\n        : base(\"MyMouseFilter\")\n    {\n        Handler = MouseState.Flags.Middle | MouseState.Flags.Down | MouseState.Flags.Up;\n    }\n}\n...\nIMouseListener fmm = listener(typeof(MyMouseFilter));\nfic.Triggering += (object sender, DataArgs\u003culong\u003e e) =\u003e {\n    uiAction(() =\u003e ...);\n};\n```\n\nAll available filters for sample - **[here](https://github.com/3F/MoConTool/tree/master/MoConTool/Filters)**\n\n## \u0026\n\n[![Donate](https://www.paypalobjects.com/en_US/i/btn/btn_donate_SM.gif)](https://www.paypal.com/cgi-bin/webscr?cmd=_donations\u0026business=entry%2ereg%40gmail%2ecom\u0026lc=US\u0026item_name=3F%2dOpenSource%20%5b%20github%2ecom%2f3F\u0026currency_code=USD\u0026bn=PP%2dDonationsBF%3abtn_donate_SM%2egif%3aNonHosted)\n","funding_links":["https://www.paypal.com/cgi-bin/webscr?cmd=_donations\u0026business=entry%2ereg%40gmail%2ecom\u0026lc=US\u0026item_name=3F%2dOpenSource%20%5b%20github%2ecom%2f3F\u0026currency_code=USD\u0026bn=PP%2dDonationsBF%3abtn_donate_SM%2egif%3aNonHosted"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F3f%2Fmocontool","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F3f%2Fmocontool","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F3f%2Fmocontool/lists"}