From 8ddb3741814e896158208bfff5575794486f5d79 Mon Sep 17 00:00:00 2001 From: gnapheus Date: Sat, 13 Dec 2008 17:53:32 +0100 Subject: Initial commit of version 0.1.6 --- ButtonObserver.c | 33 ++++ ButtonObserver.h | 37 ++++ COPYING | 340 +++++++++++++++++++++++++++++++++ HISTORY | 30 +++ Makefile | 117 ++++++++++++ MouseMate.c | 546 +++++++++++++++++++++++++++++++++++++++++++++++++++++ MouseMate.h | 86 +++++++++ MouseMateMonitor.c | 157 +++++++++++++++ MouseMateMonitor.h | 41 ++++ README | 200 ++++++++++++++++++++ mousemate.c | 137 ++++++++++++++ po/ca_ES.po | 192 +++++++++++++++++++ po/cs_CZ.po | 190 +++++++++++++++++++ po/da_DK.po | 190 +++++++++++++++++++ po/de_DE.po | 192 +++++++++++++++++++ po/de_DE.po~ | 192 +++++++++++++++++++ po/el_GR.po | 190 +++++++++++++++++++ po/es_ES.po | 190 +++++++++++++++++++ po/et_EE.po | 190 +++++++++++++++++++ po/fi_FI.po | 193 +++++++++++++++++++ po/fr_FR.po | 193 +++++++++++++++++++ po/hr_HR.po | 191 +++++++++++++++++++ po/hu_HU.po | 191 +++++++++++++++++++ po/it_IT.po | 192 +++++++++++++++++++ po/nl_NL.po | 192 +++++++++++++++++++ po/nn_NO.po | 191 +++++++++++++++++++ po/pl_PL.po | 190 +++++++++++++++++++ po/pt_PT.po | 190 +++++++++++++++++++ po/ro_RO.po | 191 +++++++++++++++++++ po/ru_RU.po | 190 +++++++++++++++++++ po/sl_SI.po | 191 +++++++++++++++++++ po/sv_SE.po | 191 +++++++++++++++++++ po/tr_TR.po | 190 +++++++++++++++++++ setup.c | 476 ++++++++++++++++++++++++++++++++++++++++++++++ setup.h | 138 ++++++++++++++ 35 files changed, 6540 insertions(+) create mode 100644 ButtonObserver.c create mode 100644 ButtonObserver.h create mode 100644 COPYING create mode 100644 HISTORY create mode 100644 Makefile create mode 100644 MouseMate.c create mode 100644 MouseMate.h create mode 100644 MouseMateMonitor.c create mode 100644 MouseMateMonitor.h create mode 100644 README create mode 100644 mousemate.c create mode 100644 po/ca_ES.po create mode 100644 po/cs_CZ.po create mode 100644 po/da_DK.po create mode 100644 po/de_DE.po create mode 100644 po/de_DE.po~ create mode 100644 po/el_GR.po create mode 100644 po/es_ES.po create mode 100644 po/et_EE.po create mode 100644 po/fi_FI.po create mode 100644 po/fr_FR.po create mode 100644 po/hr_HR.po create mode 100644 po/hu_HU.po create mode 100644 po/it_IT.po create mode 100644 po/nl_NL.po create mode 100644 po/nn_NO.po create mode 100644 po/pl_PL.po create mode 100644 po/pt_PT.po create mode 100644 po/ro_RO.po create mode 100644 po/ru_RU.po create mode 100644 po/sl_SI.po create mode 100644 po/sv_SE.po create mode 100644 po/tr_TR.po create mode 100644 setup.c create mode 100644 setup.h diff --git a/ButtonObserver.c b/ButtonObserver.c new file mode 100644 index 0000000..db21896 --- /dev/null +++ b/ButtonObserver.c @@ -0,0 +1,33 @@ +/* + * mousemate plugin for VDR + * + * ButtonObserver.c - MouseMate button observer class + * + * + * This code is distributed under the terms and conditions of the + * GNU GENERAL PUBLIC LICENSE. See the file COPYING for details. + */ + +#include "ButtonObserver.h" + +cButtonObserver::cButtonObserver() +{ + pushed = false; + lastPush = 0; + click = false; + buttonCode = 0; + clickEvent = 0; + doubleClickEvent = 0; + pushedTurnLeftEvent=0; + pushedTurnRightEvent=0; +} + + +void cButtonObserver::Init(unsigned int buCo, int clEv, int dbClEv, int puTuRiEv, int puTuLeEv) +{ + buttonCode = buCo; + clickEvent = clEv; + doubleClickEvent = dbClEv; + pushedTurnLeftEvent=puTuLeEv; + pushedTurnRightEvent=puTuRiEv; +} diff --git a/ButtonObserver.h b/ButtonObserver.h new file mode 100644 index 0000000..2e84d45 --- /dev/null +++ b/ButtonObserver.h @@ -0,0 +1,37 @@ +/* + * mousemate plugin for VDR + * + * ButtonObserver.h - MouseMate button observer class + * + * + * This code is distributed under the terms and conditions of the + * GNU GENERAL PUBLIC LICENSE. See the file COPYING for details. + */ + +#ifndef __BUTTON_OBSERVER_H +#define __BUTTON_OBSERVER_H + +#include +#include +#include +#include + +class cButtonObserver +{ + public: + bool pushed; + uint64_t lastPush; + bool click; + + int clickEvent; + int doubleClickEvent; + int pushedTurnLeftEvent; + int pushedTurnRightEvent; + + unsigned int buttonCode; + + cButtonObserver(); + + void Init(unsigned int buCo, int clEv, int dbClEv, int puTuRiEv, int puTuLeEv); +}; +#endif diff --git a/COPYING b/COPYING new file mode 100644 index 0000000..f90922e --- /dev/null +++ b/COPYING @@ -0,0 +1,340 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + 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. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. diff --git a/HISTORY b/HISTORY new file mode 100644 index 0000000..aeb69b9 --- /dev/null +++ b/HISTORY @@ -0,0 +1,30 @@ +VDR Plugin 'mousemate' Revision History +--------------------------------------- +2008-05-01: Version 0.1.6 +- only vdr > 1.5.7 is supported +- added one4all in setup menu + +2007-06-19: Version 0.1.4pre1 (Joachim Welker) +- added extra pushed turn (wheel) events for every used button +- added extra x,y axis turn events +- alternative key binding can now be switched off +- plugins sensitive replay context can now be switched off + +2006-12-30: Version 0.1.3 (Joachim Welker) +- added support for up to 8 mouse-buttons (SIDE, EXTRA, FORWARD, BACK, TASK) with autodetection +- added plugin sensitive contexts for dvd, mp3, cdda, image (only replay) +- added Info key to key list +- improved DEBUG output +- fixed problems with gcc 4.1 +- changed uint64 to uint64_t to avoid problems on 64-bit machines. + +2006-10-27: Version 0.1.2 (Peter Pinnau) +- added support for 3 mouse-buttons (LEFT, MIDDLE, RIGHT) + +2006-10-09: Version 0.1.1 +- toggle click added for alternative key binding. +- introduced MouseMateMonitor class for better handling of monitored contexts + +2006-09-01: Version 0.1.0 + +- Initial revision. diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..d9c87e7 --- /dev/null +++ b/Makefile @@ -0,0 +1,117 @@ +# +# Makefile for a Video Disk Recorder plugin +# +# MouseMate + +# The official name of this plugin. +# This name will be used in the '-P...' option of VDR to load the plugin. +# By default the main source file also carries this name. +# +PLUGIN = mousemate + +### The version number of this plugin (taken from the main source file): + +VERSION = $(shell grep 'static const char \*VERSION *=' $(PLUGIN).c | awk '{ print $$6 }' | sed -e 's/[";]//g') + +### The C++ compiler and options: + +CXX ?= g++ +CXXFLAGS ?= -fPIC -g -O2 -Wall -Woverloaded-virtual + +### The directory environment: + +VDRDIR = ../../.. +LIBDIR = ../../lib +TMPDIR = /tmp + +### Allow user defined options to overwrite defaults: + +-include $(VDRDIR)/Make.config + +### The version number of VDR's plugin API (taken from VDR's "config.h"): + +APIVERSION = $(shell sed -ne '/define APIVERSION/s/^.*"\(.*\)".*$$/\1/p' $(VDRDIR)/config.h) + +### The name of the distribution archive: + +ARCHIVE = $(PLUGIN)-$(VERSION) +PACKAGE = vdr-$(ARCHIVE) + +### Includes and Defines (add further entries here): + +INCLUDES += -I$(VDRDIR)/include + +DEFINES += -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"$(PLUGIN)"' + +### The object files (add further files here): + +OBJS = mousemate.o MouseMateMonitor.o MouseMate.o setup.o ButtonObserver.o + +ifdef MOUSEMATE_DEBUG +DEFINES += -DDEBUG +endif + +ifdef MOUSEMATE_EVENTCODE_SNIFFER +DEFINES += -DEVENTCODE_SNIFFER +endif + + +### Implicit rules: + +%.o: %.c + $(CXX) $(CXXFLAGS) -c $(DEFINES) $(INCLUDES) $< + +# Dependencies: + +MAKEDEP = g++ -MM -MG +DEPFILE = .dependencies +$(DEPFILE): Makefile + @$(MAKEDEP) $(DEFINES) $(INCLUDES) $(OBJS:%.o=%.c) > $@ + +-include $(DEPFILE) + + +### Internationalization (I18N): + +PODIR = po +LOCALEDIR = $(VDRDIR)/locale +I18Npo = $(wildcard $(PODIR)/*.po) +I18Nmsgs = $(addprefix $(LOCALEDIR)/, $(addsuffix /LC_MESSAGES/vdr-$(PLUGIN).mo, $(notdir $(foreach file, $(I18Npo), $(basename $(file)))))) +I18Npot = $(PODIR)/$(PLUGIN).pot + +%.mo: %.po + msgfmt -c -o $@ $< + +$(I18Npot): $(wildcard *.c) + xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --msgid-bugs-address='' -o $@ $^ + +%.po: $(I18Npot) + msgmerge -U --no-wrap --no-location --backup=none -q $@ $< + @touch $@ + +$(I18Nmsgs): $(LOCALEDIR)/%/LC_MESSAGES/vdr-$(PLUGIN).mo: $(PODIR)/%.mo + @mkdir -p $(dir $@) + cp $< $@ + +.PHONY: i18n +i18n: $(I18Nmsgs) + +### Targets: + +all: libvdr-$(PLUGIN).so i18n + +libvdr-$(PLUGIN).so: $(OBJS) + $(CXX) $(CXXFLAGS) -shared $(OBJS) -o $@ + @cp $@ $(LIBDIR)/$@.$(APIVERSION) + +dist: clean + @-rm -rf $(TMPDIR)/$(ARCHIVE) + @mkdir $(TMPDIR)/$(ARCHIVE) + @cp -a * $(TMPDIR)/$(ARCHIVE) + @tar czf $(PACKAGE).tgz -C $(TMPDIR) $(ARCHIVE) + @-rm -rf $(TMPDIR)/$(ARCHIVE) + @echo Distribution package created as $(PACKAGE).tgz + +clean: + @-rm -f $(PODIR)/*.mo $(PODIR)/*.pot + @-rm -f $(OBJS) $(DEPFILE) *.so *.tgz core* *~ diff --git a/MouseMate.c b/MouseMate.c new file mode 100644 index 0000000..b835b83 --- /dev/null +++ b/MouseMate.c @@ -0,0 +1,546 @@ +/* + * mousemate plugin for VDR + * + * MouseMate.c - MouseMate control class + * + * + * This code is distributed under the terms and conditions of the + * GNU GENERAL PUBLIC LICENSE. See the file COPYING for details. + */ + +#include +#include +#include +#include + +#include "MouseMate.h" +#include "ButtonObserver.h" + +// buffer size for reading events +const int BUFFER_SIZE=32; + +#ifdef DEBUG +const char * strContextsDebug[kContexts] = +{ + "Normal", + "Menu", + "Replay", + "Replay DVD", + "Replay MP3", + "Replay CDDA", + "Replay IMAGE", + "Normal alternative", + "Menu alternative", + "Replay alternative", + "Replay DVD alternative", + "Replay MP3 alternative", + "Replay CDDA alternative", + "Replay IMAGE alternative" +}; + +const char * strEventsDebug[kEvents] = +{ + "TurnWheelLeft", + "TurnWheelRight", + "TurnXLeft", + "TurnXRight", + "TurnYLeft", + "TurnYRight", + "LeftClick", + "LeftDoubleClick", + "LeftPushedTurnLeft", + "LeftPushedTurnRight", + "MiddleClick", + "MiddleDoubleClick", + "MiddlePushedTurnLeft", + "MiddlePushedTurnRight", + "RightClick", + "RightDoubleClick", + "RightPushedTurnLeft", + "RightPushedTurnRight", + "SidePushedTurnLeft", + "SidePushedTurnRight", + "SideClick", + "SideDoubleClick", + "ExtraClick", + "ExtraDoubleClick", + "ExtraPushedTurnLeft", + "ExtraPushedTurnRight", + "ForwardClick", + "ForwardDoubleClick", + "ForwardPushedTurnLeft", + "ForwardPushedTurnRight", + "BackClick", + "BackDoubleClick", + "BackPushedTurnLeft", + "BackPushedTurnRight", + "TaskClick", + "TaskDoubleClick" + "TaskPushedTurnLeft", + "TaskPushedTurnRight" +}; +#endif + +cMouseMate * MouseMate; + +cMouseMate::cMouseMate() +:pushed(false), +lastPush(0), +offset(0), +offsetX(0), +offsetY(0), +click(false), +turn(false), +toggle(false), +toggletime(0), +btnCount(0), +active(false) +{ + fd = open(MouseMateSetup.device, O_RDONLY); + if (fd < 0) + { + esyslog("mousemate: unable to open %s: %s\n", MouseMateSetup.device, strerror(errno)); + fd = -1; + return; + } + + // Check if same EV_VERSION is used, because of hardcoded values below + if (EV_VERSION!=0x010000) + { + esyslog("mousemate: Warning this Plugin is written for another EV_VERSION!" + "mousemate: This may cause incompatibility!"); + } + + uint8_t evtype_bitmask[KEY_MAX/8+1]; + int yalv; + memset(evtype_bitmask, 0, sizeof(evtype_bitmask)); + + if (ioctl(fd, EVIOCGBIT(EV_KEY, KEY_MAX), evtype_bitmask) < 0) + { + esyslog("mousemate: %s: EVIOCGBIT failed: %s\n", MouseMateSetup.device, strerror(errno)); + return; + } + + for (yalv = BTN_MOUSE; yalv < BTN_MOUSE+9; yalv++) + { + if (test_bit(yalv, evtype_bitmask)) + { + /* this means that the bit is set in the event types list */ + switch (yalv) + { + case BTN_LEFT : + #ifdef DEBUG + dsyslog("mousemate: button found BTN_LEFT\n"); + #endif + buttonObservers[0].Init(BTN_LEFT, kEventLeftClick, kEventLeftDoubleClick, kEventLeftPushedTurnLeft, kEventLeftPushedTurnRight); + btnCount++; + break; + case BTN_RIGHT : + #ifdef DEBUG + dsyslog("mousemate: button found BTN_RIGHT\n"); + #endif + buttonObservers[1].Init(BTN_RIGHT, kEventRightClick, kEventRightDoubleClick,kEventRightPushedTurnLeft, kEventRightPushedTurnRight); + btnCount++; + break; + case BTN_MIDDLE : + #ifdef DEBUG + dsyslog("mousemate: button found BTN_MIDDLE\n"); + #endif + buttonObservers[2].Init(BTN_MIDDLE, kEventMiddleClick, kEventMiddleDoubleClick, kEventMiddlePushedTurnLeft, kEventMiddlePushedTurnRight); + btnCount++; + break; + case BTN_SIDE : + #ifdef DEBUG + dsyslog("mousemate: button found TN_SIDE\n"); + #endif + buttonObservers[3].Init(BTN_SIDE, kEventSideClick, kEventSideDoubleClick, kEventSidePushedTurnLeft, kEventSidePushedTurnRight); + btnCount++; + break; + case BTN_EXTRA : + #ifdef DEBUG + dsyslog("mousemate: button found BTN_EXTRA\n"); + #endif + buttonObservers[4].Init(BTN_EXTRA, kEventExtraClick, kEventExtraDoubleClick, kEventExtraPushedTurnLeft, kEventExtraPushedTurnRight); + btnCount++; + break; + case BTN_FORWARD : + #ifdef DEBUG + dsyslog("mousemate: button found BTN_FORWARD\n"); + #endif + buttonObservers[5].Init(BTN_FORWARD, kEventForwardClick, kEventForwardDoubleClick, kEventForwardPushedTurnLeft, kEventForwardPushedTurnRight); + btnCount++; + break; + case BTN_BACK : + #ifdef DEBUG + dsyslog("mousemate: button found BTN_BACK\n"); + #endif + buttonObservers[6].Init(BTN_BACK, kEventBackClick, kEventBackDoubleClick,kEventBackPushedTurnLeft, kEventBackPushedTurnRight); + btnCount++; + break; + case BTN_TASK : + #ifdef DEBUG + dsyslog("mousemate: button found BTN_TASK\n"); + #endif + buttonObservers[7].Init(BTN_TASK, kEventTaskClick, kEventTaskDoubleClick, kEventTaskPushedTurnLeft, kEventTaskPushedTurnRight); + btnCount++; + break; + } + } + } + + #ifdef DEBUG + dsyslog("mousemate: number of found buttons btnCount = %i\n",btnCount); + #endif + + if (btnCount<3) + { + esyslog("mousemate: number of buttons < 3 \n" + "mousemate: ******** plugin not started ******** \n" ); + return; + } + + Monitor=new cMouseMateMonitor; + Start(); +} + + +cMouseMate::~cMouseMate() +{ + delete Monitor; + active = false; + close(fd); + Cancel(3); +} + + +bool cMouseMate::IsButtonUsed(unsigned int buCo) +{ + return !buttonObservers[buCo-BTN_MOUSE].buttonCode ? false : true; +} + + +short int cMouseMate::Get_btnCount() +{ + return btnCount; +} + + +void cMouseMate::Action() +{ + active = true; + dsyslog("MouseMate thread started (pid=%d)", getpid()); + + struct input_event events[BUFFER_SIZE]; + int r; + int num; + int i; + + while (fd >= 0 && active) + { + LOCK_THREAD; + if (cFile::FileReady(fd, 100)) + { + r = safe_read(fd, events, sizeof(struct input_event) * BUFFER_SIZE); + if (r > 0) + { + num = r / sizeof(struct input_event); + for (i = 0; i < num; i++) + { + ProcessInputEvent(&events[i]); + } + } + else + { + LOG_ERROR; + } + } + + // controll more than one button with buttonObserver & for loop + for (i=0; i < btnCount; i++) + { + if (buttonObservers[i].click && !buttonObservers[i].pushed) + { + uint64_t current = TimeMs(); + if (current - buttonObservers[i].lastPush > (uint64_t) MouseMateSetup.doubleClickTime) + { + #ifdef DEBUG + dsyslog("mousemate: click (main loop)\n"); + #endif + ProcessEvent(buttonObservers[i].clickEvent); + buttonObservers[i].click = false; + } + } + + // toggle? + if (buttonObservers[i].pushed && !turn && MouseMateSetup.alternative) + { + uint64_t current = TimeMs(); + if (current - buttonObservers[i].lastPush > (uint64_t) MouseMateSetup.toggleClickTime) + { + Toggle(); + // clear events + struct input_event dummyevents[BUFFER_SIZE]; + r = safe_read(fd, dummyevents, sizeof(struct input_event) * BUFFER_SIZE); + } + } + } + + // handle automatic toggle off after "toggleOffTime" since last event + if(toggle && MouseMateSetup.autotoggleoff && MouseMateSetup.alternative) + { + uint64_t current = TimeMs(); + if (current - toggletime > (uint64_t) MouseMateSetup.toggleOffTime ) + { + Toggle(); + #ifdef DEBUG + dsyslog("mousemate: toggle inactive automatically after %i ms \n", MouseMateSetup.toggleOffTime); + #endif + // clear events + struct input_event dummyevents[BUFFER_SIZE]; + r = safe_read(fd, dummyevents, sizeof(struct input_event) * BUFFER_SIZE); + } + } + } + dsyslog("MouseMate thread ended (pid=%d)", getpid()); +} + + +void cMouseMate::Toggle() +{ + if (toggle) + { + toggle= false; + #ifdef DEBUG + dsyslog("mousemate: toggle inactive \n"); + #endif + } + else + { + toggle=true; + toggletime=TimeMs(); + #ifdef DEBUG + dsyslog("mousemate: toggle active after %i ms pushed button\n", MouseMateSetup.toggleClickTime); + #endif + } + + // controll more than one button with buttonObservers & for loop + int i; + for (i=0; itype) + { + case EV_REL: + if (ev->code == Wheel) + { + turn = true; + offset += (int) ev->value; + for (int i=0; i < btnCount; i++) + { + if (buttonObservers[i].pushed) + { + pushed=true; + button=i; + } + } + if (pushed) + { + if ((int) ev->value < 0) + { + while (offset <= -MouseMateSetup.sensitivity) + { + ProcessEvent(buttonObservers[button].pushedTurnLeftEvent); + offset += MouseMateSetup.sensitivity; + } + } + if ((int) ev->value > 0) + { + while (offset >= MouseMateSetup.sensitivity) + { + ProcessEvent(buttonObservers[button].pushedTurnRightEvent); + offset -= MouseMateSetup.sensitivity; + } + } + } + else + { + for (int i=0; i < btnCount; i++) + { + if (buttonObservers[i].click) + { + #ifdef DEBUG + dsyslog("mousemate: click (ProcessInputEvent)\n"); + #endif + ProcessEvent(buttonObservers[i].clickEvent); + buttonObservers[i].click = false; + } + } + if ((int) ev->value < 0) + { + while (offset <= -MouseMateSetup.sensitivity) + { + ProcessEvent(kEventTurnWheelLeft); + offset += MouseMateSetup.sensitivity; + } + } + if ((int) ev->value > 0) + { + while (offset >= MouseMateSetup.sensitivity) + { + ProcessEvent(kEventTurnWheelRight); + offset -= MouseMateSetup.sensitivity; + } + } + } + } + + if(MouseMateSetup.extraturns) + { + if (ev->code == REL_X) + { + offsetX += (int) ev->value; + if ((int) ev->value < 0) + { + while (offsetX <= -MouseMateSetup.sensitivityX) + { + ProcessEvent(kEventTurnXLeft); + offsetX += MouseMateSetup.sensitivityX; + } + } + if ((int) ev->value > 0) + { + while (offsetX >= MouseMateSetup.sensitivityX) + { + ProcessEvent(kEventTurnXRight); + offsetX -= MouseMateSetup.sensitivityX; + } + } + } + if (ev->code == REL_Y) + { + offsetY += (int) ev->value; + if ((int) ev->value < 0) + { + while (offsetY <= -MouseMateSetup.sensitivityY) + { + ProcessEvent(kEventTurnYLeft); + offsetY += MouseMateSetup.sensitivityY; + } + } + if ((int) ev->value > 0) + { + while (offsetY >= MouseMateSetup.sensitivityY) + { + ProcessEvent(kEventTurnYRight); + offsetY -= MouseMateSetup.sensitivityY; + } + } + } + } + break; + case EV_KEY: + + for (int i=0; icode == buttonObservers[i].buttonCode) + { + if (ev->value) + { + buttonObservers[i].pushed = true; + turn = false; + offset = 0; + buttonObservers[i].lastPush = TimeMs(); + } + else + { + if (buttonObservers[i].click) + { + #ifdef DEBUG + dsyslog("mousemate: double click\n"); + #endif + ProcessEvent(buttonObservers[i].doubleClickEvent); + buttonObservers[i].click = false; + } + else + { + if (!turn) + buttonObservers[i].click = true; + } + buttonObservers[i].pushed = false; + turn = false; + offset = 0; + } + } + } + break; + } + #ifdef EVENTCODE_SNIFFER + printf("mousemate: ev->type = 0x%04x\n", ev->type); + printf("mousemate: ev->code = 0x%04x\n", ev->code); + printf("mousemate: ev->value = %i\n", int(ev->value)); + printf("-----------------------------\n"); + #endif +} + + +void cMouseMate::ProcessEvent(int event) +{ + int context= Monitor->GetContext(toggle); + + if (!toggle) + { + SendKey(MouseMateSetup.keys[context][event]); + } + else + { + toggletime=TimeMs(); // updating toggletime for key is pressed in toggle mode + SendKey(MouseMateSetup.keys[context][event]); + } + + #ifdef DEBUG + dsyslog("mousemate: toggle=%i, event=%s, context=%s\n",toggle, + strEventsDebug[event],strContextsDebug[context]); + eKeys keyNr=MouseMateSetup.keys[context][event]; + dsyslog("mousemate: sent key= nr %i, %s\n",keyNr, cKey::ToString(keyNr)); + #endif +} + + +void cMouseMate::SendKey(eKeys key) +{ + if (key != kNone) + cRemote::Put(key); +} diff --git a/MouseMate.h b/MouseMate.h new file mode 100644 index 0000000..32e592d --- /dev/null +++ b/MouseMate.h @@ -0,0 +1,86 @@ +/* + * mousemate plugin for VDR + * + * MouseMate.h - MouseMate control class + * + * + * This code is distributed under the terms and conditions of the + * GNU GENERAL PUBLIC LICENSE. See the file COPYING for details. + */ + +#ifndef _MOUSEMATE_H_ +#define _MOUSEMATE_H_ + +#include +#include +#include +#include + +#include "MouseMateMonitor.h" +#include "ButtonObserver.h" +#include "setup.h" + +/* + You may try other relative movement events +*/ +#define Wheel REL_WHEEL + +/* + Number of observed mouse-buttons +*/ +#define MAX_BTN_COUNT 8 + +/* + You may define EVENTCODE_SNIFFER in order to get event code, type and value of + your device. +*/ +// #define EVENTCODE_SNIFFER + +/* + You may define DEBUG in order to get information about context, event, etc. +*/ +// #define DEBUG + +/* + ******************* no user defines after this line ************************* + */ +#define TimeMs cTimeMs::Now + +#define test_bit(bit, array) (array[bit/8] & (1<<(bit%8))) + +class cMouseMate : public cThread +{ + private: + + int fd; // file id for mouse device + bool pushed; + uint64_t lastPush; + int offset; + int offsetX; + int offsetY; + bool click; + bool turn; + bool toggle; // toggle key binding + uint64_t toggletime; // time for auto off toggle + + // controll more than one button with buttonObservers & for loop + cButtonObserver buttonObservers[MAX_BTN_COUNT]; + short int btnCount; // number of used buttons: + + bool active; + cMouseMateMonitor *Monitor; + + virtual void Action(); + void Toggle(); + void ProcessInputEvent(struct input_event * ev); + void ProcessEvent(int event); + void SendKey(eKeys key); + public: + cMouseMate(); + virtual ~cMouseMate(); + bool IsButtonUsed(unsigned int buttoncode); + short int Get_btnCount(); +}; + +extern cMouseMate * MouseMate; +#endif diff --git a/MouseMateMonitor.c b/MouseMateMonitor.c new file mode 100644 index 0000000..2793230 --- /dev/null +++ b/MouseMateMonitor.c @@ -0,0 +1,157 @@ +/* + * mousemate plugin for VDR + * + * MouseMate.c - MouseMate context monitor class + * + * + * This code is distributed under the terms and conditions of the + * GNU GENERAL PUBLIC LICENSE. See the file COPYING for details. + */ + +#include "MouseMateMonitor.h" +#include "MouseMate.h" + +cMouseMateMonitor:: cMouseMateMonitor(void) +:menu(false), +replay(false), +DVD(false), +MP3(false), +CDDA(false), +IMAGE(false) +{ +} + + +cMouseMateMonitor:: ~cMouseMateMonitor() +{ +} + + +int cMouseMateMonitor::GetContext(const bool toggle) +{ + if (!toggle) + { + if (menu) + { + #ifdef DEBUG + dsyslog("mousemate: Context=Menu DVD=%i MP3=%i CDDA=%i IMAGE=%i\n",DVD,MP3,CDDA,IMAGE); + #endif + return kContextMenu; + } + if (replay) + { + #ifdef DEBUG + dsyslog("mousemate: Context=Replay DVD=%i MP3=%i CDDA=%i IMAGE=%i\n",DVD,MP3,CDDA,IMAGE); + #endif + if (DVD && MouseMateSetup.dvdsensitive) + return kContextReplayDVD; + if (MP3&& MouseMateSetup.mp3sensitive) + return kContextReplayMP3; + if (CDDA&& MouseMateSetup.cddasensitive) + return kContextReplayCDDA; + if (IMAGE&& MouseMateSetup.imagesensitive) + return kContextReplayIMAGE; + + return kContextReplay; + } + #ifdef DEBUG + dsyslog("mousemate: Context=Normal DVD=%i MP3=%i CDDA=%i IMAGE=%i\n",DVD, MP3,CDDA, IMAGE); + #endif + return kContextNormal; + } + else + { + if (menu) + { + #ifdef DEBUG + dsyslog("mousemate: Context=MenuAlt DVD=%i MP3=%i CDDA=%i IMAGE=%i\n",DVD,MP3,CDDA,IMAGE); + #endif + return kContextMenuAlt; + } + if (replay) + { + #ifdef DEBUG + dsyslog("mousemate: Context=ReplayAlt DVD=%i MP3=%i CDDA=%i IMAGE=%i\n", DVD,MP3,CDDA,IMAGE); + #endif + if (DVD && MouseMateSetup.dvdsensitive) + return kContextReplayDVDAlt; + if (MP3&& MouseMateSetup.mp3sensitive) + return kContextReplayMP3Alt; + if (CDDA&& MouseMateSetup.cddasensitive) + return kContextReplayCDDAAlt; + if (IMAGE&& MouseMateSetup.imagesensitive) + return kContextReplayIMAGEAlt; + return kContextReplayAlt; + } + #ifdef DEBUG + dsyslog("mousemate: Context=NormalAlt DVD=%i MP3=%i CDDA=%i IMAGE=%i\n",DVD, MP3,CDDA, IMAGE); + #endif + return kContextNormalAlt; + } + +} + + +void cMouseMateMonitor::Replaying(const cControl *Control, const char *Name, const char *FileName, bool On) +{ + if (On) + { + replay=true; + if (!strcmp(Name,"DVD")) + DVD=true; + if (!strcmp(Name,"MP3")) + MP3=true; + if (!strcmp(Name,"cdda")) + CDDA=true; + if (!strcmp(Name,"image")) + IMAGE=true; + } + else + { + DVD=false; + MP3=false; + CDDA=false; + IMAGE=false; + replay=false; + } + #ifdef DEBUG + dsyslog("mousemate: %s is %i\n", Name, On); + dsyslog("mousemate: Replaying DVD %i MP3: %i CDDA: %i IMAGE: %i\n",DVD, MP3,CDDA, IMAGE); + #endif +} + + +void cMouseMateMonitor::OsdClear(void) +{ + menu =false; +} + + +void cMouseMateMonitor::OsdTitle(const char *Title) +{ + menu = true; +} + + +void cMouseMateMonitor::OsdHelpKeys(const char *Red, const char *Green, const char *Yellow, const char *Blue) +{ + menu = true; +} + + +void cMouseMateMonitor::OsdItem(const char *Text, int Index) +{ + menu = true; +} + + +void cMouseMateMonitor::OsdCurrentItem(const char *Text) +{ + menu = true; +} + + +void cMouseMateMonitor::OsdTextItem(const char *Text, bool Scroll) +{ + menu = true; +} diff --git a/MouseMateMonitor.h b/MouseMateMonitor.h new file mode 100644 index 0000000..7928a8f --- /dev/null +++ b/MouseMateMonitor.h @@ -0,0 +1,41 @@ +/* + * mousemate plugin for VDR + * + * MouseMateMonitor.h - MouseMate context monitor class + * + * + * This code is distributed under the terms and conditions of the + * GNU GENERAL PUBLIC LICENSE. See the file COPYING for details. + */ + +#ifndef _MOUSEMATEMONITOR_H_ +#define _MOUSEMATEMONITOR_H_ + +#include "setup.h" +#include +#include + +class cMouseMateMonitor : public cStatus +{ + private: + bool menu; + bool replay; + bool DVD; + bool MP3; + bool CDDA; + bool IMAGE; + + public: + cMouseMateMonitor(void); + virtual ~cMouseMateMonitor(); + int GetContext(const bool toggle); + + virtual void Replaying(const cControl *Control, const char *Name, const char *FileName, bool On); + virtual void OsdClear(void); + virtual void OsdTitle(const char *Title); + virtual void OsdHelpKeys(const char *Red, const char *Green, const char *Yellow, const char *Blue); + virtual void OsdItem(const char *Text, int Index); + virtual void OsdCurrentItem(const char *Text); + virtual void OsdTextItem(const char *Text, bool Scroll); +}; +#endif diff --git a/README b/README new file mode 100644 index 0000000..047af5d --- /dev/null +++ b/README @@ -0,0 +1,200 @@ +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 ;)) + + + + + + diff --git a/mousemate.c b/mousemate.c new file mode 100644 index 0000000..daad1da --- /dev/null +++ b/mousemate.c @@ -0,0 +1,137 @@ +/* + * mousemate plugin for VDR + * + * mousemate.c - main plugin class + * + * + * This code is distributed under the terms and conditions of the + * GNU GENERAL PUBLIC LICENSE. See the file COPYING for details. + */ + +#include +#include + +#include "MouseMate.h" +#include "setup.h" + + +static const char *VERSION = "0.1.6"; +static const char *DESCRIPTION = trNOOP("Controls VDR via a mouse"); +static const char *MAINMENUENTRY = NULL; + +class cPluginMousemate : public cPlugin +{ + private: + // Add any member variables or functions you may need here. + public: + cPluginMousemate(void); + virtual ~cPluginMousemate(); + virtual const char *Version(void) { return VERSION; } + virtual const char *Description(void) { return tr(DESCRIPTION); } + virtual const char *CommandLineHelp(void); + virtual bool ProcessArgs(int argc, char *argv[]); + virtual bool Initialize(void); + virtual bool Start(void); + virtual void Housekeeping(void); + virtual const char *MainMenuEntry(void) { return MAINMENUENTRY; } + virtual cOsdObject *MainMenuAction(void); + virtual cMenuSetupPage *SetupMenu(void); + virtual bool SetupParse(const char *Name, const char *Value); +}; + +cPluginMousemate::cPluginMousemate(void) +{ + // Initialize any member variables here. + // DON'T DO ANYTHING ELSE THAT MAY HAVE SIDE EFFECTS, REQUIRE GLOBAL + // VDR OBJECTS TO EXIST OR PRODUCE ANY OUTPUT! +} + + +cPluginMousemate::~cPluginMousemate() +{ + // Clean up after yourself! + delete MouseMate; +} + + +const char *cPluginMousemate::CommandLineHelp(void) +{ + // Return a string that describes all known command line options. + return " -d DEV, --device=DEV use DEV as mouse device (default /dev/input/event1)\n" + " -c DEV, --cdevice=DEV use DEV as console device (default /dev/input/event0)\n"; +} + + +bool cPluginMousemate::ProcessArgs(int argc, char *argv[]) +{ + // Implement command line argument processing here if applicable. + static struct option long_options[] = + { + { "device", required_argument, NULL, 'd' }, + { "cdevice", required_argument, NULL, 'c' }, + { NULL } + }; + int c; + + strcpy(MouseMateSetup.device, "/dev/input/event1"); + strcpy(MouseMateSetup.cdevice, "/dev/input/event0"); + while ((c = getopt_long(argc, argv, "d:c:", long_options, NULL)) != -1) + { + switch (c) + { + case 'd': + strcpy(MouseMateSetup.device, optarg); + break; + case 'c': + strcpy(MouseMateSetup.cdevice, optarg); + break; + default: + return false; + } + } + return true; +} + + +bool cPluginMousemate::Initialize(void) +{ + // Initialize any background activities the plugin shall perform. + return true; +} + + +bool cPluginMousemate::Start(void) +{ + // Start any background activities the plugin shall perform. + MouseMate = new cMouseMate(); + return true; +} + + +void cPluginMousemate::Housekeeping(void) +{ + // Perform any cleanup or other regular tasks. +} + + +cOsdObject *cPluginMousemate::MainMenuAction(void) +{ + // Perform the action when selected from the main VDR menu. + return NULL; +} + + +cMenuSetupPage *cPluginMousemate::SetupMenu(void) +{ + // Return a setup menu in case the plugin supports one. + return new cMouseMateSetupPage(); +} + + +bool cPluginMousemate::SetupParse(const char *Name, const char *Value) +{ + return MouseMateSetup.Parse(Name, Value); +} + + +VDRPLUGINCREATOR(cPluginMousemate); // Don't touch this! diff --git a/po/ca_ES.po b/po/ca_ES.po new file mode 100644 index 0000000..cf5ef5d --- /dev/null +++ b/po/ca_ES.po @@ -0,0 +1,192 @@ +# VDR plugin language source file. +# Copyright (C) 2007 Klaus Schmidinger +# This file is distributed under the same license as the VDR package. +# Marc Rovira Vall , 2003 +# Ramon Roca , 2003 +# Jordi Vilà , 2003 +# +msgid "" +msgstr "" +"Project-Id-Version: VDR 1.5.7\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-05-01 18:59+0200\n" +"PO-Revision-Date: 2008-02-10 18:28+0100\n" +"Last-Translator: Jordi Vilà \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Controls VDR via a mouse" +msgstr "" + +msgid "Sensitivity wheel" +msgstr "" + +msgid "Double click time (ms)" +msgstr "" + +msgid "Alternative key binding" +msgstr "" + +msgid "no" +msgstr "" + +msgid "yes" +msgstr "" + +msgid "Toggle click time (ms)" +msgstr "" + +msgid "Show toggle with scroll lock led" +msgstr "" + +msgid "Toggle automatic off" +msgstr "" + +msgid "Toggle off time (ms)" +msgstr "" + +msgid "Extra pushed turn events" +msgstr "" + +msgid "Extra x,y turn events" +msgstr "" + +msgid "Sensitivity x" +msgstr "" + +msgid "Sensitivity y" +msgstr "" + +msgid "DVD sensitive replay context" +msgstr "" + +msgid "MP3 sensitive replay context" +msgstr "" + +msgid "CDDA sensitive replay context" +msgstr "" + +msgid "IMAGE sensitive replay context" +msgstr "" + +msgid "Set keys for context" +msgstr "" + +msgid "Turn wheel left" +msgstr "" + +msgid "Turn wheel right" +msgstr "" + +msgid "Turn x axis left" +msgstr "" + +msgid "Turn x axis right" +msgstr "" + +msgid "Turn y axis left" +msgstr "" + +msgid "Turn y axis right" +msgstr "" + +msgid "Left click" +msgstr "" + +msgid "Left double-click" +msgstr "" + +msgid "Middle click" +msgstr "" + +msgid "Middle double-click" +msgstr "" + +msgid "Middle pushed turn left" +msgstr "" + +msgid "Middle pushed turn right" +msgstr "" + +msgid "Right click" +msgstr "" + +msgid "Right double-click" +msgstr "" + +msgid "Side click" +msgstr "" + +msgid "Side double-click" +msgstr "" + +msgid "Extra click" +msgstr "" + +msgid "Extra double-click" +msgstr "" + +msgid "Forward click" +msgstr "" + +msgid "Forward double-click" +msgstr "" + +msgid "Back click" +msgstr "" + +msgid "Back double-click" +msgstr "" + +msgid "Task click" +msgstr "" + +msgid "Task double-click" +msgstr "" + +msgid "Left pushed turn left" +msgstr "" + +msgid "Left pushed turn right" +msgstr "" + +msgid "Right pushed turn left" +msgstr "" + +msgid "Right pushed turn right" +msgstr "" + +msgid "Side pushed turn left" +msgstr "" + +msgid "Side pushed turn right" +msgstr "" + +msgid "Extra pushed turn left" +msgstr "" + +msgid "Extra pushed turn right" +msgstr "" + +msgid "Forward pushed turn left" +msgstr "" + +msgid "Forward pushed turn right" +msgstr "" + +msgid "Back pushed turn left" +msgstr "" + +msgid "Back pushed turn right" +msgstr "" + +msgid "Task pushed turn left" +msgstr "" + +msgid "Task pushed turn right" +msgstr "" + +msgid "Set current key binding for all contexts?" +msgstr "" diff --git a/po/cs_CZ.po b/po/cs_CZ.po new file mode 100644 index 0000000..aa2e22e --- /dev/null +++ b/po/cs_CZ.po @@ -0,0 +1,190 @@ +# VDR plugin language source file. +# Copyright (C) 2007 Klaus Schmidinger +# This file is distributed under the same license as the VDR package. +# Vladimír Bárta , 2006 +# +msgid "" +msgstr "" +"Project-Id-Version: VDR 1.5.7\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-05-01 18:59+0200\n" +"PO-Revision-Date: 2008-02-10 18:28+0100\n" +"Last-Translator: Vladimír Bárta \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-2\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Controls VDR via a mouse" +msgstr "" + +msgid "Sensitivity wheel" +msgstr "" + +msgid "Double click time (ms)" +msgstr "" + +msgid "Alternative key binding" +msgstr "" + +msgid "no" +msgstr "" + +msgid "yes" +msgstr "" + +msgid "Toggle click time (ms)" +msgstr "" + +msgid "Show toggle with scroll lock led" +msgstr "" + +msgid "Toggle automatic off" +msgstr "" + +msgid "Toggle off time (ms)" +msgstr "" + +msgid "Extra pushed turn events" +msgstr "" + +msgid "Extra x,y turn events" +msgstr "" + +msgid "Sensitivity x" +msgstr "" + +msgid "Sensitivity y" +msgstr "" + +msgid "DVD sensitive replay context" +msgstr "" + +msgid "MP3 sensitive replay context" +msgstr "" + +msgid "CDDA sensitive replay context" +msgstr "" + +msgid "IMAGE sensitive replay context" +msgstr "" + +msgid "Set keys for context" +msgstr "" + +msgid "Turn wheel left" +msgstr "" + +msgid "Turn wheel right" +msgstr "" + +msgid "Turn x axis left" +msgstr "" + +msgid "Turn x axis right" +msgstr "" + +msgid "Turn y axis left" +msgstr "" + +msgid "Turn y axis right" +msgstr "" + +msgid "Left click" +msgstr "" + +msgid "Left double-click" +msgstr "" + +msgid "Middle click" +msgstr "" + +msgid "Middle double-click" +msgstr "" + +msgid "Middle pushed turn left" +msgstr "" + +msgid "Middle pushed turn right" +msgstr "" + +msgid "Right click" +msgstr "" + +msgid "Right double-click" +msgstr "" + +msgid "Side click" +msgstr "" + +msgid "Side double-click" +msgstr "" + +msgid "Extra click" +msgstr "" + +msgid "Extra double-click" +msgstr "" + +msgid "Forward click" +msgstr "" + +msgid "Forward double-click" +msgstr "" + +msgid "Back click" +msgstr "" + +msgid "Back double-click" +msgstr "" + +msgid "Task click" +msgstr "" + +msgid "Task double-click" +msgstr "" + +msgid "Left pushed turn left" +msgstr "" + +msgid "Left pushed turn right" +msgstr "" + +msgid "Right pushed turn left" +msgstr "" + +msgid "Right pushed turn right" +msgstr "" + +msgid "Side pushed turn left" +msgstr "" + +msgid "Side pushed turn right" +msgstr "" + +msgid "Extra pushed turn left" +msgstr "" + +msgid "Extra pushed turn right" +msgstr "" + +msgid "Forward pushed turn left" +msgstr "" + +msgid "Forward pushed turn right" +msgstr "" + +msgid "Back pushed turn left" +msgstr "" + +msgid "Back pushed turn right" +msgstr "" + +msgid "Task pushed turn left" +msgstr "" + +msgid "Task pushed turn right" +msgstr "" + +msgid "Set current key binding for all contexts?" +msgstr "" diff --git a/po/da_DK.po b/po/da_DK.po new file mode 100644 index 0000000..6c3be82 --- /dev/null +++ b/po/da_DK.po @@ -0,0 +1,190 @@ +# VDR plugin language source file. +# Copyright (C) 2007 Klaus Schmidinger +# This file is distributed under the same license as the VDR package. +# Mogens Elneff , 2004 +# +msgid "" +msgstr "" +"Project-Id-Version: VDR 1.5.7\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-05-01 18:59+0200\n" +"PO-Revision-Date: 2008-02-10 18:28+0100\n" +"Last-Translator: Mogens Elneff \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-15\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Controls VDR via a mouse" +msgstr "" + +msgid "Sensitivity wheel" +msgstr "" + +msgid "Double click time (ms)" +msgstr "" + +msgid "Alternative key binding" +msgstr "" + +msgid "no" +msgstr "" + +msgid "yes" +msgstr "" + +msgid "Toggle click time (ms)" +msgstr "" + +msgid "Show toggle with scroll lock led" +msgstr "" + +msgid "Toggle automatic off" +msgstr "" + +msgid "Toggle off time (ms)" +msgstr "" + +msgid "Extra pushed turn events" +msgstr "" + +msgid "Extra x,y turn events" +msgstr "" + +msgid "Sensitivity x" +msgstr "" + +msgid "Sensitivity y" +msgstr "" + +msgid "DVD sensitive replay context" +msgstr "" + +msgid "MP3 sensitive replay context" +msgstr "" + +msgid "CDDA sensitive replay context" +msgstr "" + +msgid "IMAGE sensitive replay context" +msgstr "" + +msgid "Set keys for context" +msgstr "" + +msgid "Turn wheel left" +msgstr "" + +msgid "Turn wheel right" +msgstr "" + +msgid "Turn x axis left" +msgstr "" + +msgid "Turn x axis right" +msgstr "" + +msgid "Turn y axis left" +msgstr "" + +msgid "Turn y axis right" +msgstr "" + +msgid "Left click" +msgstr "" + +msgid "Left double-click" +msgstr "" + +msgid "Middle click" +msgstr "" + +msgid "Middle double-click" +msgstr "" + +msgid "Middle pushed turn left" +msgstr "" + +msgid "Middle pushed turn right" +msgstr "" + +msgid "Right click" +msgstr "" + +msgid "Right double-click" +msgstr "" + +msgid "Side click" +msgstr "" + +msgid "Side double-click" +msgstr "" + +msgid "Extra click" +msgstr "" + +msgid "Extra double-click" +msgstr "" + +msgid "Forward click" +msgstr "" + +msgid "Forward double-click" +msgstr "" + +msgid "Back click" +msgstr "" + +msgid "Back double-click" +msgstr "" + +msgid "Task click" +msgstr "" + +msgid "Task double-click" +msgstr "" + +msgid "Left pushed turn left" +msgstr "" + +msgid "Left pushed turn right" +msgstr "" + +msgid "Right pushed turn left" +msgstr "" + +msgid "Right pushed turn right" +msgstr "" + +msgid "Side pushed turn left" +msgstr "" + +msgid "Side pushed turn right" +msgstr "" + +msgid "Extra pushed turn left" +msgstr "" + +msgid "Extra pushed turn right" +msgstr "" + +msgid "Forward pushed turn left" +msgstr "" + +msgid "Forward pushed turn right" +msgstr "" + +msgid "Back pushed turn left" +msgstr "" + +msgid "Back pushed turn right" +msgstr "" + +msgid "Task pushed turn left" +msgstr "" + +msgid "Task pushed turn right" +msgstr "" + +msgid "Set current key binding for all contexts?" +msgstr "" diff --git a/po/de_DE.po b/po/de_DE.po new file mode 100644 index 0000000..12a6c56 --- /dev/null +++ b/po/de_DE.po @@ -0,0 +1,192 @@ +# VDR plugin language source file. +# Copyright (C) 2007 Klaus Schmidinger +# This file is distributed under the same license as the VDR package. +# Klaus Schmidinger , 2000 +# +msgid "" +msgstr "" +"Project-Id-Version: VDR 1.5.7\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-05-01 18:22+0200\n" +"PO-Revision-Date: 2008-02-10 18:28+0100\n" +"Last-Translator: Klaus Schmidinger \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-15\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Controls VDR via a mouse" +msgstr "Bedient VDR mit einer Maus" + +msgid "Sensitivity wheel" +msgstr "Sensitivität Rad" + +msgid "Double click time (ms)" +msgstr "Doppelklick Zeit (ms)" + +msgid "Alternative key binding" +msgstr "Alternative Tastenzuordnung" + +msgid "no" +msgstr "nein" + +msgid "yes" +msgstr "ja" + +msgid "Toggle click time (ms)" +msgstr "Umschaltklick Zeit (ms)" + +msgid "Show toggle with scroll lock led" +msgstr "Umschalten mit Scroll-Lock LED zeigen" + +msgid "Toggle automatic off" +msgstr "Umschalten automatisch aus" + +msgid "Toggle off time (ms)" +msgstr "Umschalten aus nach Zeit (ms)" + +msgid "Extra pushed turn events" +msgstr "Extra gedrückte Dreh-Events" + +msgid "Extra x,y turn events" +msgstr "Extra x,y Dreh-Events" + +msgid "Sensitivity x" +msgstr "Sensitivität x" + +msgid "Sensitivity y" +msgstr "Sensitivität y" + +msgid "DVD sensitive replay context" +msgstr "DVD sensitiver Replay Kontext" + +msgid "MP3 sensitive replay context" +msgstr "MP3 sensitiver Replay Kontext" + +msgid "CDDA sensitive replay context" +msgstr "CDDA sensitiver Replay Kontext" + +msgid "IMAGE sensitive replay context" +msgstr "IMAGE sensitiver Replay Kontext" + +msgid "Set keys for context" +msgstr "Setze Tasten für Kontext" + +msgid "Turn wheel left" +msgstr "Rad links drehen" + +msgid "Turn wheel right" +msgstr "Rad rechts drehen" + +msgid "Turn x axis left" +msgstr "X Achse links drehen" + +msgid "Turn x axis right" +msgstr "X Achse rechts drehen" + +msgid "Turn y axis left" +msgstr "Y Achse links drehen" + +msgid "Turn y axis right" +msgstr "Y Achse rechts drehen" + +msgid "Left click" +msgstr "Klick links" + +msgid "Left double-click" +msgstr "Doppelklick links" + +msgid "Middle click" +msgstr "Klick mitte" + +msgid "Middle double-click" +msgstr "Doppelklick mitte" + +msgid "Middle pushed turn left" +msgstr "Mitte gedrückt links drehen" + +msgid "Middle pushed turn right" +msgstr "Mitte gedrückt rechts drehen" + +msgid "Right click" +msgstr "Klick rechts" + +msgid "Right double-click" +msgstr "Doppelklick rechts" + +msgid "Side click" +msgstr "Klick seite" + +msgid "Side double-click" +msgstr "Doppelklick seite" + +msgid "Extra click" +msgstr "Klick extra" + +msgid "Extra double-click" +msgstr "Doppelklick extra" + +msgid "Forward click" +msgstr "Klick vorwärts" + +msgid "Forward double-click" +msgstr "Doppelklick vorwärts" + +msgid "Back click" +msgstr "Klick zurück" + +msgid "Back double-click" +msgstr "Doppelklick zurück" + +msgid "Task click" +msgstr "Klick task" + +msgid "Task double-click" +msgstr "Doppelklick Task" + +msgid "Left pushed turn left" +msgstr "Links gedrückt links drehen" + +msgid "Left pushed turn right" +msgstr "Links gedrückt rechts drehen" + +msgid "Right pushed turn left" +msgstr "Rechts gedrückt links drehen" + +msgid "Right pushed turn right" +msgstr "Rechts gedrückt rechts drehen" + +msgid "Side pushed turn left" +msgstr "Seite gedrückt links drehen" + +msgid "Side pushed turn right" +msgstr "Seite gedrückt rechts drehen" + +msgid "Extra pushed turn left" +msgstr "Extra gedrückt links drehen" + +msgid "Extra pushed turn right" +msgstr "Extra gedrückt rechts drehen" + +msgid "Forward pushed turn left" +msgstr "Vorwärts gedrückt links drehen" + +msgid "Forward pushed turn right" +msgstr "Vorwärts gedrückt rechts drehen" + +msgid "Back pushed turn left" +msgstr "Zurück gedrückt links drehen" + +msgid "Back pushed turn right" +msgstr "Zurück gedrückt rechts drehen" + +msgid "Task pushed turn left" +msgstr "Task gedrückt links drehen" + +msgid "Task pushed turn right" +msgstr "Task gedrückt rechts drehen" + +msgid "Set current key binding for all contexts?" +msgstr "Aktuelle Tastenzuordnung für alle Kontexte setzen?" + + diff --git a/po/de_DE.po~ b/po/de_DE.po~ new file mode 100644 index 0000000..12a6c56 --- /dev/null +++ b/po/de_DE.po~ @@ -0,0 +1,192 @@ +# VDR plugin language source file. +# Copyright (C) 2007 Klaus Schmidinger +# This file is distributed under the same license as the VDR package. +# Klaus Schmidinger , 2000 +# +msgid "" +msgstr "" +"Project-Id-Version: VDR 1.5.7\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-05-01 18:22+0200\n" +"PO-Revision-Date: 2008-02-10 18:28+0100\n" +"Last-Translator: Klaus Schmidinger \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-15\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Controls VDR via a mouse" +msgstr "Bedient VDR mit einer Maus" + +msgid "Sensitivity wheel" +msgstr "Sensitivität Rad" + +msgid "Double click time (ms)" +msgstr "Doppelklick Zeit (ms)" + +msgid "Alternative key binding" +msgstr "Alternative Tastenzuordnung" + +msgid "no" +msgstr "nein" + +msgid "yes" +msgstr "ja" + +msgid "Toggle click time (ms)" +msgstr "Umschaltklick Zeit (ms)" + +msgid "Show toggle with scroll lock led" +msgstr "Umschalten mit Scroll-Lock LED zeigen" + +msgid "Toggle automatic off" +msgstr "Umschalten automatisch aus" + +msgid "Toggle off time (ms)" +msgstr "Umschalten aus nach Zeit (ms)" + +msgid "Extra pushed turn events" +msgstr "Extra gedrückte Dreh-Events" + +msgid "Extra x,y turn events" +msgstr "Extra x,y Dreh-Events" + +msgid "Sensitivity x" +msgstr "Sensitivität x" + +msgid "Sensitivity y" +msgstr "Sensitivität y" + +msgid "DVD sensitive replay context" +msgstr "DVD sensitiver Replay Kontext" + +msgid "MP3 sensitive replay context" +msgstr "MP3 sensitiver Replay Kontext" + +msgid "CDDA sensitive replay context" +msgstr "CDDA sensitiver Replay Kontext" + +msgid "IMAGE sensitive replay context" +msgstr "IMAGE sensitiver Replay Kontext" + +msgid "Set keys for context" +msgstr "Setze Tasten für Kontext" + +msgid "Turn wheel left" +msgstr "Rad links drehen" + +msgid "Turn wheel right" +msgstr "Rad rechts drehen" + +msgid "Turn x axis left" +msgstr "X Achse links drehen" + +msgid "Turn x axis right" +msgstr "X Achse rechts drehen" + +msgid "Turn y axis left" +msgstr "Y Achse links drehen" + +msgid "Turn y axis right" +msgstr "Y Achse rechts drehen" + +msgid "Left click" +msgstr "Klick links" + +msgid "Left double-click" +msgstr "Doppelklick links" + +msgid "Middle click" +msgstr "Klick mitte" + +msgid "Middle double-click" +msgstr "Doppelklick mitte" + +msgid "Middle pushed turn left" +msgstr "Mitte gedrückt links drehen" + +msgid "Middle pushed turn right" +msgstr "Mitte gedrückt rechts drehen" + +msgid "Right click" +msgstr "Klick rechts" + +msgid "Right double-click" +msgstr "Doppelklick rechts" + +msgid "Side click" +msgstr "Klick seite" + +msgid "Side double-click" +msgstr "Doppelklick seite" + +msgid "Extra click" +msgstr "Klick extra" + +msgid "Extra double-click" +msgstr "Doppelklick extra" + +msgid "Forward click" +msgstr "Klick vorwärts" + +msgid "Forward double-click" +msgstr "Doppelklick vorwärts" + +msgid "Back click" +msgstr "Klick zurück" + +msgid "Back double-click" +msgstr "Doppelklick zurück" + +msgid "Task click" +msgstr "Klick task" + +msgid "Task double-click" +msgstr "Doppelklick Task" + +msgid "Left pushed turn left" +msgstr "Links gedrückt links drehen" + +msgid "Left pushed turn right" +msgstr "Links gedrückt rechts drehen" + +msgid "Right pushed turn left" +msgstr "Rechts gedrückt links drehen" + +msgid "Right pushed turn right" +msgstr "Rechts gedrückt rechts drehen" + +msgid "Side pushed turn left" +msgstr "Seite gedrückt links drehen" + +msgid "Side pushed turn right" +msgstr "Seite gedrückt rechts drehen" + +msgid "Extra pushed turn left" +msgstr "Extra gedrückt links drehen" + +msgid "Extra pushed turn right" +msgstr "Extra gedrückt rechts drehen" + +msgid "Forward pushed turn left" +msgstr "Vorwärts gedrückt links drehen" + +msgid "Forward pushed turn right" +msgstr "Vorwärts gedrückt rechts drehen" + +msgid "Back pushed turn left" +msgstr "Zurück gedrückt links drehen" + +msgid "Back pushed turn right" +msgstr "Zurück gedrückt rechts drehen" + +msgid "Task pushed turn left" +msgstr "Task gedrückt links drehen" + +msgid "Task pushed turn right" +msgstr "Task gedrückt rechts drehen" + +msgid "Set current key binding for all contexts?" +msgstr "Aktuelle Tastenzuordnung für alle Kontexte setzen?" + + diff --git a/po/el_GR.po b/po/el_GR.po new file mode 100644 index 0000000..cddce3a --- /dev/null +++ b/po/el_GR.po @@ -0,0 +1,190 @@ +# VDR plugin language source file. +# Copyright (C) 2007 Klaus Schmidinger +# This file is distributed under the same license as the VDR package. +# Dimitrios Dimitrakos , 2002 +# +msgid "" +msgstr "" +"Project-Id-Version: VDR 1.5.7\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-05-01 18:59+0200\n" +"PO-Revision-Date: 2008-02-10 18:28+0100\n" +"Last-Translator: Dimitrios Dimitrakos \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-7\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Controls VDR via a mouse" +msgstr "" + +msgid "Sensitivity wheel" +msgstr "" + +msgid "Double click time (ms)" +msgstr "" + +msgid "Alternative key binding" +msgstr "" + +msgid "no" +msgstr "" + +msgid "yes" +msgstr "" + +msgid "Toggle click time (ms)" +msgstr "" + +msgid "Show toggle with scroll lock led" +msgstr "" + +msgid "Toggle automatic off" +msgstr "" + +msgid "Toggle off time (ms)" +msgstr "" + +msgid "Extra pushed turn events" +msgstr "" + +msgid "Extra x,y turn events" +msgstr "" + +msgid "Sensitivity x" +msgstr "" + +msgid "Sensitivity y" +msgstr "" + +msgid "DVD sensitive replay context" +msgstr "" + +msgid "MP3 sensitive replay context" +msgstr "" + +msgid "CDDA sensitive replay context" +msgstr "" + +msgid "IMAGE sensitive replay context" +msgstr "" + +msgid "Set keys for context" +msgstr "" + +msgid "Turn wheel left" +msgstr "" + +msgid "Turn wheel right" +msgstr "" + +msgid "Turn x axis left" +msgstr "" + +msgid "Turn x axis right" +msgstr "" + +msgid "Turn y axis left" +msgstr "" + +msgid "Turn y axis right" +msgstr "" + +msgid "Left click" +msgstr "" + +msgid "Left double-click" +msgstr "" + +msgid "Middle click" +msgstr "" + +msgid "Middle double-click" +msgstr "" + +msgid "Middle pushed turn left" +msgstr "" + +msgid "Middle pushed turn right" +msgstr "" + +msgid "Right click" +msgstr "" + +msgid "Right double-click" +msgstr "" + +msgid "Side click" +msgstr "" + +msgid "Side double-click" +msgstr "" + +msgid "Extra click" +msgstr "" + +msgid "Extra double-click" +msgstr "" + +msgid "Forward click" +msgstr "" + +msgid "Forward double-click" +msgstr "" + +msgid "Back click" +msgstr "" + +msgid "Back double-click" +msgstr "" + +msgid "Task click" +msgstr "" + +msgid "Task double-click" +msgstr "" + +msgid "Left pushed turn left" +msgstr "" + +msgid "Left pushed turn right" +msgstr "" + +msgid "Right pushed turn left" +msgstr "" + +msgid "Right pushed turn right" +msgstr "" + +msgid "Side pushed turn left" +msgstr "" + +msgid "Side pushed turn right" +msgstr "" + +msgid "Extra pushed turn left" +msgstr "" + +msgid "Extra pushed turn right" +msgstr "" + +msgid "Forward pushed turn left" +msgstr "" + +msgid "Forward pushed turn right" +msgstr "" + +msgid "Back pushed turn left" +msgstr "" + +msgid "Back pushed turn right" +msgstr "" + +msgid "Task pushed turn left" +msgstr "" + +msgid "Task pushed turn right" +msgstr "" + +msgid "Set current key binding for all contexts?" +msgstr "" diff --git a/po/es_ES.po b/po/es_ES.po new file mode 100644 index 0000000..4a0e1ad --- /dev/null +++ b/po/es_ES.po @@ -0,0 +1,190 @@ +# VDR plugin language source file. +# Copyright (C) 2007 Klaus Schmidinger +# This file is distributed under the same license as the VDR package. +# Ruben Nunez Francisco , 2002 +# +msgid "" +msgstr "" +"Project-Id-Version: VDR 1.5.7\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-05-01 18:59+0200\n" +"PO-Revision-Date: 2008-02-10 18:28+0100\n" +"Last-Translator: Ruben Nunez Francisco \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-15\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Controls VDR via a mouse" +msgstr "" + +msgid "Sensitivity wheel" +msgstr "" + +msgid "Double click time (ms)" +msgstr "" + +msgid "Alternative key binding" +msgstr "" + +msgid "no" +msgstr "" + +msgid "yes" +msgstr "" + +msgid "Toggle click time (ms)" +msgstr "" + +msgid "Show toggle with scroll lock led" +msgstr "" + +msgid "Toggle automatic off" +msgstr "" + +msgid "Toggle off time (ms)" +msgstr "" + +msgid "Extra pushed turn events" +msgstr "" + +msgid "Extra x,y turn events" +msgstr "" + +msgid "Sensitivity x" +msgstr "" + +msgid "Sensitivity y" +msgstr "" + +msgid "DVD sensitive replay context" +msgstr "" + +msgid "MP3 sensitive replay context" +msgstr "" + +msgid "CDDA sensitive replay context" +msgstr "" + +msgid "IMAGE sensitive replay context" +msgstr "" + +msgid "Set keys for context" +msgstr "" + +msgid "Turn wheel left" +msgstr "" + +msgid "Turn wheel right" +msgstr "" + +msgid "Turn x axis left" +msgstr "" + +msgid "Turn x axis right" +msgstr "" + +msgid "Turn y axis left" +msgstr "" + +msgid "Turn y axis right" +msgstr "" + +msgid "Left click" +msgstr "" + +msgid "Left double-click" +msgstr "" + +msgid "Middle click" +msgstr "" + +msgid "Middle double-click" +msgstr "" + +msgid "Middle pushed turn left" +msgstr "" + +msgid "Middle pushed turn right" +msgstr "" + +msgid "Right click" +msgstr "" + +msgid "Right double-click" +msgstr "" + +msgid "Side click" +msgstr "" + +msgid "Side double-click" +msgstr "" + +msgid "Extra click" +msgstr "" + +msgid "Extra double-click" +msgstr "" + +msgid "Forward click" +msgstr "" + +msgid "Forward double-click" +msgstr "" + +msgid "Back click" +msgstr "" + +msgid "Back double-click" +msgstr "" + +msgid "Task click" +msgstr "" + +msgid "Task double-click" +msgstr "" + +msgid "Left pushed turn left" +msgstr "" + +msgid "Left pushed turn right" +msgstr "" + +msgid "Right pushed turn left" +msgstr "" + +msgid "Right pushed turn right" +msgstr "" + +msgid "Side pushed turn left" +msgstr "" + +msgid "Side pushed turn right" +msgstr "" + +msgid "Extra pushed turn left" +msgstr "" + +msgid "Extra pushed turn right" +msgstr "" + +msgid "Forward pushed turn left" +msgstr "" + +msgid "Forward pushed turn right" +msgstr "" + +msgid "Back pushed turn left" +msgstr "" + +msgid "Back pushed turn right" +msgstr "" + +msgid "Task pushed turn left" +msgstr "" + +msgid "Task pushed turn right" +msgstr "" + +msgid "Set current key binding for all contexts?" +msgstr "" diff --git a/po/et_EE.po b/po/et_EE.po new file mode 100644 index 0000000..24a2614 --- /dev/null +++ b/po/et_EE.po @@ -0,0 +1,190 @@ +# VDR plugin language source file. +# Copyright (C) 2007 Klaus Schmidinger +# This file is distributed under the same license as the VDR package. +# Arthur Konovalov , 2004 +# +msgid "" +msgstr "" +"Project-Id-Version: VDR 1.5.7\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-05-01 18:59+0200\n" +"PO-Revision-Date: 2008-02-10 18:28+0100\n" +"Last-Translator: Arthur Konovalov \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-13\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Controls VDR via a mouse" +msgstr "" + +msgid "Sensitivity wheel" +msgstr "" + +msgid "Double click time (ms)" +msgstr "" + +msgid "Alternative key binding" +msgstr "" + +msgid "no" +msgstr "" + +msgid "yes" +msgstr "" + +msgid "Toggle click time (ms)" +msgstr "" + +msgid "Show toggle with scroll lock led" +msgstr "" + +msgid "Toggle automatic off" +msgstr "" + +msgid "Toggle off time (ms)" +msgstr "" + +msgid "Extra pushed turn events" +msgstr "" + +msgid "Extra x,y turn events" +msgstr "" + +msgid "Sensitivity x" +msgstr "" + +msgid "Sensitivity y" +msgstr "" + +msgid "DVD sensitive replay context" +msgstr "" + +msgid "MP3 sensitive replay context" +msgstr "" + +msgid "CDDA sensitive replay context" +msgstr "" + +msgid "IMAGE sensitive replay context" +msgstr "" + +msgid "Set keys for context" +msgstr "" + +msgid "Turn wheel left" +msgstr "" + +msgid "Turn wheel right" +msgstr "" + +msgid "Turn x axis left" +msgstr "" + +msgid "Turn x axis right" +msgstr "" + +msgid "Turn y axis left" +msgstr "" + +msgid "Turn y axis right" +msgstr "" + +msgid "Left click" +msgstr "" + +msgid "Left double-click" +msgstr "" + +msgid "Middle click" +msgstr "" + +msgid "Middle double-click" +msgstr "" + +msgid "Middle pushed turn left" +msgstr "" + +msgid "Middle pushed turn right" +msgstr "" + +msgid "Right click" +msgstr "" + +msgid "Right double-click" +msgstr "" + +msgid "Side click" +msgstr "" + +msgid "Side double-click" +msgstr "" + +msgid "Extra click" +msgstr "" + +msgid "Extra double-click" +msgstr "" + +msgid "Forward click" +msgstr "" + +msgid "Forward double-click" +msgstr "" + +msgid "Back click" +msgstr "" + +msgid "Back double-click" +msgstr "" + +msgid "Task click" +msgstr "" + +msgid "Task double-click" +msgstr "" + +msgid "Left pushed turn left" +msgstr "" + +msgid "Left pushed turn right" +msgstr "" + +msgid "Right pushed turn left" +msgstr "" + +msgid "Right pushed turn right" +msgstr "" + +msgid "Side pushed turn left" +msgstr "" + +msgid "Side pushed turn right" +msgstr "" + +msgid "Extra pushed turn left" +msgstr "" + +msgid "Extra pushed turn right" +msgstr "" + +msgid "Forward pushed turn left" +msgstr "" + +msgid "Forward pushed turn right" +msgstr "" + +msgid "Back pushed turn left" +msgstr "" + +msgid "Back pushed turn right" +msgstr "" + +msgid "Task pushed turn left" +msgstr "" + +msgid "Task pushed turn right" +msgstr "" + +msgid "Set current key binding for all contexts?" +msgstr "" diff --git a/po/fi_FI.po b/po/fi_FI.po new file mode 100644 index 0000000..c0be026 --- /dev/null +++ b/po/fi_FI.po @@ -0,0 +1,193 @@ +# VDR plugin language source file. +# Copyright (C) 2007 Klaus Schmidinger +# This file is distributed under the same license as the VDR package. +# Hannu Savolainen , 2002 +# Jaakko Hyvätti , 2002 +# Niko Tarnanen , 2003 +# Rolf Ahrenberg , 2003 +# +msgid "" +msgstr "" +"Project-Id-Version: VDR 1.5.7\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-05-01 18:59+0200\n" +"PO-Revision-Date: 2008-02-10 18:28+0100\n" +"Last-Translator: Rolf Ahrenberg \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-15\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Controls VDR via a mouse" +msgstr "" + +msgid "Sensitivity wheel" +msgstr "" + +msgid "Double click time (ms)" +msgstr "" + +msgid "Alternative key binding" +msgstr "" + +msgid "no" +msgstr "" + +msgid "yes" +msgstr "" + +msgid "Toggle click time (ms)" +msgstr "" + +msgid "Show toggle with scroll lock led" +msgstr "" + +msgid "Toggle automatic off" +msgstr "" + +msgid "Toggle off time (ms)" +msgstr "" + +msgid "Extra pushed turn events" +msgstr "" + +msgid "Extra x,y turn events" +msgstr "" + +msgid "Sensitivity x" +msgstr "" + +msgid "Sensitivity y" +msgstr "" + +msgid "DVD sensitive replay context" +msgstr "" + +msgid "MP3 sensitive replay context" +msgstr "" + +msgid "CDDA sensitive replay context" +msgstr "" + +msgid "IMAGE sensitive replay context" +msgstr "" + +msgid "Set keys for context" +msgstr "" + +msgid "Turn wheel left" +msgstr "" + +msgid "Turn wheel right" +msgstr "" + +msgid "Turn x axis left" +msgstr "" + +msgid "Turn x axis right" +msgstr "" + +msgid "Turn y axis left" +msgstr "" + +msgid "Turn y axis right" +msgstr "" + +msgid "Left click" +msgstr "" + +msgid "Left double-click" +msgstr "" + +msgid "Middle click" +msgstr "" + +msgid "Middle double-click" +msgstr "" + +msgid "Middle pushed turn left" +msgstr "" + +msgid "Middle pushed turn right" +msgstr "" + +msgid "Right click" +msgstr "" + +msgid "Right double-click" +msgstr "" + +msgid "Side click" +msgstr "" + +msgid "Side double-click" +msgstr "" + +msgid "Extra click" +msgstr "" + +msgid "Extra double-click" +msgstr "" + +msgid "Forward click" +msgstr "" + +msgid "Forward double-click" +msgstr "" + +msgid "Back click" +msgstr "" + +msgid "Back double-click" +msgstr "" + +msgid "Task click" +msgstr "" + +msgid "Task double-click" +msgstr "" + +msgid "Left pushed turn left" +msgstr "" + +msgid "Left pushed turn right" +msgstr "" + +msgid "Right pushed turn left" +msgstr "" + +msgid "Right pushed turn right" +msgstr "" + +msgid "Side pushed turn left" +msgstr "" + +msgid "Side pushed turn right" +msgstr "" + +msgid "Extra pushed turn left" +msgstr "" + +msgid "Extra pushed turn right" +msgstr "" + +msgid "Forward pushed turn left" +msgstr "" + +msgid "Forward pushed turn right" +msgstr "" + +msgid "Back pushed turn left" +msgstr "" + +msgid "Back pushed turn right" +msgstr "" + +msgid "Task pushed turn left" +msgstr "" + +msgid "Task pushed turn right" +msgstr "" + +msgid "Set current key binding for all contexts?" +msgstr "" diff --git a/po/fr_FR.po b/po/fr_FR.po new file mode 100644 index 0000000..aec1665 --- /dev/null +++ b/po/fr_FR.po @@ -0,0 +1,193 @@ +# VDR plugin language source file. +# Copyright (C) 2007 Klaus Schmidinger +# This file is distributed under the same license as the VDR package. +# Jean-Claude Repetto , 2001 +# Olivier Jacques , 2003 +# Gregoire Favre , 2003 +# Nicolas Huillard , 2005 +# +msgid "" +msgstr "" +"Project-Id-Version: VDR 1.5.7\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-05-01 18:59+0200\n" +"PO-Revision-Date: 2008-02-10 18:28+0100\n" +"Last-Translator: Nicolas Huillard \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Controls VDR via a mouse" +msgstr "" + +msgid "Sensitivity wheel" +msgstr "" + +msgid "Double click time (ms)" +msgstr "" + +msgid "Alternative key binding" +msgstr "" + +msgid "no" +msgstr "" + +msgid "yes" +msgstr "" + +msgid "Toggle click time (ms)" +msgstr "" + +msgid "Show toggle with scroll lock led" +msgstr "" + +msgid "Toggle automatic off" +msgstr "" + +msgid "Toggle off time (ms)" +msgstr "" + +msgid "Extra pushed turn events" +msgstr "" + +msgid "Extra x,y turn events" +msgstr "" + +msgid "Sensitivity x" +msgstr "" + +msgid "Sensitivity y" +msgstr "" + +msgid "DVD sensitive replay context" +msgstr "" + +msgid "MP3 sensitive replay context" +msgstr "" + +msgid "CDDA sensitive replay context" +msgstr "" + +msgid "IMAGE sensitive replay context" +msgstr "" + +msgid "Set keys for context" +msgstr "" + +msgid "Turn wheel left" +msgstr "" + +msgid "Turn wheel right" +msgstr "" + +msgid "Turn x axis left" +msgstr "" + +msgid "Turn x axis right" +msgstr "" + +msgid "Turn y axis left" +msgstr "" + +msgid "Turn y axis right" +msgstr "" + +msgid "Left click" +msgstr "" + +msgid "Left double-click" +msgstr "" + +msgid "Middle click" +msgstr "" + +msgid "Middle double-click" +msgstr "" + +msgid "Middle pushed turn left" +msgstr "" + +msgid "Middle pushed turn right" +msgstr "" + +msgid "Right click" +msgstr "" + +msgid "Right double-click" +msgstr "" + +msgid "Side click" +msgstr "" + +msgid "Side double-click" +msgstr "" + +msgid "Extra click" +msgstr "" + +msgid "Extra double-click" +msgstr "" + +msgid "Forward click" +msgstr "" + +msgid "Forward double-click" +msgstr "" + +msgid "Back click" +msgstr "" + +msgid "Back double-click" +msgstr "" + +msgid "Task click" +msgstr "" + +msgid "Task double-click" +msgstr "" + +msgid "Left pushed turn left" +msgstr "" + +msgid "Left pushed turn right" +msgstr "" + +msgid "Right pushed turn left" +msgstr "" + +msgid "Right pushed turn right" +msgstr "" + +msgid "Side pushed turn left" +msgstr "" + +msgid "Side pushed turn right" +msgstr "" + +msgid "Extra pushed turn left" +msgstr "" + +msgid "Extra pushed turn right" +msgstr "" + +msgid "Forward pushed turn left" +msgstr "" + +msgid "Forward pushed turn right" +msgstr "" + +msgid "Back pushed turn left" +msgstr "" + +msgid "Back pushed turn right" +msgstr "" + +msgid "Task pushed turn left" +msgstr "" + +msgid "Task pushed turn right" +msgstr "" + +msgid "Set current key binding for all contexts?" +msgstr "" diff --git a/po/hr_HR.po b/po/hr_HR.po new file mode 100644 index 0000000..2535c59 --- /dev/null +++ b/po/hr_HR.po @@ -0,0 +1,191 @@ +# VDR plugin language source file. +# Copyright (C) 2007 Klaus Schmidinger +# This file is distributed under the same license as the VDR package. +# Drazen Dupor , 2004 +# Dino Ravnic , 2004 +# +msgid "" +msgstr "" +"Project-Id-Version: VDR 1.5.7\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-05-01 18:59+0200\n" +"PO-Revision-Date: 2008-02-10 18:28+0100\n" +"Last-Translator: Drazen Dupor \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-2\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Controls VDR via a mouse" +msgstr "" + +msgid "Sensitivity wheel" +msgstr "" + +msgid "Double click time (ms)" +msgstr "" + +msgid "Alternative key binding" +msgstr "" + +msgid "no" +msgstr "" + +msgid "yes" +msgstr "" + +msgid "Toggle click time (ms)" +msgstr "" + +msgid "Show toggle with scroll lock led" +msgstr "" + +msgid "Toggle automatic off" +msgstr "" + +msgid "Toggle off time (ms)" +msgstr "" + +msgid "Extra pushed turn events" +msgstr "" + +msgid "Extra x,y turn events" +msgstr "" + +msgid "Sensitivity x" +msgstr "" + +msgid "Sensitivity y" +msgstr "" + +msgid "DVD sensitive replay context" +msgstr "" + +msgid "MP3 sensitive replay context" +msgstr "" + +msgid "CDDA sensitive replay context" +msgstr "" + +msgid "IMAGE sensitive replay context" +msgstr "" + +msgid "Set keys for context" +msgstr "" + +msgid "Turn wheel left" +msgstr "" + +msgid "Turn wheel right" +msgstr "" + +msgid "Turn x axis left" +msgstr "" + +msgid "Turn x axis right" +msgstr "" + +msgid "Turn y axis left" +msgstr "" + +msgid "Turn y axis right" +msgstr "" + +msgid "Left click" +msgstr "" + +msgid "Left double-click" +msgstr "" + +msgid "Middle click" +msgstr "" + +msgid "Middle double-click" +msgstr "" + +msgid "Middle pushed turn left" +msgstr "" + +msgid "Middle pushed turn right" +msgstr "" + +msgid "Right click" +msgstr "" + +msgid "Right double-click" +msgstr "" + +msgid "Side click" +msgstr "" + +msgid "Side double-click" +msgstr "" + +msgid "Extra click" +msgstr "" + +msgid "Extra double-click" +msgstr "" + +msgid "Forward click" +msgstr "" + +msgid "Forward double-click" +msgstr "" + +msgid "Back click" +msgstr "" + +msgid "Back double-click" +msgstr "" + +msgid "Task click" +msgstr "" + +msgid "Task double-click" +msgstr "" + +msgid "Left pushed turn left" +msgstr "" + +msgid "Left pushed turn right" +msgstr "" + +msgid "Right pushed turn left" +msgstr "" + +msgid "Right pushed turn right" +msgstr "" + +msgid "Side pushed turn left" +msgstr "" + +msgid "Side pushed turn right" +msgstr "" + +msgid "Extra pushed turn left" +msgstr "" + +msgid "Extra pushed turn right" +msgstr "" + +msgid "Forward pushed turn left" +msgstr "" + +msgid "Forward pushed turn right" +msgstr "" + +msgid "Back pushed turn left" +msgstr "" + +msgid "Back pushed turn right" +msgstr "" + +msgid "Task pushed turn left" +msgstr "" + +msgid "Task pushed turn right" +msgstr "" + +msgid "Set current key binding for all contexts?" +msgstr "" diff --git a/po/hu_HU.po b/po/hu_HU.po new file mode 100644 index 0000000..929813f --- /dev/null +++ b/po/hu_HU.po @@ -0,0 +1,191 @@ +# VDR plugin language source file. +# Copyright (C) 2007 Klaus Schmidinger +# This file is distributed under the same license as the VDR package. +# Istvan Koenigsberger , 2002 +# Guido Josten , 2002 +# +msgid "" +msgstr "" +"Project-Id-Version: VDR 1.5.7\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-05-01 18:59+0200\n" +"PO-Revision-Date: 2008-02-10 18:28+0100\n" +"Last-Translator: Istvan Koenigsberger , Guido Josten \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-2\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Controls VDR via a mouse" +msgstr "" + +msgid "Sensitivity wheel" +msgstr "" + +msgid "Double click time (ms)" +msgstr "" + +msgid "Alternative key binding" +msgstr "" + +msgid "no" +msgstr "" + +msgid "yes" +msgstr "" + +msgid "Toggle click time (ms)" +msgstr "" + +msgid "Show toggle with scroll lock led" +msgstr "" + +msgid "Toggle automatic off" +msgstr "" + +msgid "Toggle off time (ms)" +msgstr "" + +msgid "Extra pushed turn events" +msgstr "" + +msgid "Extra x,y turn events" +msgstr "" + +msgid "Sensitivity x" +msgstr "" + +msgid "Sensitivity y" +msgstr "" + +msgid "DVD sensitive replay context" +msgstr "" + +msgid "MP3 sensitive replay context" +msgstr "" + +msgid "CDDA sensitive replay context" +msgstr "" + +msgid "IMAGE sensitive replay context" +msgstr "" + +msgid "Set keys for context" +msgstr "" + +msgid "Turn wheel left" +msgstr "" + +msgid "Turn wheel right" +msgstr "" + +msgid "Turn x axis left" +msgstr "" + +msgid "Turn x axis right" +msgstr "" + +msgid "Turn y axis left" +msgstr "" + +msgid "Turn y axis right" +msgstr "" + +msgid "Left click" +msgstr "" + +msgid "Left double-click" +msgstr "" + +msgid "Middle click" +msgstr "" + +msgid "Middle double-click" +msgstr "" + +msgid "Middle pushed turn left" +msgstr "" + +msgid "Middle pushed turn right" +msgstr "" + +msgid "Right click" +msgstr "" + +msgid "Right double-click" +msgstr "" + +msgid "Side click" +msgstr "" + +msgid "Side double-click" +msgstr "" + +msgid "Extra click" +msgstr "" + +msgid "Extra double-click" +msgstr "" + +msgid "Forward click" +msgstr "" + +msgid "Forward double-click" +msgstr "" + +msgid "Back click" +msgstr "" + +msgid "Back double-click" +msgstr "" + +msgid "Task click" +msgstr "" + +msgid "Task double-click" +msgstr "" + +msgid "Left pushed turn left" +msgstr "" + +msgid "Left pushed turn right" +msgstr "" + +msgid "Right pushed turn left" +msgstr "" + +msgid "Right pushed turn right" +msgstr "" + +msgid "Side pushed turn left" +msgstr "" + +msgid "Side pushed turn right" +msgstr "" + +msgid "Extra pushed turn left" +msgstr "" + +msgid "Extra pushed turn right" +msgstr "" + +msgid "Forward pushed turn left" +msgstr "" + +msgid "Forward pushed turn right" +msgstr "" + +msgid "Back pushed turn left" +msgstr "" + +msgid "Back pushed turn right" +msgstr "" + +msgid "Task pushed turn left" +msgstr "" + +msgid "Task pushed turn right" +msgstr "" + +msgid "Set current key binding for all contexts?" +msgstr "" diff --git a/po/it_IT.po b/po/it_IT.po new file mode 100644 index 0000000..cad5818 --- /dev/null +++ b/po/it_IT.po @@ -0,0 +1,192 @@ +# VDR plugin language source file. +# Copyright (C) 2007 Klaus Schmidinger +# This file is distributed under the same license as the VDR package. +# Alberto Carraro , 2001 +# Antonio Ospite , 2003 +# Sean Carlos , 2005 +# +msgid "" +msgstr "" +"Project-Id-Version: VDR 1.5.7\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-05-01 18:59+0200\n" +"PO-Revision-Date: 2008-02-10 18:28+0100\n" +"Last-Translator: Sean Carlos \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-15\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Controls VDR via a mouse" +msgstr "" + +msgid "Sensitivity wheel" +msgstr "" + +msgid "Double click time (ms)" +msgstr "" + +msgid "Alternative key binding" +msgstr "" + +msgid "no" +msgstr "" + +msgid "yes" +msgstr "" + +msgid "Toggle click time (ms)" +msgstr "" + +msgid "Show toggle with scroll lock led" +msgstr "" + +msgid "Toggle automatic off" +msgstr "" + +msgid "Toggle off time (ms)" +msgstr "" + +msgid "Extra pushed turn events" +msgstr "" + +msgid "Extra x,y turn events" +msgstr "" + +msgid "Sensitivity x" +msgstr "" + +msgid "Sensitivity y" +msgstr "" + +msgid "DVD sensitive replay context" +msgstr "" + +msgid "MP3 sensitive replay context" +msgstr "" + +msgid "CDDA sensitive replay context" +msgstr "" + +msgid "IMAGE sensitive replay context" +msgstr "" + +msgid "Set keys for context" +msgstr "" + +msgid "Turn wheel left" +msgstr "" + +msgid "Turn wheel right" +msgstr "" + +msgid "Turn x axis left" +msgstr "" + +msgid "Turn x axis right" +msgstr "" + +msgid "Turn y axis left" +msgstr "" + +msgid "Turn y axis right" +msgstr "" + +msgid "Left click" +msgstr "" + +msgid "Left double-click" +msgstr "" + +msgid "Middle click" +msgstr "" + +msgid "Middle double-click" +msgstr "" + +msgid "Middle pushed turn left" +msgstr "" + +msgid "Middle pushed turn right" +msgstr "" + +msgid "Right click" +msgstr "" + +msgid "Right double-click" +msgstr "" + +msgid "Side click" +msgstr "" + +msgid "Side double-click" +msgstr "" + +msgid "Extra click" +msgstr "" + +msgid "Extra double-click" +msgstr "" + +msgid "Forward click" +msgstr "" + +msgid "Forward double-click" +msgstr "" + +msgid "Back click" +msgstr "" + +msgid "Back double-click" +msgstr "" + +msgid "Task click" +msgstr "" + +msgid "Task double-click" +msgstr "" + +msgid "Left pushed turn left" +msgstr "" + +msgid "Left pushed turn right" +msgstr "" + +msgid "Right pushed turn left" +msgstr "" + +msgid "Right pushed turn right" +msgstr "" + +msgid "Side pushed turn left" +msgstr "" + +msgid "Side pushed turn right" +msgstr "" + +msgid "Extra pushed turn left" +msgstr "" + +msgid "Extra pushed turn right" +msgstr "" + +msgid "Forward pushed turn left" +msgstr "" + +msgid "Forward pushed turn right" +msgstr "" + +msgid "Back pushed turn left" +msgstr "" + +msgid "Back pushed turn right" +msgstr "" + +msgid "Task pushed turn left" +msgstr "" + +msgid "Task pushed turn right" +msgstr "" + +msgid "Set current key binding for all contexts?" +msgstr "" diff --git a/po/nl_NL.po b/po/nl_NL.po new file mode 100644 index 0000000..50b6e2a --- /dev/null +++ b/po/nl_NL.po @@ -0,0 +1,192 @@ +# VDR plugin language source file. +# Copyright (C) 2007 Klaus Schmidinger +# This file is distributed under the same license as the VDR package. +# Arnold Niessen , 2001 +# Hans Dingemans , 2003 +# Maarten Wisse , 2005 +# +msgid "" +msgstr "" +"Project-Id-Version: VDR 1.5.7\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-05-01 18:59+0200\n" +"PO-Revision-Date: 2008-02-10 18:28+0100\n" +"Last-Translator: Maarten Wisse \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-15\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Controls VDR via a mouse" +msgstr "" + +msgid "Sensitivity wheel" +msgstr "" + +msgid "Double click time (ms)" +msgstr "" + +msgid "Alternative key binding" +msgstr "" + +msgid "no" +msgstr "" + +msgid "yes" +msgstr "" + +msgid "Toggle click time (ms)" +msgstr "" + +msgid "Show toggle with scroll lock led" +msgstr "" + +msgid "Toggle automatic off" +msgstr "" + +msgid "Toggle off time (ms)" +msgstr "" + +msgid "Extra pushed turn events" +msgstr "" + +msgid "Extra x,y turn events" +msgstr "" + +msgid "Sensitivity x" +msgstr "" + +msgid "Sensitivity y" +msgstr "" + +msgid "DVD sensitive replay context" +msgstr "" + +msgid "MP3 sensitive replay context" +msgstr "" + +msgid "CDDA sensitive replay context" +msgstr "" + +msgid "IMAGE sensitive replay context" +msgstr "" + +msgid "Set keys for context" +msgstr "" + +msgid "Turn wheel left" +msgstr "" + +msgid "Turn wheel right" +msgstr "" + +msgid "Turn x axis left" +msgstr "" + +msgid "Turn x axis right" +msgstr "" + +msgid "Turn y axis left" +msgstr "" + +msgid "Turn y axis right" +msgstr "" + +msgid "Left click" +msgstr "" + +msgid "Left double-click" +msgstr "" + +msgid "Middle click" +msgstr "" + +msgid "Middle double-click" +msgstr "" + +msgid "Middle pushed turn left" +msgstr "" + +msgid "Middle pushed turn right" +msgstr "" + +msgid "Right click" +msgstr "" + +msgid "Right double-click" +msgstr "" + +msgid "Side click" +msgstr "" + +msgid "Side double-click" +msgstr "" + +msgid "Extra click" +msgstr "" + +msgid "Extra double-click" +msgstr "" + +msgid "Forward click" +msgstr "" + +msgid "Forward double-click" +msgstr "" + +msgid "Back click" +msgstr "" + +msgid "Back double-click" +msgstr "" + +msgid "Task click" +msgstr "" + +msgid "Task double-click" +msgstr "" + +msgid "Left pushed turn left" +msgstr "" + +msgid "Left pushed turn right" +msgstr "" + +msgid "Right pushed turn left" +msgstr "" + +msgid "Right pushed turn right" +msgstr "" + +msgid "Side pushed turn left" +msgstr "" + +msgid "Side pushed turn right" +msgstr "" + +msgid "Extra pushed turn left" +msgstr "" + +msgid "Extra pushed turn right" +msgstr "" + +msgid "Forward pushed turn left" +msgstr "" + +msgid "Forward pushed turn right" +msgstr "" + +msgid "Back pushed turn left" +msgstr "" + +msgid "Back pushed turn right" +msgstr "" + +msgid "Task pushed turn left" +msgstr "" + +msgid "Task pushed turn right" +msgstr "" + +msgid "Set current key binding for all contexts?" +msgstr "" diff --git a/po/nn_NO.po b/po/nn_NO.po new file mode 100644 index 0000000..3f4fb4e --- /dev/null +++ b/po/nn_NO.po @@ -0,0 +1,191 @@ +# VDR plugin language source file. +# Copyright (C) 2007 Klaus Schmidinger +# This file is distributed under the same license as the VDR package. +# Jørgen Tvedt , 2001 +# Truls Slevigen , 2002 +# +msgid "" +msgstr "" +"Project-Id-Version: VDR 1.5.7\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-05-01 18:59+0200\n" +"PO-Revision-Date: 2008-02-10 18:28+0100\n" +"Last-Translator: Truls Slevigen \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Controls VDR via a mouse" +msgstr "" + +msgid "Sensitivity wheel" +msgstr "" + +msgid "Double click time (ms)" +msgstr "" + +msgid "Alternative key binding" +msgstr "" + +msgid "no" +msgstr "" + +msgid "yes" +msgstr "" + +msgid "Toggle click time (ms)" +msgstr "" + +msgid "Show toggle with scroll lock led" +msgstr "" + +msgid "Toggle automatic off" +msgstr "" + +msgid "Toggle off time (ms)" +msgstr "" + +msgid "Extra pushed turn events" +msgstr "" + +msgid "Extra x,y turn events" +msgstr "" + +msgid "Sensitivity x" +msgstr "" + +msgid "Sensitivity y" +msgstr "" + +msgid "DVD sensitive replay context" +msgstr "" + +msgid "MP3 sensitive replay context" +msgstr "" + +msgid "CDDA sensitive replay context" +msgstr "" + +msgid "IMAGE sensitive replay context" +msgstr "" + +msgid "Set keys for context" +msgstr "" + +msgid "Turn wheel left" +msgstr "" + +msgid "Turn wheel right" +msgstr "" + +msgid "Turn x axis left" +msgstr "" + +msgid "Turn x axis right" +msgstr "" + +msgid "Turn y axis left" +msgstr "" + +msgid "Turn y axis right" +msgstr "" + +msgid "Left click" +msgstr "" + +msgid "Left double-click" +msgstr "" + +msgid "Middle click" +msgstr "" + +msgid "Middle double-click" +msgstr "" + +msgid "Middle pushed turn left" +msgstr "" + +msgid "Middle pushed turn right" +msgstr "" + +msgid "Right click" +msgstr "" + +msgid "Right double-click" +msgstr "" + +msgid "Side click" +msgstr "" + +msgid "Side double-click" +msgstr "" + +msgid "Extra click" +msgstr "" + +msgid "Extra double-click" +msgstr "" + +msgid "Forward click" +msgstr "" + +msgid "Forward double-click" +msgstr "" + +msgid "Back click" +msgstr "" + +msgid "Back double-click" +msgstr "" + +msgid "Task click" +msgstr "" + +msgid "Task double-click" +msgstr "" + +msgid "Left pushed turn left" +msgstr "" + +msgid "Left pushed turn right" +msgstr "" + +msgid "Right pushed turn left" +msgstr "" + +msgid "Right pushed turn right" +msgstr "" + +msgid "Side pushed turn left" +msgstr "" + +msgid "Side pushed turn right" +msgstr "" + +msgid "Extra pushed turn left" +msgstr "" + +msgid "Extra pushed turn right" +msgstr "" + +msgid "Forward pushed turn left" +msgstr "" + +msgid "Forward pushed turn right" +msgstr "" + +msgid "Back pushed turn left" +msgstr "" + +msgid "Back pushed turn right" +msgstr "" + +msgid "Task pushed turn left" +msgstr "" + +msgid "Task pushed turn right" +msgstr "" + +msgid "Set current key binding for all contexts?" +msgstr "" diff --git a/po/pl_PL.po b/po/pl_PL.po new file mode 100644 index 0000000..00bb666 --- /dev/null +++ b/po/pl_PL.po @@ -0,0 +1,190 @@ +# VDR plugin language source file. +# Copyright (C) 2007 Klaus Schmidinger +# This file is distributed under the same license as the VDR package. +# Michael Rakowski , 2002 +# +msgid "" +msgstr "" +"Project-Id-Version: VDR 1.5.7\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-05-01 18:59+0200\n" +"PO-Revision-Date: 2008-02-10 18:28+0100\n" +"Last-Translator: Michael Rakowski \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-2\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Controls VDR via a mouse" +msgstr "" + +msgid "Sensitivity wheel" +msgstr "" + +msgid "Double click time (ms)" +msgstr "" + +msgid "Alternative key binding" +msgstr "" + +msgid "no" +msgstr "" + +msgid "yes" +msgstr "" + +msgid "Toggle click time (ms)" +msgstr "" + +msgid "Show toggle with scroll lock led" +msgstr "" + +msgid "Toggle automatic off" +msgstr "" + +msgid "Toggle off time (ms)" +msgstr "" + +msgid "Extra pushed turn events" +msgstr "" + +msgid "Extra x,y turn events" +msgstr "" + +msgid "Sensitivity x" +msgstr "" + +msgid "Sensitivity y" +msgstr "" + +msgid "DVD sensitive replay context" +msgstr "" + +msgid "MP3 sensitive replay context" +msgstr "" + +msgid "CDDA sensitive replay context" +msgstr "" + +msgid "IMAGE sensitive replay context" +msgstr "" + +msgid "Set keys for context" +msgstr "" + +msgid "Turn wheel left" +msgstr "" + +msgid "Turn wheel right" +msgstr "" + +msgid "Turn x axis left" +msgstr "" + +msgid "Turn x axis right" +msgstr "" + +msgid "Turn y axis left" +msgstr "" + +msgid "Turn y axis right" +msgstr "" + +msgid "Left click" +msgstr "" + +msgid "Left double-click" +msgstr "" + +msgid "Middle click" +msgstr "" + +msgid "Middle double-click" +msgstr "" + +msgid "Middle pushed turn left" +msgstr "" + +msgid "Middle pushed turn right" +msgstr "" + +msgid "Right click" +msgstr "" + +msgid "Right double-click" +msgstr "" + +msgid "Side click" +msgstr "" + +msgid "Side double-click" +msgstr "" + +msgid "Extra click" +msgstr "" + +msgid "Extra double-click" +msgstr "" + +msgid "Forward click" +msgstr "" + +msgid "Forward double-click" +msgstr "" + +msgid "Back click" +msgstr "" + +msgid "Back double-click" +msgstr "" + +msgid "Task click" +msgstr "" + +msgid "Task double-click" +msgstr "" + +msgid "Left pushed turn left" +msgstr "" + +msgid "Left pushed turn right" +msgstr "" + +msgid "Right pushed turn left" +msgstr "" + +msgid "Right pushed turn right" +msgstr "" + +msgid "Side pushed turn left" +msgstr "" + +msgid "Side pushed turn right" +msgstr "" + +msgid "Extra pushed turn left" +msgstr "" + +msgid "Extra pushed turn right" +msgstr "" + +msgid "Forward pushed turn left" +msgstr "" + +msgid "Forward pushed turn right" +msgstr "" + +msgid "Back pushed turn left" +msgstr "" + +msgid "Back pushed turn right" +msgstr "" + +msgid "Task pushed turn left" +msgstr "" + +msgid "Task pushed turn right" +msgstr "" + +msgid "Set current key binding for all contexts?" +msgstr "" diff --git a/po/pt_PT.po b/po/pt_PT.po new file mode 100644 index 0000000..7ddfd1b --- /dev/null +++ b/po/pt_PT.po @@ -0,0 +1,190 @@ +# VDR plugin language source file. +# Copyright (C) 2007 Klaus Schmidinger +# This file is distributed under the same license as the VDR package. +# Paulo Lopes , 2001 +# +msgid "" +msgstr "" +"Project-Id-Version: VDR 1.5.7\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-05-01 18:59+0200\n" +"PO-Revision-Date: 2008-02-10 18:28+0100\n" +"Last-Translator: Paulo Lopes \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Controls VDR via a mouse" +msgstr "" + +msgid "Sensitivity wheel" +msgstr "" + +msgid "Double click time (ms)" +msgstr "" + +msgid "Alternative key binding" +msgstr "" + +msgid "no" +msgstr "" + +msgid "yes" +msgstr "" + +msgid "Toggle click time (ms)" +msgstr "" + +msgid "Show toggle with scroll lock led" +msgstr "" + +msgid "Toggle automatic off" +msgstr "" + +msgid "Toggle off time (ms)" +msgstr "" + +msgid "Extra pushed turn events" +msgstr "" + +msgid "Extra x,y turn events" +msgstr "" + +msgid "Sensitivity x" +msgstr "" + +msgid "Sensitivity y" +msgstr "" + +msgid "DVD sensitive replay context" +msgstr "" + +msgid "MP3 sensitive replay context" +msgstr "" + +msgid "CDDA sensitive replay context" +msgstr "" + +msgid "IMAGE sensitive replay context" +msgstr "" + +msgid "Set keys for context" +msgstr "" + +msgid "Turn wheel left" +msgstr "" + +msgid "Turn wheel right" +msgstr "" + +msgid "Turn x axis left" +msgstr "" + +msgid "Turn x axis right" +msgstr "" + +msgid "Turn y axis left" +msgstr "" + +msgid "Turn y axis right" +msgstr "" + +msgid "Left click" +msgstr "" + +msgid "Left double-click" +msgstr "" + +msgid "Middle click" +msgstr "" + +msgid "Middle double-click" +msgstr "" + +msgid "Middle pushed turn left" +msgstr "" + +msgid "Middle pushed turn right" +msgstr "" + +msgid "Right click" +msgstr "" + +msgid "Right double-click" +msgstr "" + +msgid "Side click" +msgstr "" + +msgid "Side double-click" +msgstr "" + +msgid "Extra click" +msgstr "" + +msgid "Extra double-click" +msgstr "" + +msgid "Forward click" +msgstr "" + +msgid "Forward double-click" +msgstr "" + +msgid "Back click" +msgstr "" + +msgid "Back double-click" +msgstr "" + +msgid "Task click" +msgstr "" + +msgid "Task double-click" +msgstr "" + +msgid "Left pushed turn left" +msgstr "" + +msgid "Left pushed turn right" +msgstr "" + +msgid "Right pushed turn left" +msgstr "" + +msgid "Right pushed turn right" +msgstr "" + +msgid "Side pushed turn left" +msgstr "" + +msgid "Side pushed turn right" +msgstr "" + +msgid "Extra pushed turn left" +msgstr "" + +msgid "Extra pushed turn right" +msgstr "" + +msgid "Forward pushed turn left" +msgstr "" + +msgid "Forward pushed turn right" +msgstr "" + +msgid "Back pushed turn left" +msgstr "" + +msgid "Back pushed turn right" +msgstr "" + +msgid "Task pushed turn left" +msgstr "" + +msgid "Task pushed turn right" +msgstr "" + +msgid "Set current key binding for all contexts?" +msgstr "" diff --git a/po/ro_RO.po b/po/ro_RO.po new file mode 100644 index 0000000..616b818 --- /dev/null +++ b/po/ro_RO.po @@ -0,0 +1,191 @@ +# VDR plugin language source file. +# Copyright (C) 2007 Klaus Schmidinger +# This file is distributed under the same license as the VDR package. +# Paul Lacatus , 2002 +# Lucian Muresan , 2004 +# +msgid "" +msgstr "" +"Project-Id-Version: VDR 1.5.7\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-05-01 18:59+0200\n" +"PO-Revision-Date: 2008-02-10 18:28+0100\n" +"Last-Translator: Lucian Muresan \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-2\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Controls VDR via a mouse" +msgstr "" + +msgid "Sensitivity wheel" +msgstr "" + +msgid "Double click time (ms)" +msgstr "" + +msgid "Alternative key binding" +msgstr "" + +msgid "no" +msgstr "" + +msgid "yes" +msgstr "" + +msgid "Toggle click time (ms)" +msgstr "" + +msgid "Show toggle with scroll lock led" +msgstr "" + +msgid "Toggle automatic off" +msgstr "" + +msgid "Toggle off time (ms)" +msgstr "" + +msgid "Extra pushed turn events" +msgstr "" + +msgid "Extra x,y turn events" +msgstr "" + +msgid "Sensitivity x" +msgstr "" + +msgid "Sensitivity y" +msgstr "" + +msgid "DVD sensitive replay context" +msgstr "" + +msgid "MP3 sensitive replay context" +msgstr "" + +msgid "CDDA sensitive replay context" +msgstr "" + +msgid "IMAGE sensitive replay context" +msgstr "" + +msgid "Set keys for context" +msgstr "" + +msgid "Turn wheel left" +msgstr "" + +msgid "Turn wheel right" +msgstr "" + +msgid "Turn x axis left" +msgstr "" + +msgid "Turn x axis right" +msgstr "" + +msgid "Turn y axis left" +msgstr "" + +msgid "Turn y axis right" +msgstr "" + +msgid "Left click" +msgstr "" + +msgid "Left double-click" +msgstr "" + +msgid "Middle click" +msgstr "" + +msgid "Middle double-click" +msgstr "" + +msgid "Middle pushed turn left" +msgstr "" + +msgid "Middle pushed turn right" +msgstr "" + +msgid "Right click" +msgstr "" + +msgid "Right double-click" +msgstr "" + +msgid "Side click" +msgstr "" + +msgid "Side double-click" +msgstr "" + +msgid "Extra click" +msgstr "" + +msgid "Extra double-click" +msgstr "" + +msgid "Forward click" +msgstr "" + +msgid "Forward double-click" +msgstr "" + +msgid "Back click" +msgstr "" + +msgid "Back double-click" +msgstr "" + +msgid "Task click" +msgstr "" + +msgid "Task double-click" +msgstr "" + +msgid "Left pushed turn left" +msgstr "" + +msgid "Left pushed turn right" +msgstr "" + +msgid "Right pushed turn left" +msgstr "" + +msgid "Right pushed turn right" +msgstr "" + +msgid "Side pushed turn left" +msgstr "" + +msgid "Side pushed turn right" +msgstr "" + +msgid "Extra pushed turn left" +msgstr "" + +msgid "Extra pushed turn right" +msgstr "" + +msgid "Forward pushed turn left" +msgstr "" + +msgid "Forward pushed turn right" +msgstr "" + +msgid "Back pushed turn left" +msgstr "" + +msgid "Back pushed turn right" +msgstr "" + +msgid "Task pushed turn left" +msgstr "" + +msgid "Task pushed turn right" +msgstr "" + +msgid "Set current key binding for all contexts?" +msgstr "" diff --git a/po/ru_RU.po b/po/ru_RU.po new file mode 100644 index 0000000..ff4bba5 --- /dev/null +++ b/po/ru_RU.po @@ -0,0 +1,190 @@ +# VDR plugin language source file. +# Copyright (C) 2007 Klaus Schmidinger +# This file is distributed under the same license as the VDR package. +# Vyacheslav Dikonov , 2004 +# +msgid "" +msgstr "" +"Project-Id-Version: VDR 1.5.7\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-05-01 18:59+0200\n" +"PO-Revision-Date: 2008-02-10 18:28+0100\n" +"Last-Translator: Vyacheslav Dikonov \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-5\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Controls VDR via a mouse" +msgstr "" + +msgid "Sensitivity wheel" +msgstr "" + +msgid "Double click time (ms)" +msgstr "" + +msgid "Alternative key binding" +msgstr "" + +msgid "no" +msgstr "" + +msgid "yes" +msgstr "" + +msgid "Toggle click time (ms)" +msgstr "" + +msgid "Show toggle with scroll lock led" +msgstr "" + +msgid "Toggle automatic off" +msgstr "" + +msgid "Toggle off time (ms)" +msgstr "" + +msgid "Extra pushed turn events" +msgstr "" + +msgid "Extra x,y turn events" +msgstr "" + +msgid "Sensitivity x" +msgstr "" + +msgid "Sensitivity y" +msgstr "" + +msgid "DVD sensitive replay context" +msgstr "" + +msgid "MP3 sensitive replay context" +msgstr "" + +msgid "CDDA sensitive replay context" +msgstr "" + +msgid "IMAGE sensitive replay context" +msgstr "" + +msgid "Set keys for context" +msgstr "" + +msgid "Turn wheel left" +msgstr "" + +msgid "Turn wheel right" +msgstr "" + +msgid "Turn x axis left" +msgstr "" + +msgid "Turn x axis right" +msgstr "" + +msgid "Turn y axis left" +msgstr "" + +msgid "Turn y axis right" +msgstr "" + +msgid "Left click" +msgstr "" + +msgid "Left double-click" +msgstr "" + +msgid "Middle click" +msgstr "" + +msgid "Middle double-click" +msgstr "" + +msgid "Middle pushed turn left" +msgstr "" + +msgid "Middle pushed turn right" +msgstr "" + +msgid "Right click" +msgstr "" + +msgid "Right double-click" +msgstr "" + +msgid "Side click" +msgstr "" + +msgid "Side double-click" +msgstr "" + +msgid "Extra click" +msgstr "" + +msgid "Extra double-click" +msgstr "" + +msgid "Forward click" +msgstr "" + +msgid "Forward double-click" +msgstr "" + +msgid "Back click" +msgstr "" + +msgid "Back double-click" +msgstr "" + +msgid "Task click" +msgstr "" + +msgid "Task double-click" +msgstr "" + +msgid "Left pushed turn left" +msgstr "" + +msgid "Left pushed turn right" +msgstr "" + +msgid "Right pushed turn left" +msgstr "" + +msgid "Right pushed turn right" +msgstr "" + +msgid "Side pushed turn left" +msgstr "" + +msgid "Side pushed turn right" +msgstr "" + +msgid "Extra pushed turn left" +msgstr "" + +msgid "Extra pushed turn right" +msgstr "" + +msgid "Forward pushed turn left" +msgstr "" + +msgid "Forward pushed turn right" +msgstr "" + +msgid "Back pushed turn left" +msgstr "" + +msgid "Back pushed turn right" +msgstr "" + +msgid "Task pushed turn left" +msgstr "" + +msgid "Task pushed turn right" +msgstr "" + +msgid "Set current key binding for all contexts?" +msgstr "" diff --git a/po/sl_SI.po b/po/sl_SI.po new file mode 100644 index 0000000..7831abc --- /dev/null +++ b/po/sl_SI.po @@ -0,0 +1,191 @@ +# VDR plugin language source file. +# Copyright (C) 2007 Klaus Schmidinger +# This file is distributed under the same license as the VDR package. +# Miha Setina , 2000 +# Matjaz Thaler , 2003 +# +msgid "" +msgstr "" +"Project-Id-Version: VDR 1.5.7\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-05-01 18:59+0200\n" +"PO-Revision-Date: 2008-02-10 18:28+0100\n" +"Last-Translator: Matjaz Thaler \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-2\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Controls VDR via a mouse" +msgstr "" + +msgid "Sensitivity wheel" +msgstr "" + +msgid "Double click time (ms)" +msgstr "" + +msgid "Alternative key binding" +msgstr "" + +msgid "no" +msgstr "" + +msgid "yes" +msgstr "" + +msgid "Toggle click time (ms)" +msgstr "" + +msgid "Show toggle with scroll lock led" +msgstr "" + +msgid "Toggle automatic off" +msgstr "" + +msgid "Toggle off time (ms)" +msgstr "" + +msgid "Extra pushed turn events" +msgstr "" + +msgid "Extra x,y turn events" +msgstr "" + +msgid "Sensitivity x" +msgstr "" + +msgid "Sensitivity y" +msgstr "" + +msgid "DVD sensitive replay context" +msgstr "" + +msgid "MP3 sensitive replay context" +msgstr "" + +msgid "CDDA sensitive replay context" +msgstr "" + +msgid "IMAGE sensitive replay context" +msgstr "" + +msgid "Set keys for context" +msgstr "" + +msgid "Turn wheel left" +msgstr "" + +msgid "Turn wheel right" +msgstr "" + +msgid "Turn x axis left" +msgstr "" + +msgid "Turn x axis right" +msgstr "" + +msgid "Turn y axis left" +msgstr "" + +msgid "Turn y axis right" +msgstr "" + +msgid "Left click" +msgstr "" + +msgid "Left double-click" +msgstr "" + +msgid "Middle click" +msgstr "" + +msgid "Middle double-click" +msgstr "" + +msgid "Middle pushed turn left" +msgstr "" + +msgid "Middle pushed turn right" +msgstr "" + +msgid "Right click" +msgstr "" + +msgid "Right double-click" +msgstr "" + +msgid "Side click" +msgstr "" + +msgid "Side double-click" +msgstr "" + +msgid "Extra click" +msgstr "" + +msgid "Extra double-click" +msgstr "" + +msgid "Forward click" +msgstr "" + +msgid "Forward double-click" +msgstr "" + +msgid "Back click" +msgstr "" + +msgid "Back double-click" +msgstr "" + +msgid "Task click" +msgstr "" + +msgid "Task double-click" +msgstr "" + +msgid "Left pushed turn left" +msgstr "" + +msgid "Left pushed turn right" +msgstr "" + +msgid "Right pushed turn left" +msgstr "" + +msgid "Right pushed turn right" +msgstr "" + +msgid "Side pushed turn left" +msgstr "" + +msgid "Side pushed turn right" +msgstr "" + +msgid "Extra pushed turn left" +msgstr "" + +msgid "Extra pushed turn right" +msgstr "" + +msgid "Forward pushed turn left" +msgstr "" + +msgid "Forward pushed turn right" +msgstr "" + +msgid "Back pushed turn left" +msgstr "" + +msgid "Back pushed turn right" +msgstr "" + +msgid "Task pushed turn left" +msgstr "" + +msgid "Task pushed turn right" +msgstr "" + +msgid "Set current key binding for all contexts?" +msgstr "" diff --git a/po/sv_SE.po b/po/sv_SE.po new file mode 100644 index 0000000..7444cf9 --- /dev/null +++ b/po/sv_SE.po @@ -0,0 +1,191 @@ +# VDR plugin language source file. +# Copyright (C) 2007 Klaus Schmidinger +# This file is distributed under the same license as the VDR package. +# Tomas Prybil , 2002 +# Jan Ekholm , 2003 +# +msgid "" +msgstr "" +"Project-Id-Version: VDR 1.5.7\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-05-01 18:59+0200\n" +"PO-Revision-Date: 2008-02-10 18:28+0100\n" +"Last-Translator: Tomas Prybil \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Controls VDR via a mouse" +msgstr "" + +msgid "Sensitivity wheel" +msgstr "" + +msgid "Double click time (ms)" +msgstr "" + +msgid "Alternative key binding" +msgstr "" + +msgid "no" +msgstr "" + +msgid "yes" +msgstr "" + +msgid "Toggle click time (ms)" +msgstr "" + +msgid "Show toggle with scroll lock led" +msgstr "" + +msgid "Toggle automatic off" +msgstr "" + +msgid "Toggle off time (ms)" +msgstr "" + +msgid "Extra pushed turn events" +msgstr "" + +msgid "Extra x,y turn events" +msgstr "" + +msgid "Sensitivity x" +msgstr "" + +msgid "Sensitivity y" +msgstr "" + +msgid "DVD sensitive replay context" +msgstr "" + +msgid "MP3 sensitive replay context" +msgstr "" + +msgid "CDDA sensitive replay context" +msgstr "" + +msgid "IMAGE sensitive replay context" +msgstr "" + +msgid "Set keys for context" +msgstr "" + +msgid "Turn wheel left" +msgstr "" + +msgid "Turn wheel right" +msgstr "" + +msgid "Turn x axis left" +msgstr "" + +msgid "Turn x axis right" +msgstr "" + +msgid "Turn y axis left" +msgstr "" + +msgid "Turn y axis right" +msgstr "" + +msgid "Left click" +msgstr "" + +msgid "Left double-click" +msgstr "" + +msgid "Middle click" +msgstr "" + +msgid "Middle double-click" +msgstr "" + +msgid "Middle pushed turn left" +msgstr "" + +msgid "Middle pushed turn right" +msgstr "" + +msgid "Right click" +msgstr "" + +msgid "Right double-click" +msgstr "" + +msgid "Side click" +msgstr "" + +msgid "Side double-click" +msgstr "" + +msgid "Extra click" +msgstr "" + +msgid "Extra double-click" +msgstr "" + +msgid "Forward click" +msgstr "" + +msgid "Forward double-click" +msgstr "" + +msgid "Back click" +msgstr "" + +msgid "Back double-click" +msgstr "" + +msgid "Task click" +msgstr "" + +msgid "Task double-click" +msgstr "" + +msgid "Left pushed turn left" +msgstr "" + +msgid "Left pushed turn right" +msgstr "" + +msgid "Right pushed turn left" +msgstr "" + +msgid "Right pushed turn right" +msgstr "" + +msgid "Side pushed turn left" +msgstr "" + +msgid "Side pushed turn right" +msgstr "" + +msgid "Extra pushed turn left" +msgstr "" + +msgid "Extra pushed turn right" +msgstr "" + +msgid "Forward pushed turn left" +msgstr "" + +msgid "Forward pushed turn right" +msgstr "" + +msgid "Back pushed turn left" +msgstr "" + +msgid "Back pushed turn right" +msgstr "" + +msgid "Task pushed turn left" +msgstr "" + +msgid "Task pushed turn right" +msgstr "" + +msgid "Set current key binding for all contexts?" +msgstr "" diff --git a/po/tr_TR.po b/po/tr_TR.po new file mode 100644 index 0000000..c07e74d --- /dev/null +++ b/po/tr_TR.po @@ -0,0 +1,190 @@ +# VDR plugin language source file. +# Copyright (C) 2007 Klaus Schmidinger +# This file is distributed under the same license as the VDR package. +# Oktay Yolgeçen , 2007 +# +msgid "" +msgstr "" +"Project-Id-Version: VDR 1.5.7\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-05-01 18:59+0200\n" +"PO-Revision-Date: 2008-02-10 18:28+0100\n" +"Last-Translator: Oktay Yolgeçen \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-9\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Controls VDR via a mouse" +msgstr "" + +msgid "Sensitivity wheel" +msgstr "" + +msgid "Double click time (ms)" +msgstr "" + +msgid "Alternative key binding" +msgstr "" + +msgid "no" +msgstr "" + +msgid "yes" +msgstr "" + +msgid "Toggle click time (ms)" +msgstr "" + +msgid "Show toggle with scroll lock led" +msgstr "" + +msgid "Toggle automatic off" +msgstr "" + +msgid "Toggle off time (ms)" +msgstr "" + +msgid "Extra pushed turn events" +msgstr "" + +msgid "Extra x,y turn events" +msgstr "" + +msgid "Sensitivity x" +msgstr "" + +msgid "Sensitivity y" +msgstr "" + +msgid "DVD sensitive replay context" +msgstr "" + +msgid "MP3 sensitive replay context" +msgstr "" + +msgid "CDDA sensitive replay context" +msgstr "" + +msgid "IMAGE sensitive replay context" +msgstr "" + +msgid "Set keys for context" +msgstr "" + +msgid "Turn wheel left" +msgstr "" + +msgid "Turn wheel right" +msgstr "" + +msgid "Turn x axis left" +msgstr "" + +msgid "Turn x axis right" +msgstr "" + +msgid "Turn y axis left" +msgstr "" + +msgid "Turn y axis right" +msgstr "" + +msgid "Left click" +msgstr "" + +msgid "Left double-click" +msgstr "" + +msgid "Middle click" +msgstr "" + +msgid "Middle double-click" +msgstr "" + +msgid "Middle pushed turn left" +msgstr "" + +msgid "Middle pushed turn right" +msgstr "" + +msgid "Right click" +msgstr "" + +msgid "Right double-click" +msgstr "" + +msgid "Side click" +msgstr "" + +msgid "Side double-click" +msgstr "" + +msgid "Extra click" +msgstr "" + +msgid "Extra double-click" +msgstr "" + +msgid "Forward click" +msgstr "" + +msgid "Forward double-click" +msgstr "" + +msgid "Back click" +msgstr "" + +msgid "Back double-click" +msgstr "" + +msgid "Task click" +msgstr "" + +msgid "Task double-click" +msgstr "" + +msgid "Left pushed turn left" +msgstr "" + +msgid "Left pushed turn right" +msgstr "" + +msgid "Right pushed turn left" +msgstr "" + +msgid "Right pushed turn right" +msgstr "" + +msgid "Side pushed turn left" +msgstr "" + +msgid "Side pushed turn right" +msgstr "" + +msgid "Extra pushed turn left" +msgstr "" + +msgid "Extra pushed turn right" +msgstr "" + +msgid "Forward pushed turn left" +msgstr "" + +msgid "Forward pushed turn right" +msgstr "" + +msgid "Back pushed turn left" +msgstr "" + +msgid "Back pushed turn right" +msgstr "" + +msgid "Task pushed turn left" +msgstr "" + +msgid "Task pushed turn right" +msgstr "" + +msgid "Set current key binding for all contexts?" +msgstr "" diff --git a/setup.c b/setup.c new file mode 100644 index 0000000..d67d658 --- /dev/null +++ b/setup.c @@ -0,0 +1,476 @@ +/* + * mousemate plugin for VDR + * + * setup.c - settings and setup menu + * + * + * This code is distributed under the terms and conditions of the + * GNU GENERAL PUBLIC LICENSE. See the file COPYING for details. + */ + +#include +#include +#include +#include + + +#include "setup.h" +#include "MouseMate.h" + +cMouseMateSetup MouseMateSetup; + +const char * strContexts[kContexts] = +{ + "Normal", + "Menu", + "Replay", + "Replay DVD", + "Replay MP3", + "Replay CDDA", + "Replay IMAGE", + "Normal alternative", + "Menu alternative", + "Replay alternative", + "Replay DVD alternative", + "Replay MP3 alternative", + "Replay CDDA alternative", + "Replay IMAGE alternative" +}; + +const char * strEvents[kEvents] = +{ + "TurnWheelLeft", + "TurnWheelRight", + "TurnXLeft", + "TurnXRight", + "TurnYLeft", + "TurnYRight", + "LeftClick", + "LeftDoubleClick", + "LeftPushedTurnLeft", + "LeftPushedTurnRight", + "MiddleClick", + "MiddleDoubleClick", + "MiddlePushedTurnLeft", + "MiddlePushedTurnRight", + "RightClick", + "RightDoubleClick", + "RightPushedTurnLeft", + "RightPushedTurnRight", + "SidePushedTurnLeft", + "SidePushedTurnRight", + "SideClick", + "SideDoubleClick", + "ExtraClick", + "ExtraDoubleClick", + "ExtraPushedTurnLeft", + "ExtraPushedTurnRight", + "ForwardClick", + "ForwardDoubleClick", + "ForwardPushedTurnLeft", + "ForwardPushedTurnRight", + "BackClick", + "BackDoubleClick", + "BackPushedTurnLeft", + "BackPushedTurnRight", + "TaskClick", + "TaskDoubleClick" + "TaskPushedTurnLeft", + "TaskPushedTurnRight" +}; + +cMouseMateSetup::cMouseMateSetup() +:sensitivity(1), +doubleClickTime(300), +toggleClickTime(1000), +led(0), +autotoggleoff(0), +extrapushedturn(0), +alternative(0), +dvdsensitive(0), +mp3sensitive(0), +cddasensitive(0), +imagesensitive(0), +extraturns(0), +toggleOffTime(3000) +{ + for (int c = 0; c < kContexts; c++) + for (int e = 0; e < kEvents; e++) + keys[c][e] = kNone; +} + + +bool cMouseMateSetup::Parse(const char *Name, const char *Value) +{ + // Parse your own setup parameters and store their values. + + if (!strcasecmp(Name, "Sensitivity")) sensitivity = atoi(Value); + else if (!strcasecmp(Name, "SensitivityX")) sensitivityX = atoi(Value); + else if (!strcasecmp(Name, "SensitivityY")) sensitivityY = atoi(Value); + else if (!strcasecmp(Name, "DoubleClickTime")) doubleClickTime = atoi(Value); + else if (!strcasecmp(Name, "ToggleClickTime")) toggleClickTime = atoi(Value); + else if (!strcasecmp(Name, "LED")) led = atoi(Value); + else if (!strcasecmp(Name, "AutoToggleOff")) autotoggleoff = atoi(Value); + else if (!strcasecmp(Name, "ExtraPushedTurn")) extrapushedturn = atoi(Value); + else if (!strcasecmp(Name, "ExtraTurns")) extraturns = atoi(Value); + else if (!strcasecmp(Name, "DvdSensitive")) dvdsensitive = atoi(Value); + else if (!strcasecmp(Name, "Mp3Sensitive")) mp3sensitive = atoi(Value); + else if (!strcasecmp(Name, "CddaSensitive")) cddasensitive = atoi(Value); + else if (!strcasecmp(Name, "ImageSensitive")) imagesensitive = atoi(Value); + else if (!strcasecmp(Name, "Alternative")) alternative= atoi(Value); + else if (!strcasecmp(Name, "ToggleOffTime")) toggleOffTime = atoi(Value); + else if (strstr(Name, "Key") == Name) + { + for (int c = 0; c < kContexts; c++) + { + for (int e = 0; e < kEvents; e++) + { + char str[256]; + sprintf(str, "Key%s%s", strContexts[c], strEvents[e]); + if (!strcasecmp(Name, str)) + { + keys[c][e] = eKeys(atoi(Value)); + return true; + } + } + } + return false; + } + else + return false; + + return true; +} + + +static tKey keyTable[] = +{ + { kNone, "None" }, + { kUp, "Up" }, + { kDown, "Down" }, + { kMenu, "Menu" }, + { kOk, "Ok" }, + { kBack, "Back" }, + { kLeft, "Left" }, + { kRight, "Right" }, + { kRed, "Red" }, + { kGreen, "Green" }, + { kYellow, "Yellow" }, + { kBlue, "Blue" }, + { k0, "0" }, + { k1, "1" }, + { k2, "2" }, + { k3, "3" }, + { k4, "4" }, + { k5, "5" }, + { k6, "6" }, + { k7, "7" }, + { k8, "8" }, + { k9, "9" }, + { kInfo, "Info" }, + { kPlay, "Play" }, + { kPause, "Pause" }, + { kStop, "Stop" }, + { kRecord, "Record" }, + { kFastFwd, "FastFwd" }, + { kFastRew, "FastRew" }, + { kNext, "Next" }, + { kPrev, "Prev" }, + { kPower, "Power" }, + { kChanUp, "Channel+" }, + { kChanDn, "Channel-" }, + { kChanPrev, "PrevChannel"}, + { kVolUp, "Volume+" }, + { kVolDn, "Volume-" }, + { kMute, "Mute" }, + { kAudio, "Audio" }, + { kSubtitles, "Subtitles" }, + { kSchedule, "Schedule" }, + { kChannels, "Channels" }, + { kTimers, "Timers" }, + { kRecordings, "Recordings" }, + { kSetup, "Setup" }, + { kCommands, "Commands" }, + { kUser1, "User1" }, + { kUser2, "User2" }, + { kUser3, "User3" }, + { kUser4, "User4" }, + { kUser5, "User5" }, + { kUser6, "User6" }, + { kUser7, "User7" }, + { kUser8, "User8" }, + { kUser9, "User9" }, + { kNone, NULL }, +}; + +cMouseMateSetupPage::cMouseMateSetupPage() +{ + context = kContextNormal; + contextOld = kContextNormal; + sensitivity = MouseMateSetup.sensitivity; + sensitivityX = MouseMateSetup.sensitivityX; + sensitivityY = MouseMateSetup.sensitivityY; + doubleClickTime = MouseMateSetup.doubleClickTime; + toggleClickTime = MouseMateSetup.toggleClickTime; + led=MouseMateSetup.led; + autotoggleoff=MouseMateSetup.autotoggleoff; + extrapushedturn=MouseMateSetup.extrapushedturn; + extraturns=MouseMateSetup.extraturns; + dvdsensitive=MouseMateSetup.dvdsensitive; + mp3sensitive=MouseMateSetup.mp3sensitive; + cddasensitive=MouseMateSetup.cddasensitive; + imagesensitive=MouseMateSetup.imagesensitive; + alternative=MouseMateSetup.alternative; + toggleOffTime = MouseMateSetup.toggleOffTime; + + for (numKeys = 0; keyTable[numKeys].name; numKeys++) + { + for (int c = 0; c < kContexts; c++) + for (int e = 0; e < kEvents; e++) + if (keyTable[numKeys].type == MouseMateSetup.keys[c][e]) + keys[c][e] = numKeys; + strKeys[numKeys] = new char[strlen(keyTable[numKeys].name) + 1]; + strcpy(strKeys[numKeys], keyTable[numKeys].name); + } + for (int e = 0; e < kEvents; e++) + setKeys[e] = keys[context][e]; + Setup(); +} + + +void cMouseMateSetupPage::Setup() +{ + int current = Current(); + Clear(); + SetHelp("One4all",NULL,NULL,NULL); + + Add(new cMenuEditIntItem(tr("Sensitivity wheel"), &sensitivity, 1, 10)); + Add(new cMenuEditIntItem(tr("Double click time (ms)"), &doubleClickTime, 100, 1000)); + + Add(new cMenuEditBoolItem(tr("Alternative key binding"), &alternative,tr("no"), tr("yes"))); + int nContexts; + if (alternative) + { + nContexts=kContexts; + Add(new cMenuEditIntItem(tr("Toggle click time (ms)"), &toggleClickTime, 100, 5000)); + Add(new cMenuEditBoolItem(tr("Show toggle with scroll lock led"), &led,tr("no"), tr("yes"))); + Add(new cMenuEditBoolItem(tr("Toggle automatic off"), &autotoggleoff,tr("no"), tr("yes"))); + if (autotoggleoff) + { + Add(new cMenuEditIntItem(tr("Toggle off time (ms)"), &toggleOffTime, 1000, 30000)); + } + } + else + { + nContexts=kContexts/2; + if (context>nContexts) context=nContexts; + } + + Add(new cMenuEditBoolItem(tr("Extra pushed turn events"), &extrapushedturn,tr("no"), tr("yes"))); + Add(new cMenuEditBoolItem(tr("Extra x,y turn events"), &extraturns, tr("no"), tr("yes"))); + + if (extraturns) + { + Add(new cMenuEditIntItem(tr("Sensitivity x"), &sensitivityX, 1, 1000)); + Add(new cMenuEditIntItem(tr("Sensitivity y"), &sensitivityY, 1, 1000)); + } + + Add(new cMenuEditBoolItem(tr("DVD sensitive replay context"), &dvdsensitive,tr("no"), tr("yes"))); + Add(new cMenuEditBoolItem(tr("MP3 sensitive replay context"), &mp3sensitive,tr("no"), tr("yes"))); + Add(new cMenuEditBoolItem(tr("CDDA sensitive replay context"), &cddasensitive,tr("no"), tr("yes"))); + Add(new cMenuEditBoolItem(tr("IMAGE sensitive replay context"), &imagesensitive,tr("no"), tr("yes"))); + + Add(itemContext = new cMenuEditStraItem(tr("Set keys for context"), &context, nContexts, strContexts)); + Add(new cMenuEditStraItem(tr("Turn wheel left"), &setKeys[kEventTurnWheelLeft], numKeys, strKeys)); + Add(new cMenuEditStraItem(tr("Turn wheel right"), &setKeys[kEventTurnWheelRight], numKeys, strKeys)); + + if (extraturns) + { + Add(new cMenuEditStraItem(tr("Turn x axis left"), &setKeys[kEventTurnXLeft], numKeys, strKeys)); + Add(new cMenuEditStraItem(tr("Turn x axis right"), &setKeys[kEventTurnXRight], numKeys, strKeys)); + Add(new cMenuEditStraItem(tr("Turn y axis left"), &setKeys[kEventTurnYLeft], numKeys, strKeys)); + Add(new cMenuEditStraItem(tr("Turn y axis right"), &setKeys[kEventTurnYRight], numKeys, strKeys)); + } + + Add(new cMenuEditStraItem(tr("Left click"), &setKeys[kEventLeftClick], numKeys, strKeys)); + Add(new cMenuEditStraItem(tr("Left double-click"), &setKeys[kEventLeftDoubleClick], numKeys, strKeys)); + + Add(new cMenuEditStraItem(tr("Middle click"), &setKeys[kEventMiddleClick], numKeys, strKeys)); + Add(new cMenuEditStraItem(tr("Middle double-click"), &setKeys[kEventMiddleDoubleClick], numKeys, strKeys)); + Add(new cMenuEditStraItem(tr("Middle pushed turn left"), &setKeys[kEventMiddlePushedTurnLeft], numKeys, strKeys)); + Add(new cMenuEditStraItem(tr("Middle pushed turn right"), &setKeys[kEventMiddlePushedTurnRight], numKeys, strKeys)); + + Add(new cMenuEditStraItem(tr("Right click"), &setKeys[kEventRightClick], numKeys, strKeys)); + Add(new cMenuEditStraItem(tr("Right double-click"), &setKeys[kEventRightDoubleClick], numKeys, strKeys)); + + if (MouseMate->IsButtonUsed(BTN_SIDE)) + { + Add(new cMenuEditStraItem(tr("Side click"), &setKeys[kEventSideClick], numKeys, strKeys)); + Add(new cMenuEditStraItem(tr("Side double-click"), &setKeys[kEventSideDoubleClick], numKeys, strKeys)); + + } + if (MouseMate->IsButtonUsed(BTN_EXTRA)) + { + Add(new cMenuEditStraItem(tr("Extra click"), &setKeys[kEventExtraClick], numKeys, strKeys)); + Add(new cMenuEditStraItem(tr("Extra double-click"), &setKeys[kEventExtraDoubleClick], numKeys, strKeys)); + + } + if (MouseMate->IsButtonUsed(BTN_FORWARD)) + { + Add(new cMenuEditStraItem(tr("Forward click"), &setKeys[kEventForwardClick], numKeys, strKeys)); + Add(new cMenuEditStraItem(tr("Forward double-click"), &setKeys[kEventForwardDoubleClick], numKeys, strKeys)); + } + if (MouseMate->IsButtonUsed(BTN_BACK)) + { + Add(new cMenuEditStraItem(tr("Back click"), &setKeys[kEventBackClick], numKeys, strKeys)); + Add(new cMenuEditStraItem(tr("Back double-click"), &setKeys[kEventBackDoubleClick], numKeys, strKeys)); + } + if (MouseMate->IsButtonUsed(BTN_TASK)) + { + Add(new cMenuEditStraItem(tr("Task click"), &setKeys[kEventTaskClick], numKeys, strKeys)); + Add(new cMenuEditStraItem(tr("Task double-click"), &setKeys[kEventTaskDoubleClick], numKeys, strKeys)); + } + + if (extrapushedturn) + { + Add(new cMenuEditStraItem(tr("Left pushed turn left"), &setKeys[kEventLeftPushedTurnLeft], numKeys, strKeys)); + Add(new cMenuEditStraItem(tr("Left pushed turn right"), &setKeys[kEventLeftPushedTurnRight], numKeys, strKeys)); + Add(new cMenuEditStraItem(tr("Right pushed turn left"), &setKeys[kEventRightPushedTurnLeft], numKeys, strKeys)); + Add(new cMenuEditStraItem(tr("Right pushed turn right"), &setKeys[kEventRightPushedTurnRight], numKeys, strKeys)); + if (MouseMate->IsButtonUsed(BTN_SIDE)) + { + Add(new cMenuEditStraItem(tr("Side pushed turn left"), &setKeys[kEventSidePushedTurnLeft], numKeys, strKeys)); + Add(new cMenuEditStraItem(tr("Side pushed turn right"), &setKeys[kEventSidePushedTurnRight], numKeys, strKeys)); + } + if (MouseMate->IsButtonUsed(BTN_EXTRA)) + { + Add(new cMenuEditStraItem(tr("Extra pushed turn left"), &setKeys[kEventExtraPushedTurnLeft], numKeys, strKeys)); + Add(new cMenuEditStraItem(tr("Extra pushed turn right"), &setKeys[kEventExtraPushedTurnRight], numKeys, strKeys)); + } + if (MouseMate->IsButtonUsed(BTN_FORWARD)) + { + Add(new cMenuEditStraItem(tr("Forward pushed turn left"), &setKeys[kEventForwardPushedTurnLeft], numKeys, strKeys)); + Add(new cMenuEditStraItem(tr("Forward pushed turn right"), &setKeys[kEventForwardPushedTurnRight], numKeys, strKeys)); + } + + if (MouseMate->IsButtonUsed(BTN_BACK)) + { + Add(new cMenuEditStraItem(tr("Back pushed turn left"), &setKeys[kEventBackPushedTurnLeft], numKeys, strKeys)); + Add(new cMenuEditStraItem(tr("Back pushed turn right"), &setKeys[kEventBackPushedTurnRight], numKeys, strKeys)); + } + if (MouseMate->IsButtonUsed(BTN_TASK)) + { + Add(new cMenuEditStraItem(tr("Task pushed turn left"), &setKeys[kEventTaskPushedTurnLeft], numKeys, strKeys)); + Add(new cMenuEditStraItem(tr("Task pushed turn right"), &setKeys[kEventTaskPushedTurnRight], numKeys, strKeys)); + } + } + + SetCurrent(Get(current)); + Display(); +} + + +cMouseMateSetupPage::~cMouseMateSetupPage() +{ + for (int i = 0; i < numKeys; i++) + { + delete[] strKeys[i]; + } +} + + +void cMouseMateSetupPage::Store() +{ + SetupStore("Sensitivity", MouseMateSetup.sensitivity = sensitivity); + SetupStore("SensitivityX", MouseMateSetup.sensitivityX = sensitivityX); + SetupStore("SensitivityY", MouseMateSetup.sensitivityY = sensitivityY); + SetupStore("DoubleClickTime", MouseMateSetup.doubleClickTime = doubleClickTime); + SetupStore("ToggleClickTime", MouseMateSetup.toggleClickTime = toggleClickTime); + SetupStore("LED", MouseMateSetup.led = led); + SetupStore("AutoToggleOff", MouseMateSetup.autotoggleoff = autotoggleoff); + SetupStore("ExtraPushedTurn", MouseMateSetup.extrapushedturn = extrapushedturn); + SetupStore("ExtraTurns", MouseMateSetup.extraturns = extraturns); + SetupStore("DvdSensitive", MouseMateSetup.dvdsensitive = dvdsensitive); + SetupStore("Mp3Sensitive", MouseMateSetup.mp3sensitive = mp3sensitive); + SetupStore("CddaSensitive", MouseMateSetup.cddasensitive = cddasensitive); + SetupStore("ImageSensitive", MouseMateSetup.imagesensitive = imagesensitive); + SetupStore("Alternative", MouseMateSetup.alternative = alternative); + SetupStore("ToggleOffTime", MouseMateSetup.toggleOffTime = toggleOffTime); + for (int e = 0; e < kEvents; e++) + keys[contextOld][e] = setKeys[e]; + for (int c = 0; c < kContexts; c++) + { + for (int e = 0; e < kEvents; e++) + { + char str[256]; + MouseMateSetup.keys[c][e] = keyTable[keys[c][e]].type; + sprintf(str, "Key%s%s", strContexts[c], strEvents[e]); + SetupStore(str, MouseMateSetup.keys[c][e]); + } + } + +} + + +eOSState cMouseMateSetupPage::ProcessKey(eKeys key) +{ + int oldautotoggleoff = autotoggleoff; + int oldextrapushedturn = extrapushedturn; + int oldalternative = alternative; + int oldextraturns = extraturns; + + eOSState state = cMenuSetupPage::ProcessKey(key); + + //calculating number of used events + // 4 = turn left, turn right, middle pushed turv left, middle pushed turn right + // extraturns*4 = turn x left, turn x right, turn y left, turn y right + // Get_btnCount() * 2 = click & doubleclick for each used button + // extrapushedturn *2* (MouseMate->Get_btnCount()-1) = extra pushed turns (0,1) left & right (2) + // for each used button except middle (-1) + short int eventCount=4 + extraturns * 4 + + MouseMate->Get_btnCount() * 2 + + extrapushedturn *2* (MouseMate->Get_btnCount()-1); + + if (state == osContinue) + { + if (key == kLeft || key == kRight) + { + cOsdItem * item = Get(Current()); + if (item == itemContext) + { + for (int e = 0; e < kEvents; e++) + { + keys[contextOld][e] = setKeys[e]; + setKeys[e] = keys[context][e]; + } + for (int e = 0; e < eventCount; e++) + { + item = Get(Current() + e + 1); + item->Set(); + } + + contextOld = context; + Display(); + } + } + } + + // One4All + if (key == kRed) + if (!Interface->Confirm(tr("Set current key binding for all contexts?"), 5, true)) + { + for (int i=0 ;i < kContexts;i++) + for (int e = 0; e < kEvents; e++) + keys[i][e]=setKeys[e]; + } + + if (key != kNone && ( (autotoggleoff != oldautotoggleoff) + | (oldextrapushedturn != extrapushedturn) + | (oldalternative != alternative) + | (oldextraturns != extraturns) )) + { + Setup(); + } + + return state; +} diff --git a/setup.h b/setup.h new file mode 100644 index 0000000..ba50873 --- /dev/null +++ b/setup.h @@ -0,0 +1,138 @@ +/* + * mousemate plugin for VDR + * + * setup.h - settings and setup menu + * + * + * This code is distributed under the terms and conditions of the + * GNU GENERAL PUBLIC LICENSE. See the file COPYING for details. + */ + +#ifndef _SETUP_H_ +#define _SETUP_H_ + +#include + +const int kEvents = 38; +const int kEventTurnWheelLeft = 0; +const int kEventTurnWheelRight = 1; +const int kEventTurnXLeft = 2; +const int kEventTurnXRight = 3; +const int kEventTurnYLeft = 4; +const int kEventTurnYRight = 5; +const int kEventLeftClick = 6; +const int kEventLeftDoubleClick = 7; +const int kEventLeftPushedTurnLeft = 8; +const int kEventLeftPushedTurnRight = 9; +const int kEventMiddleClick = 10; +const int kEventMiddleDoubleClick = 11; +const int kEventMiddlePushedTurnLeft = 12; +const int kEventMiddlePushedTurnRight = 13; +const int kEventRightClick = 14; +const int kEventRightDoubleClick = 15; +const int kEventRightPushedTurnLeft = 16; +const int kEventRightPushedTurnRight = 17; +const int kEventSideClick = 18; +const int kEventSideDoubleClick = 19; +const int kEventSidePushedTurnLeft = 20; +const int kEventSidePushedTurnRight = 21; +const int kEventExtraClick = 22; +const int kEventExtraDoubleClick = 23; +const int kEventExtraPushedTurnLeft = 24; +const int kEventExtraPushedTurnRight = 25; +const int kEventForwardClick = 26; +const int kEventForwardDoubleClick = 27; +const int kEventForwardPushedTurnLeft = 28; +const int kEventForwardPushedTurnRight = 29; +const int kEventBackClick = 30; +const int kEventBackDoubleClick = 31; +const int kEventBackPushedTurnLeft = 32; +const int kEventBackPushedTurnRight = 33; +const int kEventTaskClick = 34; +const int kEventTaskDoubleClick = 35; +const int kEventTaskPushedTurnLeft = 36; +const int kEventTaskPushedTurnRight = 37; + +const int kContexts = 14; +const int kContextNormal = 0; +const int kContextMenu = 1; +const int kContextReplay = 2; +const int kContextReplayDVD = 3; +const int kContextReplayMP3 = 4; +const int kContextReplayCDDA = 5; +const int kContextReplayIMAGE = 6; +const int kContextNormalAlt = 7; +const int kContextMenuAlt = 8; +const int kContextReplayAlt = 9; +const int kContextReplayDVDAlt = 10; +const int kContextReplayMP3Alt = 11; +const int kContextReplayCDDAAlt = 12; +const int kContextReplayIMAGEAlt = 13; + +class cMouseMateSetup +{ + private: + // nothing yet + public: + char device[256]; // device for mouse + char cdevice[256]; // device for console + int sensitivity; + int sensitivityX; + int sensitivityY; + int doubleClickTime; + int toggleClickTime; + int led; // for scroll-lock led + int autotoggleoff; // auto toggle off after toggletime yes no + int extrapushedturn; + int alternative; + int dvdsensitive; + int mp3sensitive; + int cddasensitive; + int imagesensitive; + int extraturns; + int toggleOffTime; + eKeys keys[kContexts][kEvents]; + + cMouseMateSetup(); + bool Parse(const char *Name, const char *Value); + +}; + +class cMouseMateSetupPage : public cMenuSetupPage +{ + private: + char * strKeys[100]; + int numKeys; + int sensitivity; + int sensitivityX; + int sensitivityY; + int doubleClickTime; + int toggleClickTime; + int led; + int autotoggleoff; // auto toggle off after toggletime yes no + int extrapushedturn; + int alternative; + int dvdsensitive; + int mp3sensitive; + int cddasensitive; + int imagesensitive; + int extraturns; + int toggleOffTime; // timer after toggle is switched off automatically + int keys[kContexts][kEvents]; + int setKeys[kEvents]; + int context; + int contextOld; + + cOsdItem * itemContext; + cOsdItem * itemToggle; + protected: + virtual void Store(); + virtual eOSState ProcessKey(eKeys key); + void Setup(); + public: + cMouseMateSetupPage(); + virtual ~cMouseMateSetupPage(); +}; + +extern cMouseMateSetup MouseMateSetup; +#endif -- cgit v1.2.3