mousemate is a "plugin" for the Video Disk Recorder (VDR). Written by: Joachim Welker Peter Pinnau This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. See the file COPYING for more information. Description ----------- This plugin allows using a mouse to control almost each of VDR's functions by mapping remote control keys to mouse actions. Observed are relative wheel, x axis and y axis movement and up to eight buttons. You can specify different key bindings for several contexts of VDR (Normal, Menu and Replay). The Replay context is even sensitive for the used plugin (dvd, mp3, cdda, image). A long push of the button toggles to an alternative key binding. The alternative key binding can be active temporary or until next long button push (or switched off at all). The alternative key binding can be indicated by switching on the Scroll Lock led of the a given console device. Install ------- - The mousemate plugin only supports vdr versions after 1.5.6 ! - Extract and copy the plugin in /your vdr src/PLUGINS/src/mousemate-0.?.? (when you read this, I think you already done it). - Make a link in /your vdr src/PLUGINS/src: ln -s mousemate-0.?.? mousemate - Go to /your vdr src/ and compile the plugin (and all other): make plugins You may use make plugins MOUSEMATE_DEBUG=1 or make plugins MOUSEMATE_EVENTCODE_SNIFFER=1 in order to get debug information or event codes, types and values of your device. - Install plugins: make install-plugins - Run your vdr with the option: -P"mousemate -d /dev/input/event?" You have to replace ? with the right event number (see below). The vdr user must have root access to the uses devices. - Command line parameters: -d DEV, --device=DEV use DEV as mouse device (default /dev/input/event1) -c DEV, --cdevice=DEV use DEV as console device (default /dev/input/event0) How to find the right device ---------------------------- You can find the right device with following line: cat /proc/bus/input/devices This should produce something like: I: Bus=0011 Vendor=0001 Product=0001 Version=ab41 N: Name="AT Translated Set 2 keyboard" P: Phys=isa0060/serio0/input0 S: Sysfs=/class/input/input0 H: Handlers=kbd event0 B: EV=120013 B: KEY=4 2000000 3802078 f840d001 f2ffffdf ffefffff ffffffff fffffffe B: MSC=10 B: LED=7 I: Bus=0011 Vendor=0002 Product=0004 Version=0000 N: Name="GenPS/2 Genius " P: Phys=isa0060/serio1/input0 S: Sysfs=/class/input/input2 H: Handlers=mouse0 event2 ts0 B: EV=7 B: KEY=1f0000 0 0 0 0 0 0 0 0 B: REL=103 In this case the fist device is a keyboard and the second one is a mouse. In line "H: Handler=" you can read the right event (here event2). The line "N: Name=" can give you a hint to choose the right mouse, if you have more than one installed. Setup menu parameters --------------------- - Sensitivity wheel: Sets the sensitivity of mouse wheel's turning actions (1-10). - Double click time: Sets the time in milliseconds between two button clicks to be recognized as a double click. - Alternative key binding Switches the alternative key bindig on or off. - Toggle click time: Sets the time in milliseconds the button had to be pushed to toggle the key binding. - Show toggle with scroll lock led: Should the scroll lock led be used for indicating active toggle? - Toggle automatic off: Should toggle mode be turn off automatically? - Toggle off time (ms): Sets the time in milliseconds after toggle is turned inactive. - Extra pushed turn events: Enable pushed turn events for: * Left pushed, * Right pushed, * Side pushed, * Extra pushed, * Forward pushed, * Back pushed, * Task pushed Not all events may be available with your mouse. - Extra x,y turn events: Enable x- and y axis for turn events. - Sensitivity x : Sets the sensitivity of mouse x axis' turning actions (1-1000). - Sensitivity y : Sets the sensitivity of mouse y axis' turning actions (1-1000). - DVD sensitive replay context MP3 sensitive replay context CDDA sensitive replay context IMAGE sensitive replay context: Enable specific plugin-senisitive contexts. If one context is disabled, the normal replay context is used for this plugin. - Context: With this item you choose the current context to specify its key bindings. - Turn wheel left, Turn wheel right, Turn x axis left, Turn x axis right, Turn y axis left, Turn y axis right, Left click, Left double-click, Middle click, Middle double-click, Middle pushed turn left, Middle pushed turn right, Right click, Right double-click, Side click, Side double-click, Extra click, Extra double-click, Forward click, Forward double-click, Back click, Back double-click, Task click, Task double-click Left pushed turn left Left pushed turn right Right pushed turn left Right pushed turn right ... The keys that should be triggered at the different events in the choosen context. Not all events may be available with your mouse. If the red button is pushed one4all is executed. That means the current key binding is set for all contexts. This can really save time, if you have a mouse with eight buttons ;). TODO ----- - save key bindings in extra setup file for easier handling - Plugin sensitve context for menu - Sometimes key is sent while toggling - Immediately after automatic toggle it's not possible to toggle again - Improve setup menu (partly done ;))