Control your mouse pointer entirely with your keyboard.
Note: Current it only supports Linux running X11 display server with a compositor, because that's what I use. Might look into supporting more systems if there is interest.
- Labelled Hints mode (default.
ctrl+t): Displays a grid overlay on your screen, where each cell is labeled with a unique two-key combination. Press the corresponding keys to move the cursor to the desired cell. - Text Search mode (
ctrl+s): Uses OCR to identify and highlight words on the screen, allowing you to fuzzy search for text and move the cursor directly to matching text.
chelleport.mp4
- Search by text:
- Use OCR to locate any visible text on the screen and position your cursor precisely.
- Click:
- Press
spaceleft clicks at current mouse position. - Press
shift+spaceleft clicks and show the grid again.
- Press
- Select text/Drag-n-drop:
- Press
ctrl+vstarts dragging/selecting/holding down left mouse button. - Press
spaceto stop dragging. - Press
ctrl+vagain to stop dragging and show the grid again.
- Press
- Double click:
- Press
2followed byspacewill click twice. - Any digit key followed by
spacewill click that many times.
- Press
- Right click:
- Pressing
minuskey right clicks at current mouse position. - Holding
shiftkey right clicks and shows the grid again.
- Pressing
- Granular movement:
- Once you match with a label on the screen, you can use
hjklkeys to move your cursor. - Holding
shiftkey will use bigger steps for movements. - You can also repeat movement by pressing a digit before the movement. Eg:
5kmoves 5 small steps up.5Kmoves 5 big steps up.
- Once you match with a label on the screen, you can use
- Clone the repo and build it yourself:
cabal build chelleportornix build - Nix flakes users can try it out by running:
nix run github:phenax/chelleport#chelleport
Use sxhkd, shotkey, your window manager or any other key binding manager to set up a keybinding for chelleport.
chelleport --helpto see help menuchelleport -m <mode>to start in given mode. Allowedsearchorhints.hintsby default
- With the grid open, type any of the key sequences shown on the grid to move the pointer there
- Once a match is found, you can now use
hjklkeys to make smaller movements. Holdshift+hjklto move in bigger increments. - Press
spaceto click
- Words that are recognized by OCR will be highlighted
- Type the characters in one of the words to move the cursor to it
- Press
ctrl+n&ctrl+pto go to next/previous match respectively - NOTE: The startup is a little slow currently taking ~1 second to run ocr. Will keep optimizing to get this down.
- Press
ctrl+rto reload the OCR results if contents on the page changed
Interested in extending platform compatibility or new features? Let me know! Contributions and suggestions are welcome.