A native macos keyboard-driven mouse click utility. (single file)
keybrClicker-persistance-mode-demo.mov
i couldn't find an OSS tool like this so i decided to make my own, vibecoded with opencode (glm-5).
Download binary from latest release.
just buildjust start
# OR
./bin/keybrclicker- Press a hotkey to show the grid
- Type 2 letters to select a big cell
- Type 1 letter to click at that position in the mini grid
- Press
Escapeto cancel/exit at any time
-1st letter: Column label from your home row (left to right on keyboard)
- 2nd letter: Row label in alphabetical order from top (A, B, C, ..., Z, ;, ,, ., /, ...)
For example, with default QWERTY layout:
AA= top-left cornerAB= second row from top, leftmost columnSA= top row, second column from leftAZ= row 26 from top (if exists)
Config is stored at ~/.config/keybrclicker/config.json. A default config is created automatically on first run if it doesn't exist.
Define multiple hotkeys, each with its own mouse button:
"hotkeys": [
{
"modifiers": ["cmd", "option"],
"key": "g",
"mouseButton": "left"
},
{
"modifiers": ["cmd", "option", "shift"],
"key": "g",
"mouseButton": "right"
}
]Fields:
modifiers: Array of modifier keys (see below)key: Single key to trigger the hotkey (see below)mouseButton:"left","right", or"middle"
Available modifiers:
cmd(orcommand)option(oralt)control(orctrl)shift
Available keys:
- Any single character:
"g","a","1", etc. - Special keys:
"space","return","enter","tab","escape","esc" - Function keys:
"f1"through"f12" - Arrow keys:
"up","down","left","right" - Other:
"delete","backspace"
Examples:
- Left click:
{"modifiers": ["cmd", "option"], "key": "g", "mouseButton": "left"} - Right click:
{"modifiers": ["cmd", "option", "shift"], "key": "g", "mouseButton": "right"} - Middle click:
{"modifiers": ["cmd", "option"], "key": "m", "mouseButton": "middle"}
Scroll mode allows you to scroll anywhere using keyboard keys. When activated:
- Press the configured scroll hotkey to enter scroll mode
- Use scroll keys (default: H/J/K/L for left/down/up/right) to scroll at the current mouse position
- Hold the key to scroll continuously
- Press
Escapeto exit scroll mode
scrollHotkeys: Array of hotkey configurations to activate scroll mode (no mouse button needed).
scrollKeys: Configuration for scroll direction keys and scroll amount.
{
"scrollHotkeys": [
{ "modifiers": ["cmd", "option"], "key": "s" }
],
"scrollKeys": {
"up": "k",
"down": "j",
"left": "h",
"right": "l",
"amount": 3
}
}Fields:
up,down,left,right: Keys for each scroll directionamount: Number of scroll units per keypress (default: 3)
Note: If scrollHotkeys or scrollKeys are not specified in config, defaults are used:
- Scroll hotkey:
Cmd+Option+S - Scroll keys: H/J/K/L (vim-style)
- Scroll amount: 3
The grid is based on your keyboard layout for easy memorization.
layout: 2D array representing your keyboard rows (top to bottom, left to right). The middle row is automatically used as the home row for column labels.
Example (QWERTY):
{
"hotkeys": [...],
"layout": [
["Q", "W", "E", "R", "T", "Y", "U", "I", "O", "P"],
["A", "S", "D", "F", "G", "H", "J", "K", "L", ";"],
["Z", "X", "C", "V", "B", "N", "M", ",", ".", "/"]
]
}On first run, the app will request Accessibility permissions. This is required for:
- Global hotkey detection
- Simulating mouse clicks
- Simulating scroll events
If clicks or scrolling don't work, check System Settings → Privacy & Security → Accessibility and ensure keybrclicker is enabled.
Since the app doesn't appear in the dock or menu bar, quit it via:
pkill keybrclickerOr use Activity Monitor.