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.
recording.mp4
- Search by text:
- Use OCR to locate any visible text on the screen and position your cursor precisely.
- Click:
- Press
space
left clicks at current mouse position. - Press
shift+space
left clicks and show the grid again.
- Press
- Select text/Drag-n-drop:
- Press
ctrl+v
starts dragging/selecting/holding down left mouse button. - Press
space
to stop dragging. - Press
ctrl+v
again to stop dragging and show the grid again.
- Press
- Double click:
- Press
2
followed byspace
will click twice. - Any digit key followed by
space
will click that many times.
- Press
- Right click:
- Pressing
minus
key right clicks at current mouse position. - Holding
shift
key right clicks and shows the grid again.
- Pressing
- Granular movement:
- Once you match with a label on the screen, you can use
hjkl
keys to move your cursor. - Holding
shift
key will use bigger steps for movements. - You can also repeat movement by pressing a digit before the movement. Eg:
5k
moves 5 small steps up.5K
moves 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 chelleport
ornix 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
.
- 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
hjkl
keys to make smaller movements. Holdshift
+hjkl
to move in bigger increments. - Press
space
to 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+p
to go to next/previous match respectively
Interested in extending platform compatibility or new features? Let me know! Contributions and suggestions are welcome.