LSMI-MOUSE(1)

NAME
lsmi-mouse - Linux Pseudo MIDI Input -- Mouse

SYNOPSIS
lsmi-mouse [options] files...

DESCRIPTION
This driver is capable of generating a stream of MIDI controller and/or note events from the state of mouse buttons. I have a MouseSystems serial mouse controller board with footswitches wired to each of its three buttons. You must have evdev and the kernel driver for your mouse type loaded (in my case, this is sermouse). Mouse axes, wheels, or additional buttons are not used (if you can think of something to do with them [rotary encoders for filter and resonance?], then, by all means, let me know). I use this device to control Freewheeling and various softsynths. Much cheaper than a real MIDI pedalboard, of this I assure you.

EXAMPLE
Use mouse device "/dev/input/event4", mapping left button to Controller #64, middle button to Note #36, and right button to Note #37 (all on Channel #1):
lsmi-mouse -d /dev/input/event4 -1 c:1:64 -2 n:1:36 -3 n:1:37

USAGE
Distribution specific init scripts are not included. The drivers may be started from init, your .bashrc, by qjackctl, etc. In order to be run by a non-root user the drivers must have access to the device files in /dev/input. This may be accomplished by adding a group 'input', adding desired users to this group, and configuring udev to assign the appropriate ownership to files in /dev/input. It should be perfectly safe to run the drivers as root, however. For realtime scheduling (the -R option), either use set_rlimits, or set the appropriate POSIX capabilities on the executable:

/sbin/setcap cap_ipc_lock,cap_sys_nice=ep /usr/bin/lsmi-joystick

The lsmi.SlackBuild script already includes RT scheduling support.

OPTIONS

-h, --help
    Show summary of options.

-d, --device specialfile
    Event device to use (instead of event0).

-R, --realtime rtprio
    Use realtime priority 'rtprio' (requires privs).

-v, --verbose
    Be verbose (show note events).

-p, --port client:port
    Connect to ALSA Sequencer client on startup.

-1, --button-one 'c'|'n':n:n
    Button mapping.

-2, --button-two 'c'|'n':n:n
    Button mapping.

-3, --button-thrree 'c'|'n':n:n
    Button mapping.

-z, --daemon
    Fork and don't print anything to stdout.

SEE ALSO
lsmi-joystick(1), lsmi-keyhack(1), lsmi-monterey(1).

AUTHOR
lsmi was written by Jonathan Moore Liles.

This manual page was written by Ariel Errera <ariel@musix.org.ar>, for the Debian project (but may be used by others). It was then modified by B. Watson for the SlackBuilds.org project.