MOUSEBOARD(1)

NAME
mouseboard - keyboard-driven virtual pointer for Wayland

SYNOPSIS
mouseboard [options]

DESCRIPTION
mouseboard draws a labelled grid over every monitor. Type a cell's label to warp the pointer there, refine the position by repeatedly bisecting the cell, then press a key to click. It performs one action and exits.

Wayland does not allow a client to grab a global hotkey, so bind mouseboard to a key inside your compositor. It requires a wlroots-based compositor that implements the wlr-layer-shell and wlr-virtual-pointer protocols.

OPTIONS

--config PATH
    Read configuration from PATH instead of the default $XDG_CONFIG_HOME/mouseboard/config.

--cell-size N
    Target coarse-cell size in pixels (cols/rows are derived per monitor).

--cols N, --rows N
    Use an explicit grid instead of --cell-size.

--alphabet STR
    Characters used to build cell labels.

--opacity N
    Backdrop opacity, 0 to 100; 100 is a solid backdrop. Default 33.

--opacity-fg N
    Opacity of the labels, grid and crosshair, 0 to 100. Default 65.

--dry-run
    Print "x y action" to standard output instead of moving or clicking.

--selftest
    Run offline checks of the label, bisection and config logic, then exit.

-h, --help
    Print usage and exit.

-V, --version
    Print the version and exit.

KEYS
Defaults; see config.example for how to change them.

labels
    type a cell label to select it

u i j k
    keep the top-left, top-right, bottom-left, bottom-right quadrant

m , . ; v
    left, middle, right, double-click, drag

Enter
    left click (once a cell is selected)

Backspace
    undo the last split, or return to the grid

Esc cancel without clicking

EXIT STATUS

0   an action was performed (or printed, with --dry-run).

1   cancelled by the user.

2   error (no display, unsupported compositor, bad arguments).

FILES

$XDG_CONFIG_HOME/mouseboard/config
    Per-user configuration.

EXAMPLES
Bind it in sway:

    bindsym $mod+g exec mouseboard

SEE ALSO
warpd(1), wl-kbptr(1)

BUGS
On Linux only the wlroots Wayland backend exists; GNOME, KDE and X11 are not yet supported. Windows is covered by a native Win32 backend.