.\" Hey, EMACS: -*- nroff -*- .\" First parameter, NAME, should be all caps .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection .\" other parameters are allowed: see man(7), man(1) .TH LSMI-MOUSE 1 "May 15, 2012" .\" Please adjust this date whenever revising the manpage. .\" .\" Some roff macros, for reference: .\" .nh disable hyphenation .\" .hy enable hyphenation .\" .ad l left justify .\" .ad b justify to both left and right margins .\" .nf disable filling .\" .fi enable filling .\" .br insert line break .\" .sp insert n+1 empty lines .\" for manpage-specific macros, see man(7) .SH NAME lsmi-mouse \- Linux Pseudo MIDI Input -- Mouse .SH SYNOPSIS .B lsmi-mouse .RI [ options ] " files" ... .SH 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. .SH 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): .br .B lsmi-mouse -d /dev/input/event4 -1 c:1:64 -2 n:1:36 -3 n:1:37 .SH 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: .P /sbin/setcap cap_ipc_lock,cap_sys_nice=ep /usr/bin/lsmi-joystick .P The lsmi.SlackBuild script already includes RT scheduling support. .SH OPTIONS .TP .B \-h, \-\-help Show summary of options. .TP .B \-d, \-\-device specialfile Event device to use (instead of event0). .TP .B \-R, \-\-realtime rtprio Use realtime priority 'rtprio' (requires privs). .TP .B \-v, \-\-verbose Be verbose (show note events). .TP .B \-p, \-\-port client:port Connect to ALSA Sequencer client on startup. .TP .B \-1, \-\-button-one 'c'|'n':n:n Button mapping. .TP .B \-2, \-\-button-two 'c'|'n':n:n Button mapping. .TP .B \-3, \-\-button-thrree 'c'|'n':n:n Button mapping. .TP .B \-z, \-\-daemon Fork and don't print anything to stdout. .SH SEE ALSO .BR lsmi-joystick (1), .BR lsmi-keyhack (1), .BR lsmi-monterey (1). .br .SH AUTHOR lsmi was written by Jonathan Moore Liles. .PP This manual page was written by Ariel Errera , for the Debian project (but may be used by others). It was then modified by B. Watson for the SlackBuilds.org project.