{"id":21885948,"url":"https://github.com/garywill/vimouse","last_synced_at":"2025-08-26T01:13:27.717Z","repository":{"id":171006801,"uuid":"514484639","full_name":"garywill/vimouse","owner":"garywill","description":"Click by the [vim/vimium] + [screen vision-recognition] way. Some tries to dump traditional mouse (experimental)","archived":false,"fork":false,"pushed_at":"2023-11-20T12:29:56.000Z","size":170,"stargazers_count":85,"open_issues_count":5,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-15T08:40:28.676Z","etag":null,"topics":["keyboard","keyboard-mouse","mouse","vi","vim","vimium"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/garywill.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2022-07-16T05:15:44.000Z","updated_at":"2025-04-13T19:42:50.000Z","dependencies_parsed_at":"2023-11-20T13:51:09.143Z","dependency_job_id":null,"html_url":"https://github.com/garywill/vimouse","commit_stats":null,"previous_names":["garywill/vimouse"],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/garywill/vimouse","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/garywill%2Fvimouse","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/garywill%2Fvimouse/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/garywill%2Fvimouse/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/garywill%2Fvimouse/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/garywill","download_url":"https://codeload.github.com/garywill/vimouse/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/garywill%2Fvimouse/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267227234,"owners_count":24056353,"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-07-26T02:00:08.937Z","response_time":62,"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":["keyboard","keyboard-mouse","mouse","vi","vim","vimium"],"created_at":"2024-11-28T10:30:45.640Z","updated_at":"2025-07-26T20:32:39.895Z","avatar_url":"https://github.com/garywill.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"Let's do some tries to dump traditional mouse. Inspired by Vim \u0026 Vimium.\n\n# viMouse\n\nUse keyboard to click anywhere of screen. OpenCV based screenshot **visual recognition**. \n\n\u003e The **vi** in the name here can mean \"Vim\", \"Vision-recognition\" or whatever\n\n![screenshot](demo.gif)\n\nDependencies:\n\n- python3 and: opencv , qt5 , numpy , pynput\n\nTheoretically works cross-platform. Tested on Linux X11 and Windows. Welcome feedback the result on your machine.\n\nThis is still very simple and **in alpha preview** stage currently. Anything could change.\n\n## Usage\n\ncd into folder and run `python3 main.py` to start.\n\n1. Hit `ctrl + meta` to find clickable objects on screen and show keys \n   \n   \u003e meta key = win key = super key\n   \n   \u003e During keys shown, any key events are blocked from being sent to any other apps \n   \n   To cancel, press ESC or `,`(comma). To return to last step, press backspace\n\n2. Press keys to move mouse to that position\n\n3. It triggers click (if `autoClick=True`. Otherwise hit `meta + ctrl` to trigger click)\n\n\u003e Edit file `g.py` and configure for your need: screenshotDelay, whole screen, autoClick ...\n\nAlgorithm (filtering, recognizing,  parameters... ) can be improved. If you don't have a high contrast GUI, or some icons or buttons don't have clear contour, or two objects too close, it may fail to recognize.\n\nWe're expecting experts comming !\n\n## Other vi / keybinding projects\n\nKeyboard clicking:\n\n- [hunt-and-peck](https://github.com/zsims/hunt-and-peck) Simple vimium/vimperator style navigation for Windows applications based on the UI Automation framework.\n\n- [warpd](https://github.com/rvaiya/warpd) A modal keyboard driven interface for mouse manipulation.\n\n- [vimac](https://github.com/dexterleng/vimac) keyboard-driven navigation and control of the macOS Graphical User Interface (GUI)\n\n- [vimium-everywhere](https://github.com/phil294/vimium-everywhere) OS-wide Keyboard navigation for Linux and Windows\n\n- [keynav](https://github.com/jordansissel/keynav) Control the mouse with the keyboard. only works on X11\n\n- [Vimperator](https://github.com/vimperator/vimperator-labs) (discontinued) Make Firefox/Thunderbird look and behave like Vim\n\n- [vimkey](https://github.com/Haojen/vimkey) Browser extension. Use the keyboard trigger click button or open a link\n\n- [Vimium](https://github.com/philc/vimium) browser extension that provides keyboard-based navigation and control of the web in the spirit of the Vim editor.\n\n- [Vimium C](https://github.com/gdh1995/vimium-c) A Customized Vimium having contextual mapping, global shortcuts, command sequences\n\n- [vimb](https://github.com/fanglingsu/vimb) Vim-like web browser. The goal of Vimb is to build a completely keyboard-driven, efficient and pleasurable browsing-experience with low memory and CPU usage that is intuitive to use for Vim users.\n\n- [Big Search](https://github.com/garywill/BigSearch) A multiple-search-engine browser extension that has keyboard clicking feature on its UI\n\nEdit text using vi-like keybinding on non-vi app:\n\n- [gtk-vikb](https://github.com/polachok/gtk-vikb) (discontinued) add vi keybindings to gtk (2/3) text areas\n- [Firenvim](https://github.com/glacambre/firenvim) Turn browser \u003ctextarea\u003e into a Neovim client\n- [wasavi](https://github.com/akahuku/wasavi) Transforms browser \u003ctextarea\u003e into a VI editor\n- [emacs-anywhere](https://github.com/zachcurry/emacs-anywhere)\n- [Emacs Everywhere](https://github.com/tecosaur/emacs-everywhere)\n- [vime](https://github.com/algon-320/vime) Using Vim as an input method editor for X11 applications\n- [vim_ahk](https://github.com/rcmdnk/vim_ahk) Based on AutoHotKey\n- [tsf-vim](https://github.com/deton/tsf-vim) (discontinued) Windows IME to edit text like vim editor\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgarywill%2Fvimouse","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgarywill%2Fvimouse","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgarywill%2Fvimouse/lists"}