diff --git a/software/gpm.mdwn b/software/gpm.mdwn
index 5b72f5dd..222bab5d 100644
--- a/software/gpm.mdwn
+++ b/software/gpm.mdwn
@@ -1,68 +1,28 @@
- general purpose mouse
+[[!meta title="gpm - general purpose mouse"]]
+
-gpm is the mouse support for Linux on the console
+## How to get gpm?
-## how to get gpm
-
-### git
-Currently the best way to get gpm is via git:
+You can browse the [static archives](archives) or use git:
git-clone git://git.schottelius.org/gpm
- * Alternate clone URLs:
- * http://git.schottelius.org/gpm (plain http instead of git://)
- * Gitweb:
- * [http://git.schottelius.org/](http://git.schottelius.org/?p=gpm)
-
-### archives and source browser
-
- * gpm2 (development branch): ***gpm-1.99.7***:
- * [changes](browse_source/gpm-1.99.7/doc/changes/1.99.7)
- * [browse source](browse_source/gpm-1.99.7)
- * [tar.bz2](archives/gpm-1.99.7.tar.bz2)
- * [tar.bz2.sha512sum](archives/gpm-1.99.7.tar.bz2.sha512sum)
- * [tar.gz](archives/gpm-1.99.7.tar.gz)
- * [tar.gz.sha512sum](archives/gpm-1.99.7.tar.gz.sha512sum)
- * [tar.lzma](archives/gpm-1.99.7.tar.lzma)
- * [gpm-1.99.7.tar.lzma.sha512sum](archives/gpm-1.99.7.tar.lzma.sha512sum)
- * gpm1 (stable branch): ***gpm-1.20.6***:
- * [changes](browse_source/gpm-1.20.6/doc/changes/1.20.6)
- * [browse source](browse_source/gpm-1.20.6)
- * [tar.bz2](archives/gpm-1.20.6.tar.bz2)
- * [tar.bz2.sha512sum](archives/gpm-1.20.6.tar.bz2.sha512sum)
- * [tar.gz](archives/gpm-1.20.6.tar.gz)
- * [tar.gz.sha512sum](archives/gpm-1.20.6.tar.gz.sha512sum)
- * [tar.lzma](archives/gpm-1.20.6.tar.lzma)
- * [tar.lzma.sha512sum](archives/gpm-1.20.6.tar.lzma.sha512sum)
- * [Older archives](archives)
- * You can [browse the source](browse_source) of the old releases, too.
-
-There is the mirror
-http://www.ar.linux.it/pub/gpm/
-available.
+The archives are also mirrored at
+[ar.linux.it](http://www.ar.linux.it/pub/gpm/).
## Support
-### IRC
+
There is the irc channel [#gpm](irc.freenode.org/#gpm) on irc.freenode.org.
-### mailing lists
-#### development and discussion list
The mailing list devoted to gpm is "gpm@lists.linux.it".
In order to subscribe to the mailing list, visit
-http://lists.linux.it/listinfo/gpm
+[lists.linux.it](http://lists.linux.it/listinfo/gpm)
or send a message with "subscribe" in its body to gpm-request@lists.linux.it.
For example:
echo subscribe | mail gpm-request@lists.linux.it
-The mailing list archive can be found at
-http://lists.linux.it/pipermail/gpm/
+Or you can browse the
+[mailing list archive](http://lists.linux.it/pipermail/gpm/).
-#### Commits mailinglist
-
-All published commits from the projects I am involved in are send
-to this mailinglist, including those commits to gpm.
-
- * [Archive](http://l.schottelius.org/pipermail/commits/)
- * [Mailinglist](http://l.schottelius.org/mailman/listinfo/commits/)
+[[!tag gpm unix]]
diff --git a/software/gpm/browse_source/gpm-1.20.2-broken/.exclude b/software/gpm/browse_source/gpm-1.20.2-broken/.exclude
deleted file mode 100644
index 6b8710a7..00000000
--- a/software/gpm/browse_source/gpm-1.20.2-broken/.exclude
+++ /dev/null
@@ -1 +0,0 @@
-.git
diff --git a/software/gpm/browse_source/gpm-1.20.2-broken/.gitignore b/software/gpm/browse_source/gpm-1.20.2-broken/.gitignore
deleted file mode 100644
index 2218321d..00000000
--- a/software/gpm/browse_source/gpm-1.20.2-broken/.gitignore
+++ /dev/null
@@ -1,16 +0,0 @@
-acconfig.h
-aclocal.m4
-*.o
-*.a
-configure
-Makefile
-Makefile.include
-autom4te.cache
-contrib/Makefile
-config.log
-config.status
-doc/doc.gpm
-src/headers/config.h
-src/prog/gpm-root.c
-src/subdirs-exist
-src/headers/config.h.in
diff --git a/software/gpm/browse_source/gpm-1.20.2-broken/BUGS b/software/gpm/browse_source/gpm-1.20.2-broken/BUGS
deleted file mode 100644
index dfd719e6..00000000
--- a/software/gpm/browse_source/gpm-1.20.2-broken/BUGS
+++ /dev/null
@@ -1,43 +0,0 @@
-Hello World.
-
-This files lists all current known bugs of gpm. If you have some spare time,
-please help to fix them. Thanks from the current maintainer (Nico).
-
-Additional bug information can be found in the TODO file. Everything not done
-is more or less a bug...
-
-/*============================================================================*/
-From: maintainer (Nico)
-
- liblow.c:Gpm_Connect/Open (option.consolename is == NULL)
-
-
-/*============================================================================*/
-From: maintainer (Nico)
-
-src/headers/config.h:
- SBINDIR and SYSCONFDIR are corrupted: ${prefix} should disappear!
-
-/*============================================================================*/
-From: maintainer (Nico)
-
-Following probles crash/do not work correctly: (most due to problems with devfs)
- - mev
- - gpm-root
- - disable-paste
- - mouse-test
-
-/*============================================================================*/
-
-From: D Richard Felker III
-
-One is the way the baud rate setting is done. It worked fine in old
-versions of gpm, but the special case for mman in the baud rate
-setting code now actually *breaks* support for my Logitech MoiseMan
-(the version with 4 buttons). Could you provide an way to initialize
-it to 9600 baud just like all the other mice, without using the
-special mman code that doesn't work for this mouse?
-
-[...]
-
-/*============================================================================*/
diff --git a/software/gpm/browse_source/gpm-1.20.2-broken/COPYING b/software/gpm/browse_source/gpm-1.20.2-broken/COPYING
deleted file mode 100644
index e77696ae..00000000
--- a/software/gpm/browse_source/gpm-1.20.2-broken/COPYING
+++ /dev/null
@@ -1,339 +0,0 @@
- GNU GENERAL PUBLIC LICENSE
- Version 2, June 1991
-
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.
- 675 Mass Ave, Cambridge, MA 02139, 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 Library 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) 19yy
-
- 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., 675 Mass Ave, Cambridge, MA 02139, 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) 19yy 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 Library General
-Public License instead of this License.
diff --git a/software/gpm/browse_source/gpm-1.20.2-broken/Changelog b/software/gpm/browse_source/gpm-1.20.2-broken/Changelog
deleted file mode 100644
index 12067c49..00000000
--- a/software/gpm/browse_source/gpm-1.20.2-broken/Changelog
+++ /dev/null
@@ -1,2097 +0,0 @@
-2005-04-26 Nico Schottelius
- * added patches from Dmitry Torokhov :
- many cleanups, evdev support
- * changed old e-mail
-
-2004-05-18 Nico Schottelius
- * added sources into the monotone tree
-
-2004-03-30 Nico Schottelius
- * changed maintainer email
- * applied two patches from Stepan Kasal
- (gpm-no-makeinfo.patch, gpm-awksub.patch)
- * applied patches from Maciej W. Rozycki
- (gpm-1.20.1-ceil.patch, gpm-1.20.1-consolename.patch,
- gpm-1.20.1-shlib.patch, gpm-1.20.1-contrib.patch)
- * fixed bug in Makefile.in with ash (read -p text variable instead read -p text)
- * added /dev/pts/0 to valid consoles (who contributed this patch?)
-
-2002-12-24 Nico Schottelius
- * removed src/prog/Makefile*: it's easier with one Makefile
- * some cleanups to Makefile.in,src/Makefile.in
-
- ==> gpm-1.20.1 release
-
-2002-12-02 Nico Schottelius
- * added src/prog, src/lib so I don't confuse library / program
- and normal source files...
- * modified src/Makefile.in to fit latest the new directory structure
- * added src/prog/Makefile.in, src/lib/Makefile.in
-
-2002-11-30 Nico Schottelius
- * today leaving the hospital ->
- gpm-1.20.1rc2 will be released, minor fixes/patches will be accepted
- until 15th of Decembre...after that stable 1.20.1 should be out.
-
-2002-11-26 Nico Schottelius
- * gpn.c: moved some opt_ to option. structure
- * gpn.c: cleanup up cmdline
- * startup_n_daemon.c renamed to startup.c as the demon part is old_main
- * server_tools.c: added prototype of init_mice
- * server_tools.c: added prototype of reset_mice
- * -u paramter for autodetection implemented, autodetect() is still missing
- * removed headers/gpmInt.h from gpm-root.y
- * updated -h informations
- * added -DSYSCONFDIR patch from Ben Pfaff -> synaptics should work again
-
-2002-11-23 Nico Schottelius
- * some minimal changes to the Makefile.in, make dist works perfectly now!
- * typo in MANIFEST
- * removed gpmCfg.h from source tree. Merged with gpmInt.h
- => configuring a program via header files is not necessary.
- => either we tune things with ./configure or parameters
- * removed gpm-proto.h as it is not used.
- * added GPM_RELESE_DATE
- * replacing date in doc/doc.gpm.in with @release_date@
-
-2002-11-22 Nico Schottelius
- * heavy work on -M,-o,-m,-t -> gpn.c,server_tools.c,...more description
- follows
- * added add_mouse in server_tools.c
- * added primary support for more than two mice
- * changes to gpn.c to let add_mouse work
- * updated doc/doc.gpm.in
-
-2002-11-08 Nico Schottelius
- * added main.c, which will replace earlier main() function
- * correct the running gpm check, now we start with a stale pidfile, too.
- * added new struct options option
- * next release will have the name 'gpm Autumn', cvs has this name right now
-
-2002-07-17 Dmitry V. Levin
- * bugfix: restored fields order in struct Gpm_Event to avoid ABI change.
-
-2002-06-30 Nico Schottelius
- * removed some files, updated cvs.
-
-2002-05-31 Nico Schottelius
- * applied patch from Kerry Scott McLeod ,
- which fixes some gpm_open() problems (gpm06122002-cvs-tty.patch)
-
-2002-05-31 Nico Schottelius
- * included latest updates to the synaptics driver from peter berg larsen
- (patches/done/applied/diff_synaptics_c_7.gz)
-
-2002-05-27 Nico Schottelius
- * together with Alessandro's help there is now cvs access to gpm
- * added Sven Dickert's patch
- - ms3 wheel / repeater
- - imps2 wheel
- (partly changed to match current code)
- * updated README
- * updated src/report.c: removed now unecessary \ns
- * updated TODO
- * moved ChangeLog to Changelog
-
-2002-05-11 Nico Schottelius
- * updated the FAQ
- * fixed problem with long filenames through linking (src/Makefile.in)
- * added VSXXX-AA ("hockey puck") mice support: patch from
- "Maciej W. Rozycki"
- * fixed minor problems with libgpm.so (shlib-patch, Maciej W. Rozycki)
-
-2002-04-26 Nico Schottelius
- * most of the exams are written, so time is back for gpm:
- applied 3/4 of Peter Berg Larsen's [pebl@math.ku.dk] synaptics patch
- * added doc/HACK_GPM, added a note in README
-
-2002-03-11 Nico Schottelius
- * replaced 2spaces/tabs with three spaces in synaptics.c
- * removed DEBUG_SYNAPTICS in synaptic.c
-
-2002-03-10 Nico Schottelius
- * added doc/support for vendor information about mouse support.
- first document is from logitech
-
-2002-03-03 Nico Schottelius
- * added M_imps2 patch, which looks now for unsigned data instead of signed
- (Paul ...)
- * applied ms3 repeater patch from Andrew
-
-2002-02-28 Nico Schottelius
- * removed warnings about labels (missing semicolon at the end of
- switch() statement)
- * added stdlib.h for exit() to report-lib.c
-
-2002-02-24 Nico Schottelius
- * changed DEF_CLUSTER from 10 to 0 in headers/gpmCfg.h. This makes the mouse
- faster on modern machines, slower on 386. (Proposal by
- Andrew Pimlott and Alessandro Rubini)
- * add DEF_CLUSTER into doc/FAQ if the mouse is too slow.
-
-2002-02-23 Nico Schottelius
- * bugfix: problems in processConn/devfs code. snprintf() didn't work the way
- I expected, so sprintf() and strncpy are used.
- * bugfix: gpm-root won't compile outside the srcdir (Makefile problem)
-
- ==> released gpm-1.20.0
-
-2002-02-22 Nico Schottelius
- * bugfix: sedsid() in gpn.c should only be executed, if running as daemon
- ==> gpm -D works now fine again.
- * bugfix: if condition in gpm.c, gpm_exited() must leave
- ==> removing gpm.pid works again.
- * bugfix: hltest.c: could possibly run with devfs and without it...
- * modifications to Makefile.in
-
-2002-02-20 Nico Schottelius
- * removed gpm_oops and replaced it with gpm_report(GPM_PR_OOPS) although
- the report function should normally not exit....but this way we can
- decide better, if we should take _exit() or exit(). A simple
- 'for file in *.c gpm-root.y ;
- do cat $file | sed
- 's/gpm_oops(FL/gpm_report(GPM_PR_OOPS/g' > $file.new;
- mv $file.new $file;
- done'
- did all the work.
- * added GPM_PR_OOPS to headers/message.h
- * updated check_kill(): we don't need opt_kill, if -k is specified we kill,
- so we can call check_kill() directly.
- * removed unecessary global variable opt_kill
- * updated check_uniqueness: removed unecessary code. made everything more
- simple.
- * moved devfs parts to gpmInt.h (where it belongs to...)
- * removed debugging in gpmInt.h
-
-2002-02-10 Nico Schottelius
- * replaced two with three spaces in mouse-test.c (possibly cindent would have
- helped, too. But I didn't use it until today)
-
-2002-02-10 Nico Schottelius
- * renamed the oops() function to gpm_oops() so we don't pollute
- user space!
-
-2002-02-10 Nico Schottelius
- * added patches from Andreas Mohr: fixed many typos, added descriptions,
- removed warnings (that were patches I really like, although they were
- diffed against gpm-1.19.6.)
- This first patch also included I_ps2, R_ps2
-
-
-2002-02-06 Nico Schottelius
- * added report-lib.c: this is used in libgpm.
- * added tools.c: used by clients (libgpm) and server. (Gpm_Open)
- * added event device patch
- * updated gpm-root.y
- * fixed minor bug in src/Makefile.in
- * 2->3 spaces in mev (via contrib/scripts/replace_2_with_3_spaces
-
- * released gpm-1.20.0-gamma to mailing list.
-
-2002-02-04 Nico Schottelius
- * checked twiddler.c: indent is now okay and gpm_report,too.
-
-2002-02-02 Nico Schottelius
- * checking new functions/debugging other problems in gpm.c,gpn.c,
- mice.c,liblow.c
- * replaced tabs in mice.c with 3 spaces.
- * removed more 'bad' report code (fprintf(stderr, .. ) is deprecated!)
-
-2002-01-29 Nico Schottelius
- * removed default device completly. (gpm.c)
- * added x_high_y() and cnt_digits()
- * replaced all 2/4 spaces in gpn.c with 3 spaces.
-
-2002-01-14 Nico Schottelius
- * applied patch from Blaise Gassend :
- - added an imps2 repeater
- - slight changes to imps2 and synps2 so that roller motions could be
- generated
- * applied gpm-1.19.6-rh-gpm-root.diff from Solar Designer
- * updated MANIFEST: patches are now included in the gpm source tarball.
- * update src/headers/message.h: added new messages
- * cleanup intetion level in gpm.c: now 3 spaces is the standard.
- this makes no problem with tabs! other files follow...
- * cleanup some old oops() calls, which are now oops(FL), as oops is not
- an macro anymore. (gpm.c)
- * cleanup some old gpm_debug_log calls.
- * added FIXME directives for people, who have time to fix some code.
-
-2002-01-08 Nico Schottelius
- * applied awk patch from Jason Gurtz and Mark Hymers
- (markh@linuxfromscratch.org)
-
-2002-01-07 Nico Schottelius
- * updated TODO file.
- * removed -V option (currently gpm_debug_level is not supported anymore)
- * added #defines for message strings to message.h
- * renamed check_devfs to get_console
- * added some initializations to Gpm_Open
-
-2002-01-05 Nico Schottelius
- * finished report.c (gpm_report) which should replace all output
- functions now
- * removed devfs.c (last devfs code is now in gpn.c)
- * removed debuglog.c (all messaging is done through report now)
- * removed headers/wd.h, moved parts into headers/message.h
- * begin to remove debuglog code. (was not clear enough)
- * updated headers/gpmInt.h
- * applied following pataches:
- - gpm-1.19.3-owl-warnings.diff (removed strings.h include)[Solar Designer]
-
-2001-12-02 Nico Schottelius
- * added sample initscript from Solar Designer to contrib/init
-
-2001-11-06 Nico Schottelius
- * removed src/Makefile.dep, added easy dependencies
- * removed headers/general.h, defines.h, gpm-mess.h
- * cleaned up doc/Makefile.in
- * primary ROOT support (for installing in virtual tree)
-
-2001-10-03 Nico Schottelius
- * moved doc/doc.gpm to doc/doc.gpm.in, version is replaced by configure
-
-2001-10-02 Nico Schottelius
- * added src/Makefile.dep, which produces dep files for src/Makefile.
- * updated MANIFEST, README
- * removed devfs from mouse-test.c, it's not needed there.
-
-2001-09-27 Nico Schottelius
- * added double include protection into new header files
- * gpm.c: removed unecessary variables. fixed possible problem with
- braces. thanks to gcc -Wall
- * devfs.c: fixed some static problems stuff
- * liblow.c/twidler.c: removed global variable consolename
- * mice.c: added missing string.h, added braces. removed variables.
- * src/Makefile.in: removed ELISP, those files are in contrib/ now
-
-2001-09-23 Nico Schottelius
- ***** Release 1.19.5
- * fixed libc5 and Linux 2.0 problems
- * new problem with the main Makefile
-
-2001-09-13 Nico Schottelius
- * Makefile fixes (doc/)
- * minor devfs changes
- * added synaptics patch: now all 4 buttons of touchpads are supported.
- (Chun-Chung Chen supplied this patch)
-
-2001-09-08 Nico Schottelius
- * new directory structure
- * new file structure
- * bug in liblow.c fixed: thanks to Jakub Bogusz
-
-2001-09-04 Nico Schottelius
- * removed from source, so we can compile under Linux 2.0
- * rewrote parts of the readme, updated it
-
-2001-09-02 Nico Schottelius
- ***** Release 1.19.4
- * introduced problems with libc5 and linux 2.0!
-
-2001-08-21 Nico Schottelius
- * several files: applied some old patches (imps autodetect, mktemp
- secure problem, IntelliMouse Explorer), preparing next gpm release.
-
-2001-04-23 Nico Schottelius
- * gpm.c: removed default taking of /dev/mouse (problem with devfs).
- Instead print help message, to use the -m 'dev' option
-
-2001-04-22 Nico Schottelius
- * gpm.c, liblow.c, mouse-test.c: primary devfs support added. Now gpm will
- at least start, but some of the hardcoded ttys are still there.
-
-2000-07-18 Alessandro Rubini
-
- * doc/doc.gpm (Command Line): removed "-q" documentation.
-
-2000-07-16 Ian Zimmerman
-
- * gpmInt.h (GPM_REQ_NOPASTE): add this to replace GPM_REQ_CONFIG.
-
- * Makefile.in (GOBJ): no longer link gpm with liblow.o, it was
- only needed for disable-paste.
-
- * doc/doc.gpm (Command Line): remove part about needing setuid in
- disable-paste.
-
- * gpm.c (disable_paste): replace xfer_options with this function.
- (opt_quit): remove.
- (processRequest): replace xfer_options call with disable_paste().
- (processRequest): replace GPM_REQ_CONFIG with GPM_REQ_NOPASTE.
-
- * gpn.c (cmdline): remove all code dependent on opt_quit.
- (cmdline): remove 'q' from getopt argument.
- (xfer_options): remove.
-
-2000-07-14 Ian Zimmerman
-
- * Makefile.in (install): no longer install disable-paste with mode
- 4755.
-
- * gpn.c (xfer_options): make a normal connection (Gpm_Open(*,0))
- rather than a "default" one (Gpm_Open(*,-1)); with identification,
- default connections must be made as root (at least when setuid
- root), and disable-paste no longer runs as root per the previous
- entry.
-
- * gpm.c (processConn): if SO_PEERCRED is defined (which it is at
- least with 2.2.* kernels), use the getsockopt(SO_PEERCRED)
- interface to identify the client, rather than checking the name
- bound to the peer. Security problem reported by Olaf Kirch
-
- (processConn): close the newly accept()ed socket in case of
- identification failure.
- (main): remove initial setuid(0) call; as reported by Olaf Kirch
- this is a general security problem because it
- makes a setuid process appear to be a genuine root process to libc
- internals.
- (main): add a geteuid()==0 check after option processing and
- before main loop.
-
- * liblow.c (Gpm_Open): if SO_PEERCRED is defined (which it is at
- least with 2.2.* kernels), do not bind the client side of the gpm
- socket.
-
- * t-mouse.el (t-mouse-tty): merge patch by Wolfgang Sourdeau
- to deal with yet another and different
- version of procps.
-
-2000-04-19 Koblinger Egmont
-
- ***** Release 1.19.2
-
- * gpm-root.y (f__fix): added initgroups() to definitely fix sec. hole
-
-2000-03-31 Alessandro Rubini
-
- ***** Release 1.19.1
-
- * contrib/Makefile.in: use @release@ as needed
-
- * contrib/: added new patches and reasons why I didn't apply them
- I'll put further patches in ftp://ftp.prosa.it/pub/gpm/patches
-
-2000-03-30 Alessandro Rubini
-
- * gpn.c (find_mouse_by_name): fix by Chris Ruhel (failed for synonyms)
-
- * README.gunze: updated to refer to /dev/touchscreen
-
- * gunze-setup: added missing line (bugfix) and changed default
- device to /dev/touchscreen if available.
-
- * gpm-root.y (f_bgcmd): avoid calling setuid, do it last instead
- (still doesn't use initgroups(), I'll let this to others
-
-2000-03-07 Alessandro Rubini
-
- ***** Release 1.19.0
-
- * contrib/: new directory, with contributed and unapplied patches
-
- * README: gpm is officially unmaintained
-
-2000-02-07 Alessandro Rubini
-
- * gpm.c (getMouseData): downgraded "Error in protocol" to LOG_DEBUG
-
-2000-02-02 Stefan Runkel
-
- * mice.c (I_wacom, M_wacom): new Wacom IV protocol driver
-
- * doc/doc.gpm : Wacom Item updated
-
-2000-02-01 Alessandro Rubini
-
- * gpm.c (processMouse): re-check console size on console change
- (get_console_size): preserve pointer position even if size changed
-
-2000-01-27 Roberto Amucano
-
- * liblow.c (Gpm_CharsQueued): new function
-
-2000-01-20 Alessandro Rubini
-
- * MANIFEST: new file, used in "make dist" as well
-
- * sample/rmev.c (main): reverted too.
-
- * sample/*.in: reverted to the older standalone implementation
-
- * configure.in: don't create sample/Makefile
-
- * doc/localstyle.tex: removed unused file
-
- * configure.in: changed versions (program and library)
-
-2000-01-19 Alessandro Rubini
-
- * doc/doc.gpm (Bugs and Problems): removed the pre-1.0 bug.
- (Mouse Types): Moved chapter: from "internals" to "server invocation"
- (Mouse Types): added the man page gpm-types.7
-
- * tools/b2x.c: new directory and new file, to help with new protocols
-
- * doc/doc.gpm (Mouse Types): added description of gunze
-
-2000-01-17 Alessandro Rubini
-
- * several files: changed maintainership and attributions
-
- * *.[ch] */*.[ch]: fixed address of FSF (now in Boston)
-
- * README doc/doc.gpm: fixed references to /usr and /usr/local
-
-2000-01-17 Ian Zimmermann
-
- * doc/Makefile.in: renived dependency on Makefile
-
- * Makefile.in: removed dependency on Makefile where not needed
-
-2000-01-16 Alessandro Rubini
-
- * mice.c (M_mman): removed unneeded message about extra byte
-
-2000-01-14 Alessandro Rubini
-
- * xf86Summa.*: the files have been added to CVS, for easy retrivial
-
- * mice.c (I_gunze, M_gunze): new touchscreen protocol supported
-
- * gunze-setup: new file (needs to be merged with microtouch)
-
- * README.gunze: new file (needs to be merged with microtouch)
-
- * gpn.c (find_mouse_by_name): bugfix: didn't find repeater name
-
-2000-01-13 Alessandro Rubini
-
- * gpm.c (build_argv): bugfix, didn't parse multiple options.
-
- * mice.c (parse_argv): new function, used by mouse initialization
-
-2000-01-10 Alessandro Rubini
-
- * gpm.c (get_data): avoid a message which is duplicated anyways
-
- * liblow.c (Gpm_GetEvent): avoid the message if no data is there
-
-2000-01-05 Ian T Zimmerman
-
- * mev.c (main): continue if select is interrupted
-
-2000-01-04 Alessandro Rubini
-
- * mouse-test.c: various changes to fit the new mice.c layoutq
-
- * mice.c: use new prototype for init function, and print errors if
- too many options are passed
- (option_modem_lines): use the "dtr", "rts" and "both" options for
- serial devices.
-
- * gpn.c (find_mouse_by_name): new function, using the sysnonym field
- as a list of alternative names
- (cmdline): changed use of the -o option
- (cmdline): avoid closing stderr (init functions must print errors)
-
- * gpmInt.h (Gpm_Type): rename "syn" to "synonyms", and changed its use
- (Gpm_Type): changed prototype of the init function
- (mouse_feautres): removed "opt_toggle", added "opt_options"
-
- * gpm.c (build_argv): new function, used for "-o"
- (wait_text): remove action on RTS and DTR, as it is in done in dev init
- (main): create the argv associated to each device, don't act on DTR
-
-
- * doc/doc.gpm (Mouse Types): revised and completed this list
- (Command Line): documented the new "-o" option
-
- * debuglog.c (gpm_oops): always print to stderr as well
-
-1999-12-08 Alessandro Rubini
-
- * liblow.c (gpm_convert_event): use "unsigned char" for conversion of
- xterm data (suggested and partially done by Christian Weisgerber)
-
------> 1.18.1 released
-
-1999-11-07 Alessandro Rubini
-
- * configure.in (release): 1.18.1
-
- * mice.c: new Wacom decoder, contributed by Stefan Runkel
- . Also a flag marking mouse types that
- offer a repeater.
-
-1999-10-07 Alessandro Rubini
-
- * README: added a paragraph about the CVS repository
-
- * Makefile.in: removed ".SECONDARY" for gpm-root.c
-
- * gpm-root.y (getdraw): lowered the loglevel for stat(user)
-
-1999-09-12 Ian T Zimmerman
-
- * doc/doc.gpm: Update version and update-month.
-
- * configure.in (release): Bump to 1.18.0.
-
-1999-08-05 Ian T Zimmerman
-
- * mice.c (M_wp): Matt Kimball writes: A
- few weeks ago I asked for help getting my Genius WizardPad tablet
- to work. (The 'acecad' driver got it to talk back, but gpm
- couldn't understand).
-
- Well, this morning I got the technical spec for my tablet from the
- Genius people, and as of right now I am actually able to use my
- tablet as my only pointing device under X. Woohoo!
-
- To do it, I actually added support for the WizardPad to gpm and
- set gpm in Summa repeater mode. Thanks gpm folks for making it so
- easy to get my tablet working in so little time! (After getting
- the specs, of course).
-
- Attached is a patch against gpm which provides support for the
- WizardPad protocol. It turns out that it isn't related to the one
- that 'acecad' is using at all. It just happened that 'acecad'
- sent some things which made the WizardPad talk back.
-
-Mon Jun 28 07:18:44 1999 Ian T Zimmerman
-
- * doc/doc.gpm: Changed info file category because gpm is not
- really part of Emacs.
-
-Thu May 27 23:20:15 1999 Ian T Zimmerman
-
- * synaptics.c (ser_read): Apply patch by Henry
- to allow the touchpad to be ignored if it
- is unplugged.
-
-Tue May 11 18:57:15 1999 Ian T Zimmerman
-
- * mice.c: Geert Van der Plas provided
- the code to support older Synaptics PS/2 touchpads.
-
- * synaptics.c: Geert Van der Plas
- provided the code to support older Synaptics PS/2 touchpads.
-
- * mice.c (M_summa): realposy should be 0
- based.
-
-Fri May 7 22:28:38 1999 Ian T Zimmerman
-
- * configure.in (release): Bumped to 1.17.8
-
- * synaptics.c: Fixes by Henry Davies
-
- * README: Fix email addresses, contributed by Davide Barbieri
-
-
-Tue Apr 20 07:12:57 1999 Ian T Zimmerman
-
- * aclocal.m4: Add ITZ_CHECK_TYPE.
-
- * configure.in: Use ITZ_CHECK_TYPE.
-
- * liblow.c (Gpm_Open): Before trying ttyname(0) etc., check that
- the file number refers to a tty device in the first place. This
- is because libc 5 implementation of ttyname() can be wastefully
- slow. Antonio Colombo
-
-Tue Apr 6 02:22:31 1999 Ian T Zimmerman
-
- * configure.in: Change way we deal with presence or absence of
- __u32, due to glibc header differences. Dan Yefimov
-
- (release): Stepped release to 1.17.7
-
-Wed Mar 31 00:03:38 1999 Ian T Zimmerman
-
- * doc/doc.gpm (Demo Clients): Split index into Type, Function, and
- Variable indices. It was getting unwieldy.
- (Mouse Types): Corrected mtouch item in mouse types.
-
- * configure.in (release): Bumped release number to 1.17.6.
-
- * Makefile.in (DIFFS): Add the microtouch files.
-
- * mice.c (M_mtouch): Add Alessandro's MicroTouch tablet decoder.
-
- * doc/doc.gpm (Mouse Types): Add info about microtouch device
- type.
-
- * README: Update information about mailing list and Alessandro's
- current address.
-
- * libxtra.c (Gpm_GetSnapshot): More defensive checks for the case
- of missing gpm binary.
-
- * mouse-test.c (main): Replaced makedev with gpm_makedev for
- compatibility with glibc2. Reported and fix suggested by David
- Monniaux .
-
-Tue Mar 30 23:59:47 1999 Ian T Zimmerman
-
- * mev.c (do_snapshot): Now checking for error return from
- Gpm_GetSnapshot.
-
-
-Sat Mar 27 22:01:35 1999 Ian T Zimmerman
-
- * doc/doc.gpm: Removed redundant @findex lines (@deftypefun
- creates an index entry atomatically). This didn't do any harm
- when processed by makeinfo, but it confuses stupid texi2html into
- producing 2 identical index entries.
-
-Tue Mar 2 00:29:40 1999 Ian T Zimmerman
-
- * mev.c (do_snapshot): Check return value from Gpm_GetSnapshot,
- barf loudly if it fails. (Alessandro Rubini , who
- really should run "make install" someday :)
-
- * mice.c: Apply patches from Frank Holtz to
- handle Acecad tablets; and from Alessandro Rubini
- to fix stale comments about format of mouse type
- table.
-
-Thu Feb 18 21:21:56 1999 Ian T Zimmerman
-
- * gpm.c (processMouse): Apply latest patch from Frank Holtz
- to produce more isotropic moves.
-
- * mice.c (M_summa): Add Frank Holtz's Summa
- protocol support, at last. This really needs testing. But I
- suppose we'll hear about any bugs even without asking.
-
-Wed Feb 17 21:51:00 1999 Ian T Zimmerman
-
- * gpn.c (check_kill): Really unlink the stale pid file, not jusk
- talk about it.
-
- * doc/doc.gpm (Command Line): Improve description of the -V option
- as suggested by Mircea Damian . (Linux in
- Romania -- world domination must be really close now).
-
-Mon Feb 15 10:25:53 1999 Ian T Zimmerman
-
- * synaptics.c: Make source likable to Emacs (function-opening
- braces in column 1 please).
- (syn_read_config_file): Config file should go to /usr/etc
- (ie. SYSCONFDIR), look for it there.
-
- * mice.c (I_serial): Assume synaptics device needs baud rate
- notification like other serial mice.
-
- * Makefile.in (%.elc): Correct Emacs byte compilation rule for
- backward compatibility.
-
- * mice.c: Add Synaptics support from Henry Davies
- .
-
- * Makefile.in (DIST): Add Synaptics support files from Henry
- Davies .
-
-Sat Feb 13 10:27:35 1999 Ian T Zimmerman
-
- * gpm.c (processMouse): Add Frank Holtz's code
- for repeating from absolute protocols, with the deletion of some
- device-specific and resolution-specific stuff. This should be
- tested, somebody with an absolute device please run "gpm -R msc"
- and see what happens in X.
-
- * mice.c: Add Frank Holtz's SummaSketch driver.
- It is disabled for nonce because of continuing confusion over that
- protocol. Anybody with better people/communication skills than I
- have is encouraged to contact Frank and make sure his contribution
- (which is very welcome in principle) conforms to gpm's design and
- coding pratices.
-
- * mev.c (main): Stop immediately if I discover I run in xterm.
-
- * doc/doc.gpm (mev): Document newly missing xterm functionality.
-
-Sun Jan 24 09:03:47 1999 Ian T Zimmerman
-
- * Makefile.in (DIST): Add exec.el back in.
-
-Thu Jan 14 12:47:53 1999 Ian T Zimmerman
-
- * doc/manpager: Handle @file{} as well.
-
- * doc/doc.gpm: Hardcode major release number back in. Argh.
- Fix more formatting in manpages.
-
- * doc/Makefile.in (%.texinfo): Roll back this ill-considered
- change; it forces re-TeXing gpm.texinfo.
- (TEXI2HTML): Be consistent and make option part of make variable.
-
-Wed Jan 13 21:21:03 1999 Ian T Zimmerman
-
- * doc/doc.gpm: Fixed incosistent formatting, removed instances of
- gratuitous visual formatting.
-
- * doc/Makefile.in (%.texinfo): Give an additional script piece to
- sed to substitute for %RELEASE%.
- (%.html): Add rule for Web fanatics.
-
-Tue Jan 12 00:11:10 1999 Ian T Zimmerman
-
- * doc/manpager: Improve to italicize @var{} items.
-
- * doc/doc.gpm (Command Line): Document parametrized repeater, in
- particular raw repeater.
-
-Mon Jan 11 22:42:16 1999 Ian T Zimmerman
-
- * mice.c (mice): Add the repeat_fun fields.
- (R_msc): Add.
-
- * gpm.c: Apply patch from "Jan D."
- for raw repeater.
- (opt_repeater_type): Add.
- (repeated_type): Add.
- (processMouse): Use repeat_fun rather than hardcoding msc protocol
- in repeating.
-
- * gpmInt.h: Apply patch from "Jan D."
- for raw repeater.
- (opt_repeater_type): Add.
- (repeated_type): Add.
- (Gpm_Type): Add new method repeat_fun to handle the
- task of repeating a given mouse event in a particular protocol.
-
- * gpn.c: Apply patch from "Jan D."
- for raw repeater.
- (cmdline): Use an optional argument to -R rather than a new option.
- Barf if the repeat_fun method of requested protocol is null.
-
-Fri Jan 8 11:05:57 1999 Ian T Zimmerman
-
- * aclocal.m4: Change darned gcc test again because GCC variable is
- modified by AC_PREFIX_PROGRAM. Use ac_cv_prog_gcc instead.
-
- * gpm-root.y (get_winsize): use /dev/tty0 not /dev/console.
- (f.debug): disable undocumented f.debug function
- because it uses a file in /tmp in a fashion which invites symlink
- abuse.
-
- * mouse-test.c (main): exclude devices with a minor number of 130
- from the device probe to avoid causing spontaneous reboots on
- machines where watchdog is used. Reported by Jim Studt
- , patch by James Troup .
-
- * gpn.c (usage): typo (s/an unexistent/a non-existent/). Patch by
- James Troup .
-
- * doc/manpager: Interpret only with gawk. Patch by James Troup
- .
-
- * aclocal.m4: Change broken test for gcc to use $GCC, not $CC. As
- reported by James Troup .
- Replace -fpic with -fPIC. As suggested by
- James Troup .
- Add dependency on libc to shared library linking flags.
- As suggested by James Troup .
-
-Thu Jan 7 21:36:46 1999 Ian T Zimmerman
-
- * doc/doc.gpm: Apply patch from James Troup
- fixing various typos and documenting the mouse-test program.
-
-Sun Jan 3 11:43:20 1999 Ian T Zimmerman
-
- * doc/Makefile.in (append-diff): diff exits with status 1 if it finds
- differences. Argh.
- (install): Make sure data files are installed with 644 mode.
-
- * Makefile.in (append-diff): diff exits with status 1 if it finds
- differences. Argh.
- (install): Make sure data files are installed with 644 mode.
-
- * gpmCfg.h (MAX_VC): Use MAX_NR_CONSOLES to define this if
- possible.
-
- * configure.in: Add a check for linux/tty.h.
-
- * doc/doc.gpm (Command Line): Document -A [limit].
-
- * gpn.c (usage): Indicate that -A takes an optional parameter.
- (cmdline): Add setting of opt_age_limit depending on optional
- parameter to -A.
-
- * gpmInt.h (opt_age_limit): Add.
-
- * gpm.c (selection_paste): Add general aging test.
-
-Sun Dec 27 08:05:18 1998 Ian T Zimmerman
-
- * doc/doc.gpm: Add a directory entry for install-info.
-
-Sat Dec 26 17:05:22 1998 Ian T Zimmerman
-
- * Makefile.in (libgpm.so.@abi_full@): Start a new version number
- scheme for the shared library. This is intended to be compatible
- with libtool versioning, and the initial number is chosen with
- continuity in mind, so nothing needs to be recopmiled or even
- relinked.
-
- * configure.in: Rewrite auto-configuration rules per Autoconf Info
- page.
-
- * Makefile.in (config.h): Add config.h support to reduce build
- noise.
-
-Wed Dec 16 22:06:31 1998 Ian T Zimmerman
-
- * liblow.c (Gpm_Open): Use sigaction() instead of signal() to
- manipulate SIGWINCH and SIGTSTP; suggested i.a. by Jan Vroonhof
- to fix an infinite signal loop under
- XEmacs.
-
- * gpn.c (cmdline): Get rid of remaining uses of stderr
- (suggested by md@linux.it (Marco d'Itri)).
-
- * gpm.c (gpm_killed): Get rid of remaining uses of stderr
- (suggested by md@linux.it (Marco d'Itri)).
-
- * mice.c: Apply patch from John Anderson to
- support Calcomp UltraSlate tablets.
-
- * t-mouse.el (t-mouse-make-event): Applied patch from Tom Breton
- for braindead chords in t-mouse with 2 button
- mice.
-
-Tue Nov 17 23:10:04 1998 Ian T Zimmerman
-
- * configure.in (release): Step to 1.16.0
-
-Mon Oct 5 22:00:19 1998 Ian T Zimmerman
-
- * Makefile.in (append-diff): Add some flags to the diff command
- (most important, --unidirectional-new-file).
-
-Wed Sep 30 11:08:59 1998 Ian T Zimmerman
-
- * doc/manpager: Add handling of forced line breaks,
- cross-references, and boldface (used for cross-references).
-
- * doc/doc.gpm: Fixed manpage cross-references.
- (Command Line): Mention disable-paste.
-
-Tue Sep 29 10:39:48 1998 Ian T Zimmerman
-
- * gpn.c (xfer_options): Move the option structure type into
- gpmInt.h to prevent stupid future problems.
-
- * Makefile.in (install): Add disable-paste (and make it setuid).
-
- * disable-paste.c (main): Add a new program (not a large one :)
-
- * mice.c (M_brw): Apply eb patch for broken Fellowes Browser mice.
-
- * sample/Makefile.in (append-diff): Added rules to recursively
- append to the diff file being created in top directory.
-
- * Makefile.in (DIST): Remove exec.el from the distribution because
- it is not needed anymore. Modern Emacs has en --eval command line
- option that allows me to do the same thing directly.
-
- * configure.in (ITZ_PATH_SITE_LISP): Use it.
-
- * aclocal.m4 (ITZ_PATH_SITE_LISP): Added.
-
-Mon Sep 14 18:03:45 1998 Ian T Zimmerman
-
- * doc/Makefile.in (gv): Replace "$(TARGET)" with "gpm".
-
- * Makefile.in (gpm-%-to-@release@.diff): Added rule to create a
- diff from snapshot of previous release.
-
- * mice.c: Reapply Edmund Grimley Evans' patch with new mouse types
- ms+ and ms-lr which get lost somewhere.
-
-Sun Sep 13 00:08:54 1998 Ian T Zimmerman
-
- * configure.in: Set CURSES_OBJS dependent on finding the curses header.
-
-Sat Sep 12 10:53:54 1998 Ian T Zimmerman
-
- * Makefile.in (LOBJ): Make the buliding of libcurses.o decided by
- configure again.
-
- * libcurses.c (Gpm_Wgetch): Remove the ELF assembler-dependent
- wgetch hack again, as it is not really needed as long as clients
- are linked statically.
-
- * gpm.c (processRequest): Removed GPM_REQ_CLEAR again, now that its
- functionality is available with the -A flag and opt_aged.
-
- * gpmInt.h: Removed GPM_REQ_CLEAR again, now that its
- functionality is available with the -A flag and opt_aged.
-
- * libxtra.c: Removed Gpm_ClearSelection() again, now that its
- functionality is available with the -A flag and opt_aged.
-
- * gpm.h: Removed Gpm_ClearSelection() again, now that its
- functionality is available with the -A flag and opt_aged.
-
- * mev.c (interact): Removed "clear" command again, now that its
- functionality is available with the -A flag and opt_aged.
-
- * gpmInt.h: Change signature of xfer_options().
- Remove it altogether, it's better static and split to gpn.c and
- gpm.c.
- Add opt_aged.
-
- * gpn.c (check_uniqueness): Completely rewritten. This function
- was a messy mixture of different things.
-
-Wed Sep 9 09:50:59 1998 Ian T Zimmerman
-
- * libxtra.c (Gpm_GetServerVersion): Provide explicit path for
- popen of gpm daemon.
-
- * sample/Makefile.in (rmev.o): Added target because of usage of
- RMEV_RELEASE.
- (prefix): Looks like this has to be done in _every_ Makefile,
- sigh. Even if it is not used explicitly, configure subsitutes
- e.g. "@sysconfdir@" with "$(prefix)/etc".
- (sysconfdir): Added sysconfdir.
-
- * Makefile.in (gpn.o gpm-root.o twiddler.o): gpn.o added to this
- target because it uses RELEASE symbol substituted by configure.
-
-Tue Sep 8 14:04:44 1998 Ian T Zimmerman
-
- * mev.c (interact): Added case for "clear" command.
-
- * libxtra.c (Gpm_ClearSelection): Added.
-
- * gpmInt.h (GPM_REQ_CLEAR): Added (rubino's objection overruled;
- the gpm protocol is not really ugly, it's the code that is, in
- effect casting the data exchanged to Gpm_Conn and Gpm_Event. It
- could be coded cleanly or even fixed from present state, but don't
- hold your breath, you could suffocate.)
-
- * gpm.h: Add Gpm_ClearSelection.
-
- * t-mouse.el (t-mouse-swap-alt-keys): Added. This is what is
- called "personal variable" :-) I swap the left and right Alt keys
- in my Linux keytable, but I still want Emacs to handle left-Alt
- events.
-
-Wed Sep 2 00:09:42 1998 Ian T Zimmerman
-
- * doc/Makefile.in (maintainer-clean): Ignore errors because the file
- list can be empty.
-
- * sample/Makefile.in (maintainer-clean): -rm -i for uniformity.
-
- * Makefile.in (maintainer-clean): Ignore errors because the file
- list can be empty.
-
- * mouse-test.c (makedev): Add O_NONBLOCK to open ttyS devices
- (otherwise the program hangs in this function, at least on my
- system).
-
- * doc/doc.gpm (gpm-root): Use @file at several places in
- preference to other markup. Fix several other general
- documentation bugs, mostly referring to obsolete (non-)features.
-
- * doc/Makefile.in (.SECONDARY): Need both %.ps and gpm.ps ---
- looks like a gmake bug.
-
- * sample/gpm-xterm.h: Applied patch by Jean-Daniel
- for looking back when scanning arrow key
- sequences.
-
- * Makefile.in (datadir): Oops, need to define this if I define
- elispdir. GNU standard document a little incomplete on this
- point.
-
-Fri Aug 28 00:06:05 1998 Ian T Zimmerman
-
- * configure.in: Oops, autoconf hates newlines between filenames in
- AC_CHECK_HEADERS.
-
- * create_vcs: Create symlinks in /dev for the new (or old?) names
- mandated by kernel device list.
-
- * gpm-root.y (main): Check for both /dev/vcs and /dev/vcs0. Also
- check for correct device number.
-
- * configure.in: Check for sys/sysmacros.h and linux/major.h.
-
-Thu Aug 27 09:33:56 1998 Ian T Zimmerman
-
- * sample/Makefile.in: Add TAGS rule.
-
- * Makefile.in (libgpm.so.@release@): Change sed script to extract
- the major release number, now that there are 2 dots in the
- complete number.
-
- * configure.in (release): Now includes the patchlevel number, for
- instance 1.15.5.
-
- * sample/configure.in (release): Define this as RMEV_RELEASE.
-
- * configure.in (release): Define this as both GPM_RELEASE and
- RMEV_RELEASE.
-
- * gpmCfg.h: Delete RELEASE definition. (will be passed from
- configure).
-
- * sample/rmev.c (RMEV_DATE): Define from RCS checkin date.
- Delete RELEASE definition. (will be passed from configure).
-
- * gpmCfg.h (GPM_DATE): Define from RCS checkin date.
-
- * sample/gpm-xterm.c: Delete RELEASE definition.
-
- * Makefile.in: For submakes, add -lgpm to LIBS. Put do-all before
- @SHLIB@ in the rule for all; let's hope that means submakes will
- use the static library.
- Oops, that didn't work. Another try: name the shared library
- libgpm.so.@release@ maybe that way linker won't find it.
-
- * configure.in (GPMXTERM): This is needed because we now configure
- under sample.
-
- * Makefile.in: Add sample to subdirs for recursion.
-
- * sample/gpm-xterm.c: Include whatever curses header we can find.
-
- * sample/rmev.c (main): Rewrite to use termios to set raw terminal
- mode, not n?curses.
-
- * Makefile.in (top_builddir): Add top_builddir because it is now
- mentioned in @LDFLAGS@.
-
- * configure.in (CPPFLAGS): Add top_srcdir to the include path.
- (LDFLAGS): Add top_builddir to library path.
- Add sample/Makefile to output files.
-
- * sample/configure.in: Simplified to use default autoconf behavior
- where possible.
- Only look for n?curses if we're building without gpm.
-
- * sample/Makefile.in: Rewrite to be able to act as slave for
- toplevel.
-
- * doc/Makefile.in: Mostly rewritten to act as slave for toplevel
- Makefile.
- (mostlyclean): Instead of moving gpm.ps to a funny filename and
- then back just to delete all the gpm.?? files, let's just rename
- it permanently to gpmdoc.ps. Create a SECONDARY rule to avoid
- re-TeXing after gpm.ps has been renamed.
-
- * configure.in (lispdir): Set as recommended by GNU standard.
-
- * Makefile.in (DIST): Fix typo (create-vcs => create_vcs).
- (.SUFFIXES): Clear this before setting it. Magic suggested by the
- Standards Info file.
- (install): Add install-strip.
- Added subdirectory recursion magic.
-
- * configure.in: Rewrite for new Makefile.
-
- * aclocal.m4: Delete useless stuff.
-
- * Makefile.in: Complete rewrite, now conforms to GNU standard.
-
- * libcurses.c: Remove the curses argument, it's quite useless.
- Check for the curses header in reasonable places.
-
- * configure.in: Remove the curses argument, it's quite useless.
- Check for the curses header in reasonable places.
-
- * README: Fix references to /usr/bin/gpm as gpm is now installed
- in /usr/sbin.
- Fix reference to /etc/gpm-root.conf as this file is now installed
- in SYSCONFDIR (== /usr/etc by default).
-
- * gpm-root.y (SYSTEM_CFG): Place this in SYSCONFDIR not hardcoded
- in /etc.
-
- * README: Fixed reference to debugging version.
-
-Wed Aug 26 18:47:16 1998 Ian T Zimmerman
-
- * aclocal.m4: Add ITZ_PROG_EMACS.
-
- * twiddler.h (TW_CUSTOM_FILE): These files now go to SYSCONFDIR
- which is the GNUsically correct way.
-
- * configure.in: Use LIBS (GNU standard) not LDLIBS.
- Add AC_REVISION.
- Make srcdir an absolute path.
- Figure out default prefix based on location of gcc.
- Use AC_CHECK_TYPE to look for __u32.
- Don't cache the values from command-line options.
- (REL_MAJ): This and RELEASE shouldn't be cached either, as
- Alessandro has discovered.
-
-Thu Aug 20 00:07:42 1998 Ian T Zimmerman
-
- * Makefile.in (all): Should now recurse into doc ...
-
- * doc/doc.gpm (Server Invocation): The server manpage should go to
- section 8, not section 1.
- (gpm-root): Fixed all references in the documentation to
- /var/run/gpmctl to /dev/gpmctl.
-
- * doc/Makefile.in (install): Added this rule here instead of
- installing directly from top make. Since I care about consistency
- so much, I must have a little mind ...
- (distclean): Don't directly rm doc/Makefile from top make,
- instead recursively make distclean in doc subdirectory.
-
- * Makefile.in (distclean): Don't directly rm doc/Makefile here,
- instead recursively make distclean in doc subdirectory.
-
-Wed Aug 19 13:01:00 1998 Ian T Zimmerman
-
- * gpm.c (processConn): Added code to bind the client side of the
- socket to the name of a temporary file. This is a quick and dirty
- authentication scheme described in Stevens p. 504.
-
- * liblow.c (Gpm_Open): Added code to bind the client side of the
- socket to the name of a temporary file. This is a quick and dirty
- authentication scheme described in Stevens p. 504. Server side
- hack to follow shortly.
-
- * Makefile.in (distclean): Have to clean doc/Makefile as well.
-
- * doc/doc.gpm (gpm-root): Argh, haven't understood that the
- manpages are generated from the info source. Added description of
- the options here. TODO: cross-references in manpages should be in
- bold type. Someone has to hack doc/manpager to do that.
- (Emacs Support): Deleted obsolete rubbish about t-mouse.
-
-Thu Aug 13 13:39:23 1998 Ian T Zimmerman
-
- * Makefile.in (install): gpm should go to /usr/sbin not /usr/bin.
-
- * configure.in: Enable libtinfo.
-
- * libcurses.c: Added weak definition of wgetch() that programs
- which don't need the curses part of the library don't need to link
- the whole libncurses (instead they can link with libtinfo).
-
- * gpm-root.y (main): restructured to use the new style logging exclusively.
-
- * gpm.c (main): moved file cleanup into an atexit hook.
-
- * gpn.c (cmdline): restructured to use the new style logging exclusively.
-
-Thu Jul 2 00:05:16 1998 Ian T Zimmerman
-
- * gpm-root.1: Add -D & -V to the options string. Add boldface to
- man references.
- Update pathname for /dev/gpmctl (should this be
- done automatically?)
-
- * gpm.1: Described new -D & -V options. Added boldface to other
- manpage references, to make them behave as hyperlinks where
- software allows.
-
- * gpm-root.y (main): Add -D & -V to the options string.
-
- * configure.in: Fixed show-stopping problem of repeated calls to
- AC_OUTPUT.
-
- * gpm-root.y: Replaced PERROR calls with gpm_debug_log.
- (usage): Document new flags -D and -V, in analogy to gpm flags.
- (cmdline): Implement the new options.
-
-Wed Jul 1 09:56:30 1998 Ian T Zimmerman
-
- * gpm-root.y: Replaced PDEBUGGGG calls with gpm_debug_log.
- (PERROR): Remove.
-
- * gpm-root.y: Reindent.
-
- * debuglog.c (gpm_oops): Moved va_list declaration in front of
- initialization statements (I hate C!).
-
- * gpm.c (processRequest): Fixed debug statement to look inside
- passed Gpm_Cinfo structure.
-
- * tar.exclude: added sundry files created by configure.
-
- * Makefile.in (tar): changed tar flags to GNU style, otherwise
- options get confused with filenames. If anybody tries to use this
- rule with a non-GNU tar, good luck. Also added -9 flag to gzip
- to squeeze that last byte :-)
-
- * special.c: Replaced PDEBUG invocations.
-
- * mouse-test.c (_oops): Delete, it is in the library now.
-
- * mice.c: Replaced PDEBUG invocations with gpm_debug_log.
- Reindent.
-
- * libxtra.c: Reindent.
- (Gpm_GetSnapshot): Replaced PDEBUG invocations with gpm_debug_log.
-
- * liblow.c: Replaced PDEBUG invocations with gpm_debug_log.
-
- * liblow.c: Reindent.
-
- * gpn.c (cmdline): replaced old oops invocations.
-
- * wd.h (gpm_oops): Add declaration.
-
- * gpmInt.h: remove declaration of _oops (see above).
-
- * debuglog.c (gpm_oops): Added as a replacement for _oops in gpn.c.
-
- * configure.in: check for syslog() as well
- Added check for alloca().
-
- * gpn.c: removed _oops; see above.
-
- * gpmInt.h (_oops): Changed signature of _oops
- (oops): redefined accordingly
-
- * gpm.c: Removed a few leftover newlines in logging calls
-
- * gpn.c: Reindent, because it was so bad as to confuse my tools.
- (usage): Added description of new options -D and -V. Used D
- partly because it is mentioned in the string passed to getopt(),
- but is actually unused.
- (cmdline): Added -D and -V to the getopt() loop.
-
- * gpm.c: Replaced ugggly macros by calls to gpm_debug_log.
-
- * debuglog.c (gpm_debug_log): Print a trailing newline if using
- stdio.
-
- * configure.in: Added generation of doc/Makefile
-
- * gpn.c: Removed the Log function (now done through debuglog.c)
-
- * gpmInt.h: Removed debug/log related declarations (now in
- wd.h/debuglog.c)
-
- * gpmCfg.h: Removed CONFIG_GPM_LOG line.
-
- * gpm.h: Twiddled various pathnames, included paths.h
-
- * Makefile.in (tar): exclude the files mentioned in tar.exclude.
- Create the archive in the current directory, not parent.
-
- * configure.in: Move doc/Makefile to doc/Makefile.in and make
- configure generate doc/Makefile. Right now it doesn't substitute
- anything, but it might one day, the new way is better conformant
- with GNU distribution guidelines, and it makes it easier to create
- clean tarballs. (There, a fine oxymoron.)
-
- * Makefile.in (LOBJS): Added debuglog.o
- (TARGET): Likewise.
- (depend dep): The preprocessor run needs $(CPPFLAGS).
- (DEPEND DEP): Likewise.
- (CPPFLAGS): Split from CFLAGS to correctly distribute flags to
- compilation and preprocessor rules.
- (.sh.o): needs CPPFLAGS.
- ($(TARGET)): This needs LDFLAGS, not CFLAGS.
- ($(TARGET).static): Likewise.
- (mouse-test): Likewise.
-
- * tar.exclude: create
-
- * wd.h: Rewritten to refer to debuglog.c.
-
- * debuglog.c (gpm_debug_log): Prefixed globals with gpm_ as this
- is going into the library.
- (gpm_debug_log): Reversed level test.
- (gpm_debug_level): 2 alternative definitions depending on DEBUG.
-
- * aclocal.m4 (DEFS): -DDEBUG should go into DEFS, not CFLAGS.
- This would actually make a difference if we autogenerated header
- dependencies. Which we do, but the make rule for it is
- imprecise. See Makefile.in entry above.
- Also, use AC_DEFINE instead of twiddling the flags by hand.
-
- * configure.in (DEFS): check for syslog.h and vsyslog().
- (DEFS): Moved definition of PREFIX here from Makefile.in.
-
- * debuglog.c (debug_log): created.
-
-Sat Jul 25 21:08:46 1998 Edmund Grimley Evans (edmund@vocalis.com)
-
- * mice.c: added M_ms_plus and M_ms_plus_lr
-
-Mon Jul 6 13:00:23 1998 Robin Houston (robin.houston@guardian.co.uk)
-
- * mev.c (main): "-p" doesn't take an argument
-
-Sat Jul 4 14:40:09 1998 Dan Fandrich (danf@npsnet.com)
-
- * mice.c (I_serial): Send only "*X" to mman
-
-Mon Jun 15 21:31:35 1998 Pavel Machek (pavel@ucw.cz)
-
- ===> 1.14 released
- * mice.c: added support for Genius NetMouse
-
-Sun May 10 11:12:46 1998 David Given (dg@tao.co.uk)
-
- * mice.c (M_js): joystick support
-
-Sun May 10 10:41:58 1998 Ian Zimmermann (itz@lanminds.com)
-
- * t-mouse.el: partial rewrite to enhance its workings
- * mev.c: partial rewrite to fit t-mouse.el
-
-Tue Apr 21 18:24:52 1998 Holger Jakob (jakob@ph-cip.Uni-Koeln.DE)
-
- * mice.c: changed all (char) to (signed char), to suit ppc Linux
-
-Tue Jan 6 00:31:25 1998 Alessandro Rubini (rubini@amelia)
-
- * gpn.c (cmdline): -M forces -R (why didn't it?)
- * Makefile.in (YACC): Use autoconf to assign YACC
-
-Mon Jan 5 14:48:23 1998 kw@dtek.chalmers.se (Kristian Wiklund)
-
- * mice.c (M_geni): new mouse type
-
-Mon Jan 5 00:53:57 1998 Alessandro Rubini (rubini@amelia)
-
- * twiddler.c: new file to support keyboard workings
- * README.twiddler: documentation about the twiddler keyboard
- * gpn.c (cmdline): opt_scale ("-r") is now limited to 100
-
-Mon Dec 29 09:43:28 1997 (rubini@morgana)
-
- * mice.c (M_twid): new mouse type
- * mice.c: removed the PROTO field
- * kmouse.h: removed the file
-
-Thu Sep 11 21:43:27 1997 Jan Daciuk (jandac@pg.gda.pl)
-
- ===> 1.13 released
- * t-mouse.el (t-mouse-tty): another possibility for ps
- * gpm.h (GPM_XTERM_OFF): the string was buggy (James Troup)
- * gpm-root.c (get_winsize): use tty0 not console
-
-Sun Sep 7 12:00:35 1997 Steve Bennett (s.bennett@lancaster.ac.uk)
-
- * mice.c: new type "-t ms3" for intellimouse devices.
-
-Sun Sep 7 12:00:35 1997 Alessandro Rubini (rubini@amelia)
-
- * gpn.c (cmdline): bugfix: accel allowed to be 1
-
-Mon Sep 1 14:22:31 1997 (rubini@morgana)
-
- * mice.c: new type "-t pnp", supporting braindead ms devices.
-
-Sun Aug 31 18:28:01 1997 (rubini@morgana)
-
- * gpm-root.y (f_mktty): use /sbin/mingetty instead of agetty
-
-Fri Aug 29 08:11:32 1997 (rubini@morgana)
-
- * Makefile (configure): update ./configure when needed
-
-Fri Apr 11 10:19:18 1997 (rubini@morgana)
-
- * mev.c (main): Ctrl-C terminates the program
- * doc/doc.gpm: revision of the docs.
-
-Tue Apr 8 17:06:06 1997 (Dave Flater: dave@universe.digex.net)
-
- * mice.c (M_ms): removed a typo in the disabled decoder
- * FAQ: Marked the change in the decoder for ms-middle
-
-Tue Apr 8 16:57:17 1997 (Ian Zimmermann: itz@rahul.net)
-
- * gpm.c: fix to handle the whole stack of clients
- * liblow.c (Gpm_Open): support for SIGTSTP
-
-Tue Apr 8 01:27:09 1997 (Thomas E. Dickey: dickey@clark.net)
-
- * aclocal.m4, configure.in: added support for autoconf
-
-Tue Apr 8 00:48:46 1997 (rubini@morgana)
-
- * doc/doc.gpm (Mouse Types): fixed the list
- * gpmCfg.h (MAX_VC): raised from 32 to 64 (needed by some users)
- * README: Added a check for "window-system" in the .emacs clause
-
-Tue Apr 8 00:35:33 1997 (Pavel Machek: pavel@Elf.mj.gts.cz)
-
- * mice.c (M_logimsc): new mode needed for some mice
-
-Tue Apr 8 00:13:30 1997 (Matthias Grimrath: y0001032@rzserv8.rz.tu-bs.de)
-
- * gpm.h: check for c++ inclusion
-
-Tue Apr 8 00:10:33 1997 (Stephen Tell: tell@cs.unc.edu)
-
- * mice.c (M_ps2): patch to support some strange devices
-
-Tue Aug 27 15:54:10 1996 (rubini@morgana)
-
- * gpmCfg.h (SELECT_TIME): increased, to avoid possible hd spinup.
-
-Fri Jul 26 12:33:39 1996 (rubini@morgana)
-
- ===> 1.10 released
- * FAQ: new file
- * doc/doc.gpm: provided docs about special commands
-
-Thu Jul 25 09:38:29 1996 (jrt@miel.demon.co.uk)
-
- * gpm-root.y (main): added a missing arg in a message
-
-Wed Jul 10 15:59:33 1996 (rubini@morgana)
-
- * liblow.c (Gpm_Open): fixed a fault when stdin not a tty (John Davis)
- * mice.c (I_wacom): fixed initialization
- described the fields of Gpm_Type, in order to easily add new types
- * special.c: new file, based on an idea by Karsten Ballueder
- * gpm.c (processMouse): use a different "repeater" (Markus)
-
-Sun May 5 22:01:48 1996 (rubini@morgana)
-
- ===> 1.09 released
- * gpmCfg.h (DEF_GLIDEPOINT_TAP): changed to 0. The tapping code
- for ps2 mice must be disabled for non glidepoint protocols.
-
-Tue Apr 23 14:05:43 1996 (rubini@morgana)
-
- ===> 1.08 released
- * mice.c: support glidepoint ps2 mice (suggested by Don Schwarz)
-
-Mon Apr 22 15:20:05 1996 (rubini@morgana)
-
- * mice.c: added the wacom protocol
-
-Sun Apr 14 20:59:08 1996 (rubini@morgana)
-
- * t-mouse.el (t-mouse-tty): comply with procps-0.99
-
-Sun Feb 11 01:05:07 1996 (rubini@morgana)
-
- * Makefile (MAN): libgpm.so.1 was installed. Fixed.
-
- * gpn.c: try to kill even if connection fails
- (usage): removed the line about "-P" (dropped time ago)
- (cmdline): added a missing "break": -o forced -p.
-
- * gpmInt.h: new globals: opt_kernel, opt_explicittype
-
- * gpn.c (cmdline): support for "-K" (kernel module)
-
-Fri Jan 12 00:31:40 1996 (Michael_Plass.PARC@xerox.com)
-
- * mice.c (M_ms): allow motion and button change in a single event
- however, some mice won't work, so the code is still "#if 0"
-
-Tue Nov 14 14:18:26 1995
-
- ===> 1.06 released, unexpectedly
- * mouse-test.c: added missing variable to link with mice.c
- (main): don't use absolute pointing devices as possible mice.
-
-Mon Nov 13 11:21:42 1995 (Marc Meis 100334.1426@compuserve.com)
-
- ===> 1.05 released
- * gpmInt.h: added flag "absolute" to Gpm_Type to indicate
- absolute pointing device
- * mice.c: added NCR3125 pen support
- * gpm.c: modified processMouse to support absolute pointing device
-
-
-Sat Nov 11 11:40:27 1995 (rubini@morgana)
-
- * t-mouse.el (t-mouse-run): fixed bug in linux-to-linux remote link.
- * doc/doc.gpm (gpm-root): documented the need for /dev/vcso
- * gpm-root.y (main): check for /dev/vcs0 before starting
- Only run with /dev/vcs -- disregard kernels 1.1.73-92
- (scr_dump, scr_restore): if open(/dev/vcs) fails, write on syslog
-
- * gpm.c (processMouse): only one margin is active at a time.
-
-Fri Nov 10 22:37:45 1995 (rubini@morgana)
-
- * gpm.h (Gpm_FitEvent): bug fix: fit DRAG, not MOVE.
- * gpm-root.y (main): only ctrl-move gets the default behaviour
-
-Fri Nov 09 20:33:26 1995 (lou@lounix4.conc.tdsnet.com)
-
- * mice.c (M_mman): added support for glidepoint mice (Lou Sortman)
-
-Wed Sep 27 09:51:17 1995 (rubini@morgana)
-
- ===> 1.04 released
- * Makefile: added a dirty check for __u32
-
-Wed Sep 26 01:31:13 1995 (rubini@morgana)
-
- * doc/doc.gpm: some fixes
- * doc/gpmdoc.txt: new file: ascii for "less" readers.
-
-Sat Sep 23 08:44:01 1995 (rubini@merlino)
-
- * doc/doc.gpm: updated the lisp form to load t-mouse
- * README: added instructions on compiling and installing
- * Makefile: minor fixes
-
-Sun Sep 17 13:35:26 1995 (rubini@morgana)
-
- ===> 1.03 released
- * doc/doc.gpm (Variables ): gpm_mx and gpm_my are documented.
- * gpm.h (Gpm_FitEvent): this too was buggy, when dealing with motion.
- * gpm.c (do_client): masked with GPM_BARE_EVENTS (long-standing bug)
- (processMouse): removed GPM_SINGLE from motion events
- * libxtra.c (Gpm_GetSnapshot): return 0 if the input queue is full
- * mev.c (main): another fflush, I forgot about it.
- * liblow.c (Gpm_Open): the fix of two days ago broke normal clients.
-
-Sat Sep 16 22:47:13 1995 (rubini@morgana)
-
- * gpn.c (cmdline): added a missing "break;" (-L)
-
-Fri Sep 15 09:40:59 1995 (rubini@morgana)
-
- * liblow.c (Gpm_Open): fixed a problem whit pty's (t-mouse broke)
-
-Thu Sep 14 01:50:23 1995 (rubini@morgana)
-
- ===> 1.02 released
- * liblow.c (Gpm_Open): fixed a bug with multiple opens
- * mev.c (user_handler): added fflush() 'cause didn't work with elf/lib5
- * gpmInt.h (inline): inhibit inlining when debugging
- * Makefile (install): some fixes to make it work (Mark Shadley)
- (static): new target (I've an old gdb :-( )
- * hltest.c (xhandler): fixed a problem with messages
- * libhigh.c (Gpm_HandleRoi): fixed a segfault when no roi matches
- * gpm.c (get_console_size): create a different resolution for x and y
- (processMouse): return tiny motions (0,0) if some time has elapsed
- * gpn.c (cmdline): introduced "-q". Obsoletes "-L".
- * gpmCfg.h (SELECT_TIME): decuplicated time-out (10 minutes).
- (MAX_VC): 32 virtual consoles
-
-Tue Sep 12 00:12:47 1995 (rubini@morgana)
-
- ===> 1.01 released
- * Makefile: supports elf shlibs (Mark Shadley)
-
-Wed Sep 6 22:46:55 1995 (rubini@morgana)
-
- * mev.c (main): use current tty instead of /dev/console
- * liblow.c (Gpm_Open): use /dev/ttyxx instead
- of /dev/console (Pavel Kankovsky)
- * gpn.c (cmdline): fixed "-o rts"
-
-Wed Jul 26 14:44:59 1995 Alessandro Rubini
-
- ===> 1.00 released
- * doc/doc.gpm (Emacs Support): upgrade
- * t-mouse.el: upgrade by Ian T Zimmerman
- * gpm-root.y (cmdline): last bug fix: missing break in switch
-
-Wed Jul 26 00:38:51 1995 (rubini@morgana)
-
- * t-mouse.el: fixes and enhancements by Ian T Zimmerman
- * Announce: new file. The announce for c.o.l.a.
- * liblow.c (Gpm_Open): open console O_WRONLY instead of O_RDONLY
- (Gpm_Getc): swapped two lines, to handle SIGWINCH in clients
-
- * doc/doc.gpm: final fix
-
-Tue Jul 25 00:41:44 1995 (rubini@morgana)
-
- * mouse-test.c: a new utility to "detect" your mouse type
-
-Mon Jul 24 15:52:11 1995 (rubini@morgana)
-
- * gpm.c (gpm_killed): removed spurious and annoying message
-
-Fri Jul 21 10:57:07 1995 (rubini@morgana)
-
- * libhigh.c (Gpm_HandleRoi): fixed a problem with gpm_visiblepointer
-
-Thu Jul 20 23:04:42 1995 (rubini@morgana)
-
- * gpn.c (cmdline): "-D" removed (use "-k" instead)
-
-Wed Jul 19 09:12:29 1995 (rubini@morgana)
-
- * gpm.c (processRequest): fixed nasty bug introduced with "-R"
- * t-mouse.el (t-mouse-keymap): added double-drag and triple-drag
- * gpm.c (processMouse): the GPM_SINGLE,GPM_DOUBLE and GPM_TRIPLE
- flags are always delivered (as they should have always been).
- * gpn.c (cmdline): removed the "-p" option (useless).
- * doc/doc.gpm: Revised and updated.
- * liblow.c (Gpm_Open): use the foreseeable device /dev/gmctl
- * gpn.c (cmdline): no more symlink /tmp/gpmctl
- * gpm-root.y (main): recursive menus definitely fixed
-
-Sat Jul 15 11:16:18 1995 (rubini@morgana)
-
- * various places: applied axp patches.
- * libhigh.c: update, at last.
- * hltest.c: new file, to test the high level library
-
-Mon Jul 10 20:03:46 1995 (rubini@morgana)
-
- * gpm-root.y (main): recursive menus
- * gpm.c (main): chmod 777 /var/run/gpmctl (1.2.9 and later broke it)
- * mice.c (M_mman): chord-middle detected
-
-Wed Jul 5 09:29:52 1995 (rubini@morgana)
-
- ===> 0.99 released
- * doc/Makefile: minor cleanup
- * doc/manpager: changed any "continue" to "next"
-
-Fri Jun 30 09:14:13 1995 (rubini@morgana)
-
- * gpm.c (wait_text): fixed interaction with X when non repeater.
-
-Wed May 31 09:17:55 1995 (rubini@morgana)
-
- ===> 0.98.3 released
- * gpm.c (processMouse): fixed update of number of buttons
- * doc/doc.gpm: minor fixes
- * libxtra.c (Gpm_GetSnapshot): check if a connection is open
-
-Sun May 28 22:02:20 1995 (rubini@morgana)
-
- * gpm-root.y (main): reset gpm_tried after failure
-
-Tue May 16 10:28:01 1995 (rubini@morgana)
-
- * gpm.c: setuid(0)
- * gpm-root.y: setuid(0)
-
-Tue Apr 25 18:02:03 1995 (rubini@morgana)
-
- * t-mouse.el (t-mouse-make-event): fixed problem with split windows
-
-Sat Apr 22 13:19:50 1995 (rubini@morgana)
-
- * t-mouse.el: mouse-2 in Info-mode is handled
- mouse-2 in dired-mode is handled
- * gpm-root.y (main): added sleep() if Gpm_Open() fails
-
-Wed Apr 12 00:29:46 1995 (rubini@morgana)
-
- ===> 0.98.2 available
- * mev.c (main): use the new library functions
- * gpm.c (processRequest): added information retrivial
- * liblow.c (Gpm_Open): try /tmp/gpmctl as well
- * libxtra.c (Gpm_GetLibVersion): new function
- (Gpm_GetServerVersion): new function
- (Gpm_GetSnapshot): new function
- * gpm-root.y (postmenu): use /dev/vcs and fine line-drawing chars
- (main): change of semantic: use button-down to choose item.
- (tableMod[]): use KG_SHIFT
- (main): logging out is correctly managed (in /etc/utmp)
-
-Tue Apr 11 15:48:27 1995 (rubini@morgana)
-
- * t-mouse.el (t-mouse-process-filter): catch errors in mev messages
- * mice.c (I_serial): mouseMan fix (Stephen Lee)
- (mice[]): added an information string and a synonym.
- (M_listTypes): new function to give some help
- * mev.c (user_handler): added "0x" in printf (ajohnson)
- (tableMod[]): use keyboard.h instead of constant values.
- * gpm-root.y: added missing ';'s (ajohnson@apanix.apana.org.au)
- (postmenu): fixed "unsigned char" bug (johnvl@einstein.et.tudelft.nl)
- * Makefile (install): fixed problems with info file
-
-Thu Apr 6 00:33:03 1995 (rubini@morgana)
-
- ===> 0.98.1 made available
- * gpm.c gpn.c: read two mice at a time
- * gpm-root.y (f_jptty): added ioctl(VT_WAITACTIVE)
- (main): console disallocation is provided
-
-Wed Apr 5 08:03:37 1995 (rubini@morgana)
-
- * gpm.c (wait_text): only invoked if already graphics
- (processMouse): be a repeater if we're in graphic mode
- * gpn.c (check_uniqueness): fixed bug with "-k" and nobody to kill
- * gpm-root.y (scr_dump): fixed bug with clr_selection and dump/restore
- * wd.h: changed DEBUG(()) to PDEBUG(())
-
-Tue Apr 4 08:56:33 1995 (rubini@morgana)
-
- * gpn.c (usage): changed semantics, to be more useful
-
-Sun Apr 2 13:20:28 1995 (rubini@merlino)
-
- * gpn.c (cmdline): device is opened with O_NDELAY
-
-Mon Mar 6 09:49:19 1995 (rubini@morgana)
-
- ===> 0.98 released
- * Makefile (info): new target: no more info file from simple "make"
- * gpn.c (loadlut): use octal codes and latin-1 chars (Andries Brouwer)
- (cmdline): create a symlink /tmp/gpmctl to run precompiled executables
-
-Sat Mar 4 18:44:54 1995 (rubini@morgana)
-
- * t-mouse.el (t-mouse-keymap): use M-mouse to enable the scrollbar
-
-Tue Feb 28 00:20:35 1995 (rubini@morgana)
-
- * mev.c (main): added report of kdb modifiers for key events
- * Makefile (clean): remove *.1, since they're not sources
- * kernel/*: removed the directory as obsolete
- * root.y (scr_dump): added support for /dev/vcs
-
-Sun Feb 26 14:25:31 1995 (rubini@morgana)
-
- * wd.h: when intactive use "" instead of "0" (to use "-Wall")
- * various fixes to face "-Wall" messages
-
-Mon Feb 20 18:08:02 1995 (rubini@morgana)
-
- * liblow.c (Gpm_Open): bug fix, closed an open comment (John E. Davis)
-
-Wed Feb 15 12:25:14 1995 (rubini@morgana)
-
- * mev.c (sigHandler): propagate SIGWINCH to the father
- * gpm.c (main): propagate SIGWINCH to the clients
- * gpmInt.h: modified Gpm_Type; one more field to allow extra bytes
- * mice.c (I_serial): changed prototype to autodetect mouseman
- (M_mman): new mouse type for damned MouseMan.
-
-Tue Feb 14 00:33:34 1995 (rubini@morgana)
-
- * gpn.c (cmdline): modem-line toggle added
-
-Thu Feb 9 00:42:51 1995 (rubini@morgana)
-
- * root.y (main): the "-B" option is no longer supported
- (scr_restore): be sensitive to SIGWINCH
-
-Wed Feb 8 11:46:52 1995 (rubini@morgana)
-
- * gpm.c (main): added support for SIGWINCH
-
-Thu Jan 26 12:11:59 1995 (rubini@morgana)
-
- ===> 0.97 released
- * root.y (postmenu): get color to restore from the cursor cell instead
- of the previous one (it failed with `less')
- (yylex): allow double quotes in strings
- (main): go to background
- * gpn.c (cmdline): go to background and setsid() (Stefan)
- (cmdline): new switch -k (kill) for busmouse users
- * gpm.h (GPM_NODE_DIR): use "/var/run" instead of "/tmp" (Larry)
- * Makefile: use "-O3" and don't release binaries any more
- * mice.c (I_logi): don't jump to I_serial anymore (Larry)
-
-Fri Jan 13 12:57:41 1995 (rubini@morgana)
-
- ===> 0.97alpha releasd
- * gpm.c (gpm_killed): use signal SIGUSR1 to kill an existent gpm
- (main): removed the annoting warning in signal()
-
-Thu Jan 12 11:45:08 1995 (rubini@morgana)
-
- * mev.c: added "any" to event list
- * t-mouse.el (t-mouse-suspend): fixed behaviour (thanks Larry)
- * mice.c (I_serial): flushed pending input (thanks Miguel)
- (I_logi): fixed "howmany" problem with serial vs. busmice
- * gpn.c (cmdline): m_type is passed to m_type->init
- * gpmInt.h: removed unused field "device" in Gpm_Type
-
-Mon Dec 26 01:21:54 1994 (rubini@morgana)
-
- * gpn.c (cmdline): authentication moved here.
-
-Wed Dec 21 11:28:41 1994 (rubini@morgana)
-
- * gpm.c (main): new (smarter) authentication
-
-Sun Dec 18 11:18:40 1994 (rubini@morgana)
-
- ===> gpm-0.96 released
- * root.y: allright and tested
- * gpn.c: new '-P' option
- * doc/manpager: new file to generate man pages
- * Makefile: fixed the installation stuff, use /usr as $(PREFIX).
- * gpn.c, mice.c: removed the last #ifndef linux
- * getopt.[ch]: removed from the distribution
-
-Fri Dec 16 17:09:19 1994 (rubini@morgana)
-
- * doc/doc.gpm: general update, addition of gpm-root docs.
-
-Thu Dec 1 01:03:51 1994 (rubini@morgana)
-
- * liblow.c (Gpm_Open): fixed console detection (thanks Miguel)
- and removed unused ttyp* and ttyq* recognition
-
-Fri Nov 25 01:37:37 1994 (rubini@morgana)
-
- * root.c (main): new file: a tentative default handler
- * gpm.c (do_client): bug-fix: default handlers now can run
- * gpm.h: new struct and prototypes for libhigh.c
- * doc/doc.gpm: minor fixes
- * libhigh.c: new file with "Region-of-Interest" management
-
-Fri Nov 25 01:24:45 1994 laurent@brasil.frmug.fr.net (Laurent Chemla)
-
- * gpm.c (processMouse): fix for button-up reporting
-
-Tue Nov 22 19:54:54 1994 (rubini@morgana)
-
- * gpm.c (do_selection): draw a running pointer or none at all
-
-Thu Nov 17 00:24:13 1994 (rubini@morgana)
-
- ===> gpm-0.93 released
- * t-mouse.el (tm-scroll-jump): changed behaviour: doesn't jump
- * doc/doc.gpm (Emacs Support): documented new word and line facilities
- * liblow.c (gpm_convert_event): fix: use gpm_zerobased
- (gpm_convert_event): fix: report all buttons on button-up
-
-Wed Nov 16 21:15:15 1994 (rubini@morgana)
-
- * t-mouse.el: tm-word and tm-line implemented
-
-Thu Nov 10 15:27:07 1994 (rubini@godipmec)
-
- ===> gpm-0.92 released
- * gpmInt.h (Gpm_Type): new field "howmany"
- * mice.c: fixed behaviour for "-t bm" (thanks to Reuben Sumner)
- * gpm.c (getMouseData): fixed data reading
-
-Sun Nov 6 13:18:34 1994 (rubini@morgana)
-
- * removed all the outdated "#ifdef linux"
-
-Sat Nov 5 10:23:30 1994 (rubini@morgana)
-
- * Makefile (all): executables are stripped
-
-Tue Nov 1 13:10:48 1994 (rick@razorback.brisnet.org.au)
-
- * gpm.c (check_mode): fix in mouse re-openig
-
-Sun Oct 30 01:49:14 1994 Alessandro Rubini (rubini@coroide)
-
- ===> gpm-0.9 released
- * doc/infofilter: fixed indentation of lisp code
-
-Sat Oct 29 17:24:54 1994 (rubini@morgana)
-
- * sample/configure.in: shows how to setup for both gpm and xterm
- * sample/rmev.c: new file, to test xterm compatibility
- * mev.c (usage): fixed ugly bug in printf()
- (main): added initscr() to work under sunos-hpux
-
-Fri Oct 28 13:19:37 1994 (rubini@godipmec)
-
- * gpm-xterm.c, gpm-xterm.h: new files, for xterm applications
- * mev.c (main): fixed ascii value reporting
-
-Thu Oct 27 01:56:13 1994 (rubini@morgana)
-
- * libcurses.c: xterm support is there as well
-
-Wed Oct 26 21:07:11 1994 (rubini@morgana)
-
- * liblow.c: xterm support is there
-
-Tue Oct 25 00:32:36 1994 (rubini@morgana)
-
- * libcurses.c (Gpm_Wgetch): new file, single function
-
- * gpm.h (Gpm_Getchar): removed a spurious "eject" string
-
-Mon Oct 24 22:47:37 1994 (rubini@morgana)
-
- * liblow.c (Gpm_Repeat): new function
- (Gpm_Open): uses gpm_consolefd
- * doc/doc.gpm: updated info, created indexes
-
-Sun Oct 16 11:36:07 1994 (rubini@morgana)
-
- ==> gpm-0.17 released
- * gpm.c (processConn): give the client a motion event at connection
- * t-mouse.el (t-mouse-run): added interactive to restart mouse
- (t-mouse-tty): bug fix: the -.16 one won't work on most machines
-
-Thu Oct 13 09:48:07 1994 (rubini@morgana)
-
- ===> gpm-0.16 released
- * gpm.c (main): a better check for uniqueness
- (gpm_killed): a signal handler to remove /tmp/gpm* on exit
-
-Wed Oct 12 16:10:26 1994 (rubini@godipmec)
-
- * Makefile (all): the info file is generated
- * t-mouse.el (t-mouse-tty): procps 0.95 is recognized
-
-Fri Sep 23 12:26:37 1994 (rubini@morgana)
-
- ===> gpm-0.15 released
- * t-mouse.el (t-mouse-keymap): the scroll-bar is there.
- * mev.c: new flag "-p" to show the pointer during drags
-
-Thu Sep 22 13:15:22 1994 Alessandro Rubini (rubini@ipvvis)
-
- ===> gpm-0.14 released
- * doc/doc.gpm: fixed the section about emacs
-
-Fri Sep 23 12:26:37 1994 (rubini@morgana)
-
- * t-mouse.el (t-mouse-keymap): the scroll-bar is there.
-
-Mon Sep 19 01:06:56 1994 (rubini@morgana)
-
- * mev.c: new flag "-f" to fit events.
- * Makefile (quickinst): new target
- gpm.info is installed as well
- (distrib): the precompiled binaries are distributed as well
- * t-mouse.el: it is really full-featured, now.
-
-Sun Sep 18 11:44:36 1994 (rubini@morgana)
-
- * mev.c (emacs_handler): up events now return the press location
- * Makefile: binaries are now released with the package
-
-Wed Sep 14 14:12:48 1994 (rubini@morgana)
-
- * t-mouse.el: removed free variables: clean compile
- * Makefile: t-mouse.elc is properly compiled
- * exec.el: used to compile elisp.
- * doc/*: texinfo is used, and online docs are available
-
-Wed Sep 7 19:34:28 1994 (rubini@morgana)
-
- ===> gpm-0.13 released
- * gpmCfg.h (MAX_VC): manage 16 virtual consoles
- * t-mouse.el: avoid invoking awk on startup
- * mev.c (cmdline): accept hex numbers with "-C"
-
-Sat Aug 27 11:41:57 1994 (rubini@morgana)
-
- * t-mouse.el: added the "-s" option to 'mev', to prevent error msg.
-
-Mon Aug 22 20:28:47 1994 (rubini@morgana)
-
- * liblow.c (Gpm_GetEvent): Closing connection correctly handled.
- (Gpm_Close): fix to help the above handling
-
-Fri Aug 19 10:23:01 1994 (rubini@morgana)
-
- ===> gpm-0.12 released
- * gpn.c (cmdline): new options: "-2" and "-3"
- * doc/gpm.tex: (Emacs Support) new section
-
-Thu Aug 18 10:01:22 1994 (rubini@morgana.unipv.it)
-
- * gpm.c (do_selection): use right button to extend selection,
- if the middle one is present
- * t-mouse.el: recognizes the controlling terminal
- * doc/gpm.tex (Compiling and Installing) note about rc.local
- * gpm.c (processMouse): fix: first click is single
-
-Wed Aug 17 09:20:54 1994 (Olav Woelfelschneider)
-
- ===> gpm-0.11 released
- * gpmInt.h: changed "char proto[]" to unsigned
-
-Tue Aug 2 05:26:55 1994 (rubini@morgana)
-
- ===> gpm-0.10 released
- * liblow.c (Gpm_FitValuesM): bug fix
-
-Mon Aug 1 19:22:50 1994 (rubini@morgana)
-
- * gpn.c (cmdline): fixed bug with opt_device (Miguel de Icaza)
- * liblow.c (Gpm_Close): fixed the gpm_tried bug
- * gpm.c (processMouse): clustering added
- (getMouseData): new function to ease readability
-
-Fri Jul 29 13:54:38 1994 (rubini@ipvvis)
-
- * gpn.c: moved many functions to gpm.c to make them inline
-
-Fri Jul 29 01:56:39 1994 (rubini@morgana)
-
- * gpm.h: Gpm_DrawPointer: new facility
- * liblow.c: gpm_zerobased added
- * gpn.c (do_client): added an option to map "drag" to "move" (ugly)
-
-Thu Jul 28 23:55:18 1994 (rubini@coroide)
-
- ===> gpm-0.06 released
- * doc/gpm.tex: updated
-
-Thu Jul 28 11:02:48 1994 (rubini@morgana)
-
- * gpn.c (cmdline): configurable button order
- (cmdline): double click time, too.
- (cmdline): "-L" option.
- (do_selection): fixed bug about wrap-around.
-
-Wed Jul 27 23:56:14 1994 (rubini@morgana)
-
- * liblow.c: no more public gpm_timeout
- * gpn.c (do_client): bug fix
-
-Tue Jul 26 14:44:37 1994 (rubini@mimmo)
-
- * gpm.h: ctl file now in /tmp
-
-Sat Jul 23 13:22:29 1994 (rubini@morgana)
-
- * gpn.c (cmdline): /dev/mouse is the default
- * gpm.c (processMouse): button-up: report which one
-
-Fri Jul 22 15:57:35 1994 (rubini@morgana)
-
- * mev.c: emacs syntax is there
-
-Wed Jul 20 19:35:16 1994 (rubini@morgana)
-
- * gpm.h: added GPM_HARD
- * gpn.c (do_client): fixed default management.
-
-Tue Jul 19 16:31:23 1994 (rubini@morgana)
-
- * gpm.h: changed Gpm_Event to fit ptys
-
-Tue Jul 19 09:21:37 1994 (rubini@morgana)
-
- ===> gpm-0.04 released
- * gpn.c (cmdline): use "/dev/mouse" as a second trial for the name
- * gpm.c (processRequest): can override info
- * mev.c (interact): new function to test stacking
-
-Mon Jul 18 11:44:13 1994 (rubini@morgana)
-
- * liblow.c (Gpm_Open): added stacking and an ugly goto
- * gpn.c (_oops): fixed bug about errno (Steven S. Dick)
- * doc/gpm.tex: fixed the terrible language, hopefully.
-
-Fri Jul 15 18:21:08 1994 (rubini@merlino)
-
- * mev.c: raw stdin added
-
-Tue Jul 12 16:57:45 1994 (rubini@ipvvis)
-
- ===> gpm-0.03 released
-
-
-/* Local Variables: */
-/* tab-width:8 */
-/* End: */
-
-
diff --git a/software/gpm/browse_source/gpm-1.20.2-broken/Changes b/software/gpm/browse_source/gpm-1.20.2-broken/Changes
deleted file mode 100644
index 74dcf577..00000000
--- a/software/gpm/browse_source/gpm-1.20.2-broken/Changes
+++ /dev/null
@@ -1,35 +0,0 @@
-* From 1.20.1 to 1.20.2:
- o This is a "gpm is still alive and broken"-release!
- o Have a look at included file doc/README.1.20.2 for more information.
-
-* From 1.20.0 to 1.20.1: (bugfixes/code clean)
- o synaptics ps2 touchpad support
- o code cleanup in various main files
- o prototype of mouse support for n-mice. expect final in 1.20.3.
-
-* From 1.19.6 to 1.20.0: (bugfix/new features/code clean release)
- o removed compile problems
- o objdir/ support without problems
- o cleaned up internal message functions
- o cleanup up most of tab/spaces mixture. Now we use 3 spaces for indention
- o added more security bug fixing patches
- o clean {g,m,}awk support
- o clean ps2 initialization (allows using ps2 mouse after you used synps!)
- o gpm clients can't cause gpm do die.
-
-* From 1.19.5 to 1.19.6: (just a bugfix release)
- o bugfixes in Makefiles (now a 'make all install' should not make any errors)
- o bugfix in libgpm, mouse-test, gpm
- o doc/gpm.doc is up-to-date and the manfiles, too. info is still missing.
-
-* From 1.19.4 to 1.19.5: (minor fixes and one bugfix)
- o libc5 and linux 2.0 support in again
- o cleaned up the directory tree
- o many small changes to the Makefiles
- o devfs seperated into new file
- o Synaptics 4 Button Touchpad support
- o new daemon name
-
-* From 1.19.3 to 1.19.4:
- o libc5 and linux 2.0 support removed unfortuanally!
- o primary devfs support (broken)
diff --git a/software/gpm/browse_source/gpm-1.20.2-broken/MANIFEST b/software/gpm/browse_source/gpm-1.20.2-broken/MANIFEST
deleted file mode 100644
index 0527ad29..00000000
--- a/software/gpm/browse_source/gpm-1.20.2-broken/MANIFEST
+++ /dev/null
@@ -1,147 +0,0 @@
-
- This is the list of all the files included in the current
- distribution tar ball. Actually, Makefile used this very list to
- know what to include in the tar. Now we include everything
- is still there after a 'make distclean'
-
- SOURCE FILES
- ------------
-
-src/
- gpm.c main engine of the daemon
- gpn.c support functions
- report.c message management (replaces debuglog.c) [inside gpm]
- report-lib.c message management [inside the lib]
- special.c special functions
- mice.c support for (almost) all the pointer types
- twiddler.c the twiddler keyboard needs special code
- synaptics.c and the synaptics table too
-
- liblow.c low-level gpm library
- libhigh.c high-level gpm library
- libxtra.c optional and little-used library functions
- libcurses.c curses-like functions
-
- mev.c sample mouse-event application
- hltest.c sample use of the high-level gpm library
- mouse-test.c old tool to help detecting the pointer protocol
- disable-paste.c very short application to forget the current selection
- gpm-root.y a sample default handler
- gpm-root.c derived from the above using bison
-
- headers/
- gpm.h installed gpm header
- gpmCfg.h default configuration
- gpmInt.h internal declaration
- gpm-proto.h proposal for a new protocol, currently unused
- message.h messages
- synaptics.h synaptics tablet implementation
- twiddler.h twiddler keyboaard implementation
-
- config.h.in [build by autoheader] template for config.h
- [build by ./configure]
-
- PATCHES
- -------
-
-patches/
- done/ applied/refused/too old patches
- todo/ patches still need to be applied or refused
-
-
- DEFAULT/SAMPLE CONFIGURATION FILES
- ----------------------------------
-
-conf/
- gpm-root.conf sample usesable by gpm-root
- gpm-twiddler.conf default configuration for the twiddler keyboard
- gpm-syn.conf default configuration for the synaptics touchpad
-
-
- FILES USED IN THE BUILD PROCESS
- -------------------------------
-
-configure.in source for configure
-configure script to autoconfigure the package
-aclocal.m4 support declaration for configure.in
-acconfig.h
-Makefile.in the source for Makefile, used by configure
-Makefile.include.in the source for Makefile.include, used by other Makefiles
-install-sh fallback install script if no install command is found
-
-
- DOCUMENTATION (currently not up-to-date)
- ---------------
-
-README introductory information, and credits (incomplete list)
-COPYING GNU GPL
-Changelog the log of changes - a lot of changes :)
-Changes Put together all important changes from one to another release
-MANIFEST this file
-
-doc/
- Announce original announce for version 1.0
- Makefile.in template for doc/Makefile
-
- infofilter preprocessor to create a .texi source file from my own docs
- manpager tool to extract manual pages from the main document file
- mktxt tool to extract a ``decent'' text file from the info one
-
- # FAQ / READMEs
- FAQ Frequently asked/answered questions
- README.gunze how to use the gunze touchscreen
- README.microtouch how to use the microtouch touch screen
- README.synaptics how to use the synaptics tablet
- README.twiddler how to use the twiddler keyboard
-
- doc.gpm.in template of gpm.doc (substitutes version)
- doc.gpm the source for the ``real'' documentation
- gpmdoc.ps generated from doc.gpm using doc/infofilter, texinfo and TeX
- gpm.info generated from doc.gpm using doc/infofilter and makeinfo
- gpmdoc.txt generated from gpm.info using doc/mktxt
-
- # MANPAGES
- gpm.8 man page, generated from doc.gpm using doc/manpager
- mev.1 man page, generated from doc.gpm using doc/manpager
- gpm-root.1 man page, generated from doc.gpm using doc/manpager
- gpm-types.7 man page, generated from doc.gpm using doc/manpager
- mouse-test.1 man page, generated from doc.gpm using doc/manpager
-
- support/ contains information about mouse support
- this includes mails and other information from the vendors.
-
-
- SUPPORT MATERIAL (currently not installed)
- ---------------
-
-contrib/
- Makefile.in when you read everything to here you should know what it is
-
- emacs/
- t-mouse.el emacs client (needs mev installed)
- t-mouse.elc compiled form of the emacs client
- exec.el allow emacs to execute lisp commands from the command line
-
- init/
- gpm.init sample init script (Redhat?)
-
- scripts/
- create_vcs script to create /dev/vcs* devices (redundant)
- gunze-setup same, for the gunze touchscreen
- microtouch-setup a program to calibrate the microtouch touchscreen
- mkinstalldirs creates the installation directories (currently unused)
- test_gpm test gpm. use it, to copy the gpmdir, ./configure,make
-
- other/ other contributions
-
-
- SAMPLE GPM CLIENT [ currently not available/I don't know why :( ]
- -----------------
-
-sample/
- README explanation of how it works
- Makefile.in sample template for Makefile
- configure.in sample template for configure
- gpm-xterm.c support file, replacement for libgpm
- gpm-xterm.h header, replacement for gpm.h
- rmev.c sample client application
diff --git a/software/gpm/browse_source/gpm-1.20.2-broken/Makefile.in b/software/gpm/browse_source/gpm-1.20.2-broken/Makefile.in
deleted file mode 100644
index 0940f0d3..00000000
--- a/software/gpm/browse_source/gpm-1.20.2-broken/Makefile.in
+++ /dev/null
@@ -1,123 +0,0 @@
-# -*-makefile-*- (gpm/main)
-#
-# Copyright 1994,1997 rubini@linux.it
-# Copyright 1997 dickey@clark.net
-# Copyright (C) 1998 Ian Zimmerman
-# Copyright (C) 2001 Nico Schottelius
-#
-
-SHELL = /bin/sh
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-top_builddir = .
-
-include Makefile.include
-
-# allow CFLAGS to be overriden from make command line
-# ideally one would never have to write this rule again, but the GNU
-# makefile standards are at cross-purposes: CFLAGS is reserved for
-# user-overridable flags, but it's also all the implicit rule looks at.
-# missing ?
-
-SUBDIRS = src doc contrib
-
-### simple, but effective rules
-
-all: do-all
-
-dep:
- touch src/$(DEPFILE) # to prevent unecessary warnings
- make -C src dep
-
-check: all
-
-uninstall: do-uninstall
-
-clean: do-clean
- rm -fr autom4te.cache
-
-Makefile: $(srcdir)/Makefile.in config.status
- ./config.status
-
-config.status: $(srcdir)/configure
- if [ -f config.status ]; then $(SHELL) config.status --recheck; \
- else ./configure; fi
-
-### INSTALL
-
-install: check installdirs do-install
-
-install-strip:
- $(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) $(STRIP)' install
-
-installdirs:
- $(MKDIR) $(libdir) $(bindir) $(sbindir) $(includedir) $(sysconfdir); \
- if test "x@ELISP@" != "x" ; then \
- $(MKDIR) $(lispdir) ; \
- fi
-
-### GENERIC
-
-# do-all goes to all subdirectories and does all
-do-%: dep
- @target=`echo $@ | $(SED) -e 's/^do-//'`; \
- for i in $(SUBDIRS) ; do \
- if test -f ./$$i/Makefile ; then \
- $(MAKE) -C ./$$i $${target} || exit 1 ;\
- else \
- true; \
- fi; \
- done
-
-
-# Configure & unconfigure
-
-# Maintainer portion, use at your own risk
-
-barf:
- @echo 'This command is intended for maintainers to use; it'
- @echo 'deletes files that may need special tools to rebuild.'
- @echo 'If you want to continue, please press return.'
- @read -p "Hit Ctrl+C to abort." anything
-
-
-# who / what does need tags
-TAGS: $(SRCS) $(HDRS) src/prog/gpm-root.y do-TAGS
- cd $(srcdir) && $(ETAGS) -o TAGS $(SRCS) $(HDRS) src/prog/gpm-root.y
-
-# Do the the next release
-
-# 1. Cleanup the tree, remove all generated files and so on
-distclean: barf clean do-clean do-distclean
- rm -f config.log config.status config.cache Makefile Makefile.include
- rm -f aclocal.m4 configure config.h.in
- rm -rf gpm-$(release) gpm-$(release).tar.bz2 gpm-$(release).tar.gz
- rm -f src/$(DEPFILE)
-
-# STOPPPED HERE
-gpm-$(release): distclean do-distclean
- mkdir -p gpm-$(release)
- for file in $(srcdir)/*; do \
- if [ "`basename $$file`" != "$@" ]; then \
- cp $$file gpm-$(release) -r; \
- fi; \
- done
-
-# 2. configure headers, produce new configure script
-distconf: configure.in aclocal.m4
- autoheader && autoconf
-
-# make this clean...
-gpm-$(release).tar: gpm-$(release)
- $(TAR) cf - gpm-$(release) > $@
-
-gpm-$(release).tar.gz: gpm-$(release).tar
- gzip -9 -c gpm-$(release).tar > $@
-
-gpm-$(release).tar.bz2: gpm-$(release).tar
- bzip2 -k gpm-$(release).tar
-
-# 3. Put package together into .tar.gz and .tar.bz2
-dist: distclean distconf gpm-$(release).tar.bz2 gpm-$(release).tar.gz
- rm gpm-$(release).tar
- rm -r gpm-$(release)
diff --git a/software/gpm/browse_source/gpm-1.20.2-broken/Makefile.include.in b/software/gpm/browse_source/gpm-1.20.2-broken/Makefile.include.in
deleted file mode 100644
index 5c68170c..00000000
--- a/software/gpm/browse_source/gpm-1.20.2-broken/Makefile.include.in
+++ /dev/null
@@ -1,67 +0,0 @@
-# -*-makefile-*- (gpm/include)
-#
-# Copyright (C) 2001 Nico Schottelius
-#
-
-#
-# Set ROOT, if you want to install to a virtual root.
-# You can do that also via commandline: make ROOT=/mnt/newroot install
-#ROOT =
-
-SHELL = /bin/sh
-
-prefix = @prefix@
-exec_prefix = @exec_prefix@
-
-# directories
-libdir = $(ROOT)@libdir@
-datadir = $(ROOT)@datadir@
-bindir = $(ROOT)@bindir@
-sbindir = $(ROOT)@sbindir@
-includedir = $(ROOT)@includedir@
-sysconfdir = $(ROOT)@sysconfdir@
-mandir = $(ROOT)@mandir@
-man1dir = $(mandir)/man1
-man7dir = $(mandir)/man7
-man8dir = $(mandir)/man8
-infodir = $(ROOT)@infodir@
-
-# it would be nice to figure this out automatically, but the Emacs
-# load path often has many elements, most of them reserved for
-# specialised packages like w3 and auctex.
-lispdir = @lispdir@
-
-# programs
-CC = @CC@
-RANLIB = @RANLIB@
-YACC = @YACC@
-INSTALL = @INSTALL@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_DATA = @INSTALL_DATA@
-LN_S = @LN_S@
-EMACS = @EMACS@
-ELISP = @ELISP@
-SHLIB = @SHLIB@
-SED = @SED@
-DIFF = @DIFF@
-TEX = @TEX@
-TEXINDEX = @TEXINDEX@
-DVIPS = @DVIPS@
-MAKEINFO = @MAKEINFO@ --no-split
-TEXI2HTML = texi2html -monolithic
-STRIP = -s
-
-AR = ar
-ETAGS = etags
-TAR = tar
-AWK = awk
-CP = cp -a
-MKDIR = mkdir -p # linux specific, but who cares ?
- # gpm is linux specific, too.
-RM = rm
-
-
-DEPFILE = .depend
-
-# general
-release = @release@
diff --git a/software/gpm/browse_source/gpm-1.20.2-broken/README b/software/gpm/browse_source/gpm-1.20.2-broken/README
deleted file mode 100644
index 98edea07..00000000
--- a/software/gpm/browse_source/gpm-1.20.2-broken/README
+++ /dev/null
@@ -1,341 +0,0 @@
-/*
- * README -- gpm 1.xx
- *
- * Copyright 1995-2000 rubini@linux.it (Alessandro Rubini)
- * Copyright 2001-2004 nico-gpm@schottelius.org (Nico Schottelius)
- *
- *******/
-
-The gpm (general purpose mouse) daemon tries to be a useful mouse
-server for applications running on the Linux console. Its roots are
-in the "selection" package, by Andrew Haylett, and the original code
-comes from selection itself. This package is intended as a replacement
-for "selection", to provide additional facilities. From 0.18 onward
-gpm supports xterm as well, so you can run mouse-sensitive
-applications under X, and you can easily write curses applications
-which support the mouse on both the Linux console and xterm. The xterm
-code is portable to any U*x flavour (look at sample/README).
-
-The first clients have been "The Midnight Commander", by Miguel de
-Icaza and an emacs library included in this release. Recent dialog
-distributions and the Jed editor use gpm as well, and the same do
-several custom applications.
-
-There are still some new features to add (f.i. clean devfs support).
-Some of gpm's code needs a cleanup.
-
-If you want to make a patch to gpm, please read doc/HACK_GPM.
-
-For additionally documentation and other READMEs have a look into doc/.
-
-=========== MAINTENANCE
-
-As of 1.19.4, gpm is officially maintained again. Most of the README is written
-by Alessandro Rubine, only minor changes are made by me.
-
-=========== MAILING LIST
-
-The mailing list devoted to gpm is "gpm@lists.linux.it"
-The list is managed by Mailman and is currently open,
-so non-subscribers are allowed to post.
-
-In order to subscribe to the mailing list, visit
-http://www.linux.it/mailman/listinfo/gpm or send a message
-with "subscribe" in its body to gpm-request@lists.linux.it . For example:
-
- echo subscribe | mail gpm-request@lists.linux.it
-
-=========== DOWNLOAD / HOMEPAGE
-
-The latest releases can always be found in one of the following places:
-
- ftp://arcana.linux.it/pub/gpm
- ftp://ftp.linux.it/pub/People/rubini/gpm/
- http:// or ftp://ftp.schottelius.org/pub/linux/gpm
-
-The current homepage for gpm is available at
-
- http://linux.schottelius.org/gpm/
-
-GPM is now using monotone as its version control system.
-It's hosting site is linux.schottelius.org, the collection is
-org.schottelius.gpm.
-
-Here's a small manual howto get gpm via monotone:
-
-----------------------------------------------------------------------
-
-# create a database
-scice% monotone --db=gpm.db db init
-
-# get the server key
-scice% wget -q http://linux.schottelius.org/gpm/server-key.pub
-
-# read the server key
-scice% monotone --db=gpm.db read < server-key.pub
-monotone: read 1 packet
-
-# do an anonymous pull
-scice% monotone --key="" --db=gpm.db pull linux.schottelius.org org.schottelius.gpm
-monotone: warning: doing anonymous pull
-monotone: rebuilding merkle trees for collection org.schottelius.gpm
-monotone: connecting to linux.schottelius.org
-monotone: [bytes in: 722110] [bytes out: 7405]
-monotone: exchanged goodbyes and flushed output on fd 7 (peer linux.schottelius.org), disconnecting
-
-# extract source from the database to a directory
-scice% monotone --db=gpm.db --branch=org.schottelius.gpm checkout your-destination-directory
-monotone: fetching heads of branch 'org.schottelius.gpm'
-
-----------------------------------------------------------------------
-
-GPM's cvs tree (and cvs in general) is DEPRECATED.
-
-Still, there is an 'old' cvs tree available:
-
-$ cvs -d :pserver:cvs@ar.linux.it:/data/cvs login
-(Logging in to cvs@ar.linux.it)
-CVS password: (type "cvs" here)
-$ cvs -d :pserver:cvs@ar.linux.it:/data/cvs checkout gpm
-
-
-=========== COMPILING AND INSTALLING
-
-The package uses autoconf as of 2.12. Use "./configure && make" to
-compile the gpm suite. To install "make install". This installs
-everything under the "prefix" directory, which by default is
-/usr/local.
-
-Use "./configure --prefix=/usr" if you want to install under /usr
-instead of /usr/local.
-
-Exectuable files are installed in $(prefix)/bin (except the gpm daemon
-in $(prefix)/sbin), libraries in $(prefix)/lib, man pages in
-$(prefix)/man, the lisp library in the proper location for emacs-list
-files (detected during the "configure" step); info files are installed
-under $(prefix)/info.
-
-If you would like to 'clean'up very tidy, use distclean. Don't forget to use
-make distclean config! Otherwise there will be no configure script!
-
-If any errors occur, please report them to me. Something like this
-could be an easy (though brutal) way to do it:
- make clean;(uname -a; make) | mail -s "gpm compile err." nico-gpm@schottelius.org
-
-What remains to do after installation is a little configuration
-
-=========== CONFIGURING
-
-Configuration is optional...
-
-* You would like to tell emacs to use t-mouse.el when appropriate. Add
- the following lines to your own .emacs (in your home
- directory), or in the /usr/lib/emacs/site-lisp/default
-
- (if (and (string-match ".*-linux" system-configuration)
- (not window-system)
- (or (string-match "linux" (getenv "TERM"))
- (string-match "con.*" (getenv "TERM"))))
- (load-library "t-mouse"))
-
-* If you want to use gpm-root, copy gpm-root.conf to your /usr/etc
- directory, test it out and then edit it to suit your feels.
-
-* You'd like to name the gpm info file inside /usr/info/dir. Just insert
- the line
- * gpm: (gpm.info). A mouse server for the Linux console
- at the proper place. Note that this is usually automatically
- performed if you install a package prepared for your own
- distribution.
-
-* To invoke gpm (and gpm-root) at system boot, add something like this
- to your /etc/rc.d/rc.local
-
- /usr/sbin/gpm -t msc -m /dev/tts/0 &
- /usr/bin/gpm-root &
-
- If you are running the new setup of SysVinit, you should better
- add a "gpm" script in /etc/rc.d/rc.init and install it in your
- runlevels in the usual way (this is usually included in your
- distribution as well)
-
- You may want to put the mouse server at a higher priority: in
- this case invoke instead "/usr/bin/nice -n -20 /usr/sbin/gpm -t
- msc"
-
- The program goes to the background by itself, unless
- it is run with debuging enabled (see the -D option in the
- documentation).
-
-========== DOCS
-
-The directory "./doc" holds the documentation. The release embeds a
-postscript file, slightly reduced to save paper (doc/gpm2.ps), an info
-one (doc/gpm.info) and a text-only version (doc/gpmdoc.txt -- but
-without table of contents, for now). Man pages are automatically
-extracted from the info file, and are installed with "make install"
-
-=========== BUG REPORTS
-
-Before sending bug reports, please look at the file "FAQ",
-which outlines some known problems, and how to deal with them.
-
-If your bug isn't fixed by reading there, please report it to me,
-without getting angry with me if things don't work at first trial
-(but they usually work).
-
-Bug reports are best sent to the gpm mailing list (see above) or to me
-via email, if you use personal mail please include the string "gpm"
-somewhere in the subject line. This will help my filters in sorting
-things out.
-
-* When compilation fails I need your kernel version ("uname -a"), the
-compiler version ("gcc -v") and the library version ("ls -l /lib" or,
-better "ldd /usr/sbin/gpm"). And the compiler messages, obviously.
-
-* When a program hangs or segfaults, please reinvoke the program under strace:
- strace -tf -o /tmp/trace.gpm gpm -t msc
- ^^^^^^^^^^ put your true cmdline here.
-Then send me /tmp/trace.gpm* (they may be one or two files, according
-to the strace version), and a description of how you reproduce the problem.
-
-The last resort is a core dump, but I'll ask it personally if I have real
-difficulties in tracing out your problem.
-
-=========== CREDITS
-
-The following people contributed to gpm, in chronological order. This
-list used to reside in a different file, but it's better for it to stand
-out in the README
-
-Andrew Haylett (ajh@gec-mrc.co.uk)
- donated "selection" to the linux community, so I could get
- the idea and the code. A few others contributed to selection,
- but I lost track of their contributions and names.
-
-Steven S. Dick (ssd@nevets.oau.org)
- fixed a pair of bugs in early gpm versions.
-
-Miguel de Icaza (miguel@roxanne.nuclecu.unam.mx)
- helped fixing some bugs and provided a good client to test
- my server. He helped a lot in testing the various pre-releases.
-
-Olav Woelfelschneider (wosch@rbg.informatik.th-darmstadt.de)
- fixed 0.10 with MouseSystems compatible mice.
-
-Janne Kukonlehto (jtklehto@stekt.oulu.fi)
- provided xterm mouse decoding to be stolen by me.
-
-Rick Lyons (rick@razorback.brisnet.org.au)
- fixed a bug in gpm-0.9.
-
-Reuben Sumner (rasumner@undergrad.math.uwaterloo.ca)
- helped fixing behaviour with "-t bm".
-
-Larry Bartholdi (lbartho@scsun.unige.ch)
- pinpointed an error in t-mouse-suspend
- and provided good suggestions for 0.97.
-
-Mark Lord (mlord@bnr.ca)
- ported to Dexxa/Logitech mice and gave feedback several times.
-
-Stefan Giessler (stg@gandalf.han.de)
- fixed some problems with gpm-root and
- suggested to put gpm in the background (0.97).
-
-Roman Shapiro
- helped with the Logitech MouseMan.
-
-Andries Brouwer (aeb@cwi.nl)
- Provided a Latin-1 LUT for chars, and enhanced
- lut-loading code (0.98).
-
-Adrian Johnson (ajohnson@apanix.apana.org.au)
- Gave good feedback and ideas for the 0.98's
-
-Stephen Lee (sl14@crux1.cit.cornell.edu)
- Helped a lot with the damned MouseMan protocol (0.98 and 1.0)
-
-John van Leeuwen (johnvl@einstein.et.tudelft.nl)
- Outlined and fixed a pair of bugs in gpm-root 0.98
-
-Alvar Bray (alvar@meiko.co.uk)
- Pointed out an error with awk (0.99)
-
-David A. van Leeuwen (david@tm.tno.nl)
- Helped with chord-middle protocols (1.0)
-
-Pavel Kankovsky (KAN@frode.dcit.cz)
- Open /dev/ttyxx instead of /dev/console in the lib (1.01)
-
-Mark Shadley (shadcat@catcher.com)
- Helped in turning to ELF (1.01 and 1.02) and in fixing
- horrible bugs of mine. Without his help 1.03 wouldn't be there.
-
-Lou Sortman (lou@lounix4.conc.tdsnet.com)
- Added support for glidepoint mice within "-t mman". (1.05)
-
-Marc Meis (100334.1426@compuserve.com)
- Provided support for absolute pointing devices, and in
- particular for the ncr3125 pen. (1.05)
-
-Michael Plass (Michael_Plass.PARC@xerox.com)
- Fixed a damned bug in middle button decoding (M_ms) (1.07)
-
-Markus Gutschke (gutschk@uni-muenster.de)
- Provided a better re-encoding for "-R" (1.10)
-
-Karsten Ballueder (Karsten@piobelix.physik.uni-karlsruhe.de)
- Suggested the reboot compile-time option (1.10)
-
-John Davis (davis@space.mit.edu)
- Found and fixed a buglet in liblow.c for some jed users (1.10)
-
-Julian Thompson (jrt@miel.demon.co.uk)
- Fixed a buglet in gpm-root (1.10)
-
-Dave Flater (dave@universe.digex.net)
- Removed a typo in the disabled decoder for ms-3b (1.11)
-
-Thomas E. Dickey (dickey@clark.net)
- Ported to autoconf (1.11)
-
-Pavel Machek (pavel@ucw.cz)
- New mode "logim" (1.11) and NetMouse (1.14)
-
-Matthias Grimrath (y0001032@rzserv8.rz.tu-bs.de)
- Be c++ compliant in gpm.h (1.11)
-
-Stephen Tell (tell@cs.unc.edu)
- Patch for the ps2 decoder to support misbehaving devices (1.11)
-
-Francois Chastrette (no-email)
- Great help to support plugnpray mice (1.13)
-
-Steve Bennett (s.bennett@lancaster.ac.uk)
- Support for the intellimouse serial devices. (1.13)
-
-Jan Daciuk (jandac@pg.gda.pl)
- t-mouse: yet another regexp possibility
-
-Ian Zimmerman is now actively cooperating in maintaining gpm, so
-he'll no longer appear in the acknowledgements ;-)
-
-David Given (dg@tao.co.uk)
- Offered support for joystick mouse emulation (1.14)
-
-Tim Goodwin (tgoodwin@cygnus.co.uk)
-Colin Plumb (colin@nyx10.nyx.net)
-Ben Pfaff (pfaffben@pilot.msu.edu)
-Ian and Iris (brooke@jump.net)
- All of them sent in support for ps2 intellimouse (1.14)
-
-Edmund Grimley Evans (edmund@vocalis.com)
- Added "-t ms+lr"
-
-Stefan Runker (runkeledv@t-online.de)
- Contributed a new Wacom decoder
-
-Alessandro Rubini (rubini@linux.it)
- He's done a lot of work on gpm and maintained it.
- He's still helping me a lot to understand all parts of gpm.
diff --git a/software/gpm/browse_source/gpm-1.20.2-broken/README.gpm2 b/software/gpm/browse_source/gpm-1.20.2-broken/README.gpm2
deleted file mode 100644
index 2f2171be..00000000
--- a/software/gpm/browse_source/gpm-1.20.2-broken/README.gpm2
+++ /dev/null
@@ -1,32 +0,0 @@
-I am thinking about restructing gpm, for the following reasons:
-
-- the code is old
-- the code is huge
-- the code is next to unmaintainable
-- the code is linux specific
-
-What I think one could reach:
-
-- create gpm, that runs on any Unix?
-- create gpm that is easy to extend
-- create gpm that is easy to maintain
-
-What ways are possible?
-
-- rewrite everything from scratch
- * takes a long time and much motivitation
-- migrate old code to clean codebase
- * takes some time to analyse old code
- * seems to me some way one could go
-
-How to do it?
-
-- new functions / code references 'gpm2' instead of gpm
-- perhaps some people want to sponsor me for creating a clean
- mouse driver for the console?
- => thus I got more time to focus on gpm2
-- motivate other foss developers to take part into it
-
-Let's see what happens!
-
- -- Nico Schottelius, 2007-05-11 2245 CEST in a train in Zurich
diff --git a/software/gpm/browse_source/gpm-1.20.2-broken/TODO b/software/gpm/browse_source/gpm-1.20.2-broken/TODO
deleted file mode 100644
index fa2b54d4..00000000
--- a/software/gpm/browse_source/gpm-1.20.2-broken/TODO
+++ /dev/null
@@ -1,117 +0,0 @@
-================================================================================
-= /------\ /-----\ |----\ /-----\ =
-= || | | | | | | =
-= || | | | | | | thanks for every help. ;) =
-= || \-----/ |____/ \-----/ =
-================================================================================
-
-Last edited:
-Nico Schottelius , 24 Dec 2002
-
-Intro:
-
-Welcome to the todo list. You are invited to help me. Select something
-you wanna fix/introduce and I will tell you how you can add it.
-items marked with a 'D' are done.
-
-Tasks:
-
-2002-12-24 Nico Schottelius
- * -D must be checked before calling anything else.
- Currently, -m mousedev -D -t ps2 calls add_mouse first without debug
-
-2002-11-21 Nico Schottelius
- * remove -M, allow multiply -m,-t; -> allow n mice and cleaner code
- --> means use of add_mouse(), init_mice()
- * remove old opt_*
-D * cleanup gpn.c/cmdline to its real purpose
- * make protocol / port autodection: gpm -u [later...]
- => ONLY FOR DEVFS!
-
-2002-11-09 Nico Schottelius
-D * cleanup gpm further: main.c
- * do init,protocol,disable functions forced
-D * introducte global option structure
-
-2002-03-10 Nico Schottelius
- * make buffer accessable from X and vice versa
-
-2002-03-02 Nico Schottelius
-D * remove large messages: (just cd $srcdir...)
- /home/user/nico/computer/sources/linux/gpm/gpm-1.20.1/src/mice.c ->
- src/mice.c or mice.c
-
- It's a problem with gcc's command line:
- gcc -o file filename.c -> filename.c
- gcc -o file /path/to/filename.c -> /path/to/filename.c
-
-2002-02-20 Nico Schottelius
- * add contrib/other/TPdetect.cc [Allan Sandfeld Jensen
- ] to the gpm source.
-
-2002-02-08 Nico Schottelius
- * fix problems with the following clients:
- - gpm-root complains about /dev/vcs0 in devfs
- - disable-past: segmenatation fault
- - mev: segmenatation fault
- - hltest: stdin: not a system console [ devfs problem ? ]
- - mouse-test does not work (does not do anything after key pressed)
-D * add better ps2 initialization: after mouse is screwed up with synps2
- data, the init of ps2 should be able to get the mouse work again...
- [ btw, currenty I_empty is used :( ]
-D * update documentation and MANIFEST
-
-2002-02-04 Nico Schottelius
- * use gpm_report in all gpm sources. Check for run_status.
- [ report_lib does not need run_status! ]
- * export synaptic.c messages to message.h
- * cleanup debugging support in synaptics.c
- * remove all strings in c files and place them into message.h
-
-2002-01-07 Nico Schottelius
- * cleanup gpm-root (it will not run currently with devfs)
-D * add pseudo root support
-D * add protocol reset (after synps2 i.e.)
- * add serial console support into gpm_report
- * add howtos:
- - add a protocol (?)
- - add a messsage (message.h)
- * remove hardwired names in sample clients.
-D * cleanup Gpm_Open (problem with devfs still exists)
- * remove dirty gotos
-
-2001-09-29 Frédéric L. W. Meunier <0@pervalidus.net>
- * Add GNU screen support to libgpm.
-
-2001-09-23 Nico Schottelius
-D * put dependings from sources to src/.depend
-D * set version _everywhere_ via configure (doc.gpm and others)
-D * really remove oops() output, add clearer text to the user(also use stderr)
-D * remove more hardwired things in gpm ! [partly solved. gpm-root is missing]
-D * oops rewrite or use another function for rep_err()
- --> calls oops() of we need to exit. Give oops() a va_* type, Filename,line
- --> normally report(STATUS, text, ... ) -->
- --> STATUS = (char * filename(__FILE__), int line(__LINE__), int status)
- --> status: WARN, CRIT(or ABRT)
-
-D * 27th of July 2k+1:
- - report(char *filename, int line, int status, char *text, ... )
- Destinations:
- * stderr -> startup
- * current console (/dev/tty, /dev/vc/0) -> debug, daemon
- * console (/dev/console) -> running, daemon
- * syslogd -> running, daemon
- Status:
- * LOG_INFO
- * LOG_WARN
- * LOG_ERR
- * LOG_DEBUG
-
-
-D * 7th of July 2k+1: [partly done. many patches left]
- - analysing patches
- - applying patches
- - detail stuff:
- - message function:
- destination depend on current state
- change debuglevel by using SIGUSR1/SIGUSR2
diff --git a/software/gpm/browse_source/gpm-1.20.2-broken/autogen.sh b/software/gpm/browse_source/gpm-1.20.2-broken/autogen.sh
deleted file mode 100644
index 0cdcd36e..00000000
--- a/software/gpm/browse_source/gpm-1.20.2-broken/autogen.sh
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/bin/sh
-# Nico Schottelius
-# 2006-08-27
-#
-
-set -e
-echo "Running autotools ..."
-aclocal -I m4
-autoheader
-autoconf
-echo "Done! Now just run ./configure"
diff --git a/software/gpm/browse_source/gpm-1.20.2-broken/conf/gpm-root.conf b/software/gpm/browse_source/gpm-1.20.2-broken/conf/gpm-root.conf
deleted file mode 100644
index ab9f16c8..00000000
--- a/software/gpm/browse_source/gpm-1.20.2-broken/conf/gpm-root.conf
+++ /dev/null
@@ -1,85 +0,0 @@
-# sample configuration file for gpm-root
-# edit it to please your taste....
-
-button 1 {
- name "ttys"
-
- "" f.nop
- "login on a new tty" f.mktty
- "" f.nop
- "tty 1" f.jptty "1"
- "tty 2" f.jptty "2"
- "tty 3" f.jptty "3"
- "tty 4" f.jptty "4"
- "" f.nop
- "tty 5" f.jptty "5"
- "tty 6" f.jptty "6"
- "tty 7" f.jptty "7"
- "tty 8" f.jptty "8"
- "" f.nop
- "more of them..." {
-
- "tty 9" f.jptty "9"
- "tty 10" f.jptty "10"
- "tty 11" f.jptty "11"
- "tty 12" f.jptty "12"
- "" f.nop
- "tty 13" f.jptty "13"
- "tty 14" f.jptty "14"
- "tty 15" f.jptty "15"
- "tty 16" f.jptty "16"
- "" f.nop
- "more of them..." {
- "tty 17" f.jptty "17"
- }
- }
-
-}
-
-button 2 {
- name "system status"
- foreground red
- background black
- border yellow
- head bright yellow
-
- "" f.nop
- "%b %d %Y" f.time
- "%H:%M" f.time
- "" f.nop
- "load: " f.load
- "free:" f.free
- "" f.nop
- "report disk usage to ~/du" f.bgcmd "du ~ | sort -rn > ~/du"
- "print mail headers to tty" f.bgcmd
- "grep '^From ' /var/spool/mail/$USER | tail"
-}
-
-button 3 {
- name "far ttys"
-
- foreground black
- background red
- border bright yellow
- head bright yellow
-
- "tty 9" f.jptty "9"
- "tty 10" f.jptty "10"
- "tty 11" f.jptty "11"
- "tty 12" f.jptty "12"
- "" f.nop
-
- "tty 13" f.jptty "13"
- "tty 14" f.jptty "14"
- "tty 15" f.jptty "15"
- "tty 16" f.jptty "16"
- "" f.nop
-
-# I use this to halt and reboot the system, but it isn't wise to put it
-# in widely accessible boxes.
-#
-# "----" f.nop
-# "" f.nop
-# "halt" f.bgcmd "/sbin/shutdown -h now"
-# "reboot" f.bgcmd "/sbin/shutdown -r now"
-}
diff --git a/software/gpm/browse_source/gpm-1.20.2-broken/conf/gpm-syn.conf b/software/gpm/browse_source/gpm-1.20.2-broken/conf/gpm-syn.conf
deleted file mode 100644
index bba0ffef..00000000
--- a/software/gpm/browse_source/gpm-1.20.2-broken/conf/gpm-syn.conf
+++ /dev/null
@@ -1,49 +0,0 @@
-/* enabling configuration parameters */
-[edge_motion_enabled] TRUE
-[edge_motion_speed_enabled] TRUE
-[corner_taps_enabled] TRUE
-[tap_gesture_enabled] TRUE
-[pressure_speed_enabled] TRUE
-[tossing_enabled] TRUE
-[does_toss_use_static_speed] TRUE
-/* pressure induced speed related configuration parameters */
-[low_pressure] 60
-[speed_up_pressure] 60
-[pressure_factor] 0.10
-[standard_speed_factor] 0.10
-/* toss/catch related parameters */
-[min_toss_time] 100
-[max_toss_time] 300
-[prevent_toss_time] 300
-[min_toss_dist] 2
-[static_toss_speed] 70
-[toss_speed_factor] 0.5
-/* edge motion related configuration parameters */
-[edge_speed] 20
-/* corner tap actions */
-[upper_left_action] 0 (none)
-[upper_right_action] 2 (middle)
-[lower_left_action] 0 (none)
-[lower_right_action] 3 (right)
-/* wmode parameters */
-[wmode_enabled] TRUE
-[drag_lock_enabled] FALSE
-[finger_threshold] 30
-[tap_lower_limit] 5
-[tap_upper_limit] 200
-[tap_range] 100
-[tap_interval] 200
-[pads_tap_interval] 8
-[multiple_tap_delay] 30
-[palm_detect_enabled] TRUE
-[palm_detect_level] 12
-[multi_finger_tap_enable] TRUE
-[multi_finger_stop_enabled] TRUE
-[multi_finger_stop_delay] 8
- /* Additional options */
-[touch_pad_enabled] TRUE
-[stick_enabled] TRUE
-[scrolling_enabled] TRUE
-[scrolling_edge] 2
-[auto_scrolling_enabled] TRUE
-
diff --git a/software/gpm/browse_source/gpm-1.20.2-broken/conf/gpm-twiddler.conf b/software/gpm/browse_source/gpm-1.20.2-broken/conf/gpm-twiddler.conf
deleted file mode 100644
index 85d0d402..00000000
--- a/software/gpm/browse_source/gpm-1.20.2-broken/conf/gpm-twiddler.conf
+++ /dev/null
@@ -1,258 +0,0 @@
-#
-# This is the configuration file for the twiddler keyboard as used under
-# the gpm mouse server
-#
-# Empty lines and comments are ignored, other lines must follow either
-# of the following conventions:
-# chord = value (e.g. "L000 = a")
-# mod chord = value (e.g. "Shift L000 = a")
-#
-# The "mod" is one of "Shift" "Numeric" "Function" "Control" "Ctrl" "Alt",
-# or any abbreviation of those (case independent)
-# The special case "Ctrl+Shift" (or "Shift+Ctrl") is supported, but note
-# that it can't be abbreviated like C+S or anything like that.
-#
-# The "chord" value is one of the usual specifications, uppercase only
-#
-# Value can be a single byte (also as escape sequence), a string with
-# double quotes (with escape sequences) or a special name (one of those
-# appearing as "string" in dumpkeys, and Up Down Left Right).
-# In addition, the strings "Console" and "Exec" are supported. See the
-# sample case below.
-#
-# Escape sequences are \n \r \e \t \a \b, octal ("\243") or hex ("\xff")
-# numbers. Any other char is returned unchanged, like \" or \\.
-
-######## Lowercase
-R000 = a
-0R00 = b
-00R0 = c
-000R = d
-M000 = e
-0M00 = f
-00M0 = g
-000M = h
-LR00 = i
-L0R0 = j
-L00R = k
-LM00 = l
-L0M0 = m
-L00M = n
-LL00 = o
-L0L0 = p
-L00L = q
-MR00 = r
-M0R0 = s
-M00R = t
-MM00 = u
-M0M0 = v
-M00M = w
-ML00 = x
-M0L0 = y
-M00L = z
-
-############## Uppercase
-Shift R000 = A
-Shift 0R00 = B
-Shift 00R0 = C
-Shift 000R = D
-Shift M000 = E
-Shift 0M00 = F
-Shift 00M0 = G
-Shift 000M = H
-Shift LR00 = I
-Shift L0R0 = J
-Shift L00R = K
-Shift LM00 = L
-Shift L0M0 = M
-Shift L00M = N
-Shift LL00 = O
-Shift L0L0 = P
-Shift L00L = Q
-Shift MR00 = R
-Shift M0R0 = S
-Shift M00R = T
-Shift MM00 = U
-Shift M0M0 = V
-Shift M00M = W
-Shift ML00 = X
-Shift M0L0 = Y
-Shift M00L = Z
-
-######## Control
-Ctrl R000 = \x01
-Ctrl 0R00 = \x02
-Ctrl 00R0 = \x03
-Ctrl 000R = \x04
-Ctrl M000 = \x05
-Ctrl 0M00 = \x06
-Ctrl 00M0 = \x07
-Ctrl 000M = \x08
-Ctrl LR00 = \x09
-Ctrl L0R0 = \x0a
-Ctrl L00R = \x0b
-Ctrl LM00 = \x0c
-Ctrl L0M0 = \x0d
-Ctrl L00M = \x0e
-Ctrl LL00 = \x0f
-Ctrl L0L0 = \x10
-Ctrl L00L = \x11
-Ctrl MR00 = \x12
-Ctrl M0R0 = \x13
-Ctrl M00R = \x14
-Ctrl MM00 = \x15
-Ctrl M0M0 = \x16
-Ctrl M00M = \x17
-Ctrl ML00 = \x18
-Ctrl M0L0 = \x19
-Ctrl M00L = \x1a
-
-######## Meta (Alt)
-Meta R000 = "\ea"
-Meta 0R00 = "\eb"
-Meta 00R0 = "\ec"
-Meta 000R = "\ed"
-Meta M000 = "\ee"
-Meta 0M00 = "\ef"
-Meta 00M0 = "\eg"
-Meta 000M = "\eh"
-Meta LR00 = "\ei"
-Meta L0R0 = "\ej"
-Meta L00R = "\ek"
-Meta LM00 = "\el"
-Meta L0M0 = "\em"
-Meta L00M = "\en"
-Meta LL00 = "\eo"
-Meta L0L0 = "\ep"
-Meta L00L = "\eq"
-Meta MR00 = "\er"
-Meta M0R0 = "\es"
-Meta M00R = "\et"
-Meta MM00 = "\eu"
-Meta M0M0 = "\ev"
-Meta M00M = "\ew"
-Meta ML00 = "\ex"
-Meta M0L0 = "\ey"
-Meta M00L = "\ez"
-
-##### 1b is escape, etc...
-
- RRR0 = \x1b
-
-############### Numbers and symbols (ascii 0x20 to 0x40)
- L000 = " "
- R0L0 = !
- R0M0 = "
- 0M0L = #
- 0LR0 = $
- 00RM = %
- 0L0L = &
- RM00 = '
- 0LL0 = (
- 0RL0 = )
- 00LM = *
- 00ML = +
- R0R0 = ,
- R00L = -
- RR00 = .
- MMM0 = /
-Num 0L00 = 0
-Num R000 = 1
-Num 0R00 = 2
-Num 00R0 = 3
-Num 000R = 4
-Num M000 = 5
-Num 0M00 = 6
-Num 00M0 = 7
-Num 000M = 8
-Num L000 = 9
- 00RL = :
- R00R = ;
-Num M00L = <
- 00MR = =
-Num R0R0 = >
- RL00 = ?
- 00LR = @
-
-############## Other symbols (ascii 0x5b to 0x60 and 0x7b to 0x7f)
-
-Num RM00 = [
- LLL0 = \
-Num R00M = ]
-Num LM00 = ^
- 0R0L = _
-Num R0L0 = `
-
-Num R00L = {
-Num LLR0 = |
-Num LL0R = }
-Num LLM0 = ~
- 0L00 = \x7f
- 00L0 = \x08
-
-############## In addition to ascii, here are the special keys
-
-# return, tab
-000L = \x0a
-MM0M = \x09
-
-# arrows
-0MR0 = Up
-0ML0 = Down
-0MM0 = Left
-0M0M = Right
-
-# pageup/down
-00RR = Prior
-00LL = Next
-
-############## Functions
-Fun R000 = F1
-Fun 0R00 = F2
-Fun 00R0 = F3
-Fun 000R = F4
-Fun M000 = F5
-Fun 0M00 = F6
-Fun 00M0 = F7
-Fun 000M = F8
-Fun L000 = F9
-Fun 0L00 = F10
-Fun 00L0 = F11
-Fun 000L = F12
-
-
-############## Console switching
-Ctrl+Shift R000 = Console 1
-Ctrl+Shift 0R00 = Console 2
-Ctrl+Shift 00R0 = Console 3
-Ctrl+Shift 000R = Console 4
-Ctrl+Shift M000 = Console 5
-Ctrl+Shift 0M00 = Console 6
-Ctrl+Shift 00M0 = Console 7
-Ctrl+Shift 000M = Console 8
-Ctrl+Shift L000 = Console 9
-Ctrl+Shift 0L00 = Console 10
-Ctrl+Shift 00L0 = Console 11
-Ctrl+Shift 000L = Console 12
-
-############## Executing commands (be careful: this is root)
-# This is just an example: t for "time" and s for "space"
-# The empty line is used to align text on console border
-
-F M00R = Exec echo > /dev/tty0; date > /dev/tty0
-F M0R0 = Exec echo > /dev/tty0; df > /dev/tty0
-
-# you can put shutdown, reboot or anything here.
-
-############## Macros
-
-0RR0 = "the"
-0RM0 = "of"
-0R0R = "to"
-0M0R = "ed"
-R00M = "and"
-0R0M = "in"
-0L0M = "ion"
-00MM = "ing"
-
-############## Add accented letters here below....
diff --git a/software/gpm/browse_source/gpm-1.20.2-broken/configure.ac b/software/gpm/browse_source/gpm-1.20.2-broken/configure.ac
deleted file mode 100644
index d3dc9a16..00000000
--- a/software/gpm/browse_source/gpm-1.20.2-broken/configure.ac
+++ /dev/null
@@ -1,191 +0,0 @@
-#
-# gpm - configure.ac
-# based on configure.in, written jan/1997 byT.E.Dickey
-# Nico Schottelius
-#
-# heavily cleaned up
-
-############################# prework #################################
-AC_INIT(gpm, 1.20.2 (git), gpm@lists.linux.it)
-AC_PREREQ(2.59)
-AC_CONFIG_SRCDIR([src/gpm.c])
-AC_CONFIG_HEADER([src/headers/config.h])
-
-############################# release version #################################
-release_date="Sometime 2005"
-AC_DEFINE_UNQUOTED(GPM_RELEASE,PACKAGE_VERSION,[release version string])
-AC_DEFINE_UNQUOTED(GPM_RELEASE_DATE,"$release_date",[release date string])
-
-# These are chosen so that we can switch to the libtool scheme transparently.
-abi=20
-abi_age=19
-abi_rev=0
-
-abi_lev=`expr $abi - $abi_age`
-abi_full=$abi_lev.$abi_age.$abi_rev
-
-dnl Make srcdir an absolute path.
-if test x$srcdir = x ; then
- srcdir = `pwd`
-else
- srcdir=`cd $srcdir && pwd`
-fi
-
-# check for programs
-AC_PROG_CC
-AC_PROG_RANLIB
-AC_PROG_INSTALL
-AC_PROG_YACC
-AC_PROG_LN_S
-AC_PATH_PROG(DVIPS,dvips,no)
-AC_PATH_PROG(TEXI2HTML,texi2html,no)
-AC_PATH_PROG(TEX,tex,no)
-AC_PATH_PROG(TEXINDEX,texindex,no)
-AC_PATH_PROG(MAKEINFO,makeinfo,no)
-AC_PATH_PROG(DIFF,diff,no)
-AC_PATH_PROG(SED,sed,no)
-AC_PATH_PROG(emacs,emacs,no)
-
-# emacs
-if test ${ac_cv_path_emacs} = no ; then
- EMACS=:
- ELISP=
-else
- EMACS=${ac_cv_path_emacs}
- ELISP="emacs/t-mouse.el emacs/t-mouse.elc"
-fi
-
-if test $EMACS != : ; then
- ITZ_PATH_SITE_LISP
- lispdir=${itz_cv_path_site_lisp}
-else
- lispdir='${datadir}/emacs/site-lisp'
-fi
-
-# headers
-AC_CHECK_HEADERS(linux/input.h linux/joystick.h linux/major.h linux/tty.h)
-AC_CHECK_HEADERS(curses.h ncurses.h ncurses/curses.h sys/sysmacros.h syslog.h)
-AC_CHECK_HEADERS([math.h], , [AC_MSG_ERROR([a mandatory header is missing])])
-
-# curses
-AC_ARG_WITH(curses,
-[ --without-curses disable curses support even if curses found])
-
-CURSES_OBJS=
-
-case $with_curses in
-No|no|N|n) : ;;
- *) if test ${ac_cv_header_ncurses_h} = yes ||
- test ${ac_cv_header_ncurses_curses_h} = yes ||
- test ${ac_cv_header_curses_h} = yes ; then
- CURSES_OBJS=lib/libcurses.o ; fi ;;
-esac
-
-EVDEV_SRCS=
-if test ${ac_cv_header_linux_input_h} = yes ; then
- EVDEV_SRCS=evdev.c ;
- AC_CHECK_TYPE(struct input_absinfo,AC_DEFINE_UNQUOTED(HAVE_INPUT_ABSINFO, 1, [define if struct input_absinfo defined in linux/input.h]),,[#include ])
-fi
-
-ITZ_CHECK_TYPE(__u32,linux/types.h)
-if test ${itz_cv_type___u32} = yes || test ${ac_cv_type___u32} = yes ; then
- AC_DEFINE(HAVE___U32, 1, [system has __u32 types])
-fi
-
-ITZ_SYS_ELF
-if test ${itz_cv_sys_elf} = yes && test x${ac_cv_prog_gcc} = xyes ; then
- SHLIB=lib/libgpm.so
-else
- SHLIB=
-fi
-
-############################# functions #######################################
-AC_CHECK_FUNCS(vsyslog syslog)
-AC_FUNC_ALLOCA
-
-case $with_curses in
-No|no|N|n) SHARED_LIBS=-lc ;;
-*)
- SAVELIBS=$LIBS
- LIBS=
- for i in tinfo ncurses termcap termlib; do
- if test x$LIBS = x; then
- AC_CHECK_LIB($i, tputs)
- else :; fi
- done
- TERMLIBS=$LIBS
- LIBS=
- for i in ncurses curses; do
- if test x$LIBS = x; then
- AC_CHECK_LIB($i, wgetch,,,$TERMLIBS)
- else :; fi
- done
- SHARED_LIBS="$LIBS $TERMLIBS -lc"
- LIBS=$SAVELIBS ;;
-esac
-
-dnl ceil() may be an inline, so check with no libm first
-dnl need to use variables/return or gcc will optimize ceil() to a noop
-AC_CACHE_CHECK([whether libm is needed for ceil], [gpm_cv_ceil_libm],
-[ceil_found=no
-for i in "" "-lm"; do
- SAVELIBS=$LIBS
- LIBS=$i
- AC_LINK_IFELSE([AC_LANG_PROGRAM(
-[#ifdef HAVE_MATH_H
-#include
-#endif], [float i=10.0; return ceil(i);])], [ceil_found=yes])
- LIBS=$SAVELIBS
- if test x$ceil_found = xyes; then
- break
- fi
-done
-if test x$ceil_found = xno; then
- gpm_cv_ceil_libm=missing
-elif test x$i = x-lm; then
- gpm_cv_ceil_libm=yes
-else
- gpm_cv_ceil_libm=no
-fi])
-case $gpm_cv_ceil_libm in
-no)
- LIBM=
- ;;
-yes)
- LIBM=-lm
- ;;
-*)
- AC_MSG_ERROR([a mandatory function is missing])
- ;;
-esac
-
-GPMXTERM=
-AC_SUBST(GPMXTERM)
-AC_SUBST(release)
-AC_SUBST(release_date)
-AC_SUBST(abi_lev)
-AC_SUBST(abi_full)
-AC_SUBST(EMACS)
-AC_SUBST(ELISP)
-AC_SUBST(SHLIB)
-AC_SUBST(PICFLAGS)
-AC_SUBST(SOLDFLAGS)
-AC_SUBST(CURSES_OBJS)
-AC_SUBST(EVDEV_SRCS)
-AC_SUBST(SHARED_LIBS)
-AC_SUBST(LIBM)
-AC_SUBST(lispdir)
-
-CPPFLAGS='-I$(srcdir) $(DEFS) -include headers/config.h -Wall -DSYSCONFDIR="\"$(sysconfdir)\"" -DSBINDIR="\"$(sbindir)\""'
-LDFLAGS='-L$(srcdir)'
-
-AC_OUTPUT(Makefile.include
- Makefile
- contrib/Makefile
- doc/Makefile
- doc/doc.gpm
- src/Makefile)
-
-# old stuff
-#AC_INIT(src/gpm.c)
-
diff --git a/software/gpm/browse_source/gpm-1.20.2-broken/contrib/Makefile.in b/software/gpm/browse_source/gpm-1.20.2-broken/contrib/Makefile.in
deleted file mode 100644
index 349d5ab1..00000000
--- a/software/gpm/browse_source/gpm-1.20.2-broken/contrib/Makefile.in
+++ /dev/null
@@ -1,31 +0,0 @@
-# -*-makefile-*- (gpm/contrib)
-#
-# Copyright (C) 2001 Nico Schottelius
-#
-
-
-srcdir = @srcdir@
-top_builddir = ..
-
-include $(top_builddir)/Makefile.include
-
-all: $(addprefix $(srcdir)/,$(ELISP))
-
-install: all
- if [ -n "$(ELISP)" ]; then for i in `echo $(ELISP)`; do \
- $(INSTALL_DATA) $(srcdir)/$$i $(lispdir)/`basename $$i` ;\
- done; fi
-
-%.elc: %.el
- $(EMACS) -batch -l $(srcdir)/emacs/exec.el -exec '(byte-compile-file "$<")'
-
-uninstall:
- if [ -n "$(ELISP)" ]; then for i in `echo $(ELISP)`; do \
- rm -f $(lispdir)/`basename $$i` ;\
- done; fi
-
-dist:
- $(CP) -r $(srcdir) $(top_builddir)/gpm-$(release)/
-
-clean distclean:
- $(RM) -f $(srcdir)/emacs/*.elc Makefile
diff --git a/software/gpm/browse_source/gpm-1.20.2-broken/contrib/emacs/exec.el b/software/gpm/browse_source/gpm-1.20.2-broken/contrib/emacs/exec.el
deleted file mode 100644
index 923e5b3f..00000000
--- a/software/gpm/browse_source/gpm-1.20.2-broken/contrib/emacs/exec.el
+++ /dev/null
@@ -1,7 +0,0 @@
-(setq command-switch-alist '(
- ("-exec" . cmdline-exec)))
-
-(defun cmdline-exec (name)
- (eval (car (read-from-string (car command-line-args-left))))
-)
-
\ No newline at end of file
diff --git a/software/gpm/browse_source/gpm-1.20.2-broken/contrib/emacs/t-mouse.el b/software/gpm/browse_source/gpm-1.20.2-broken/contrib/emacs/t-mouse.el
deleted file mode 100644
index 88f6ef1b..00000000
--- a/software/gpm/browse_source/gpm-1.20.2-broken/contrib/emacs/t-mouse.el
+++ /dev/null
@@ -1,342 +0,0 @@
-;;; t-mouse.el --- mouse support within the text terminal
-
-;;; Copyright (C) 1994,1995 Alessandro Rubini
-;;; parts are by Ian T Zimmermann , 1995,1998
-
-;; Maintainer: gpm mailing list: gpm@prosa.it
-;; Keywords: mouse gpm linux
-
-;;; 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 GNU Emacs; see the file COPYING. If not, write to
-;;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
-
-;;; Commentary:
-
-;; This package provides access to mouse event as reported by the
-;; gpm-Linux package. It uses the program "mev" to get mouse events.
-;; It tries to reproduce the functionality offered by emacs under X.
-;; The "gpm" server runs under Linux, so this package is rather
-;; Linux-dependent.
-
-;; Developed for GNU Emacs 19.34, likely won't work with many others
-;; too much internals dependent cruft here.
-
-
-(require 'advice)
-
-(defvar t-mouse-process nil
- "Embeds the process which passes mouse events to emacs.
-It is used by the program t-mouse.")
-
-(defvar t-mouse-filter-accumulator ""
- "Accumulates input from the mouse reporting process.")
-
-(defvar t-mouse-debug-buffer nil
- "Events normally posted to command queue are printed here in debug mode.
-See `t-mouse-start-debug'.")
-
-(defvar t-mouse-current-xy '(0 . 0)
- "Stores the last mouse position t-mouse has been told about.")
-
-(defvar t-mouse-drag-start nil
- "Whenever a drag starts in a special part of a window
-(not the text), the `translated' starting coordinates including the
-window and part involved are saved here. This is necessary lest they
-get re-translated when the button goes up, at which time window
-configuration may have changed.")
-
-(defvar t-mouse-prev-set-selection-function 'x-set-selection)
-(defvar t-mouse-prev-get-selection-function 'x-get-selection)
-
-(defvar t-mouse-swap-alt-keys nil
- "When set, Emacs will handle mouse events with the right Alt
-(a.k.a. Alt-Ger) modifier, not with the regular left Alt modifier.
-Useful for people who play strange games with their keyboard tables.")
-
-(defvar t-mouse-fix-21 nil
- "Enable brain-dead chords for 2 button mice.")
-
-
-;;; Code:
-
-;; get the number of the current virtual console
-
-(defun t-mouse-tty ()
- "Returns number of virtual terminal Emacs is running on, as a string.
-For example, \"2\" for /dev/tty2."
- (let ((buffer (generate-new-buffer "*t-mouse*")))
- (call-process "ps" nil buffer nil "h" (format "%s" (emacs-pid)))
- (prog1 (save-excursion
- (set-buffer buffer)
- (goto-char (point-min))
- (if (or
- ;; Many versions of "ps", all different....
- (re-search-forward " +tty\\(.?[0-9a-f]\\)" nil t)
- (re-search-forward "p \\([0-9a-f]\\)" nil t)
- (re-search-forward "v0\\([0-9a-f]\\)" nil t)
- (re-search-forward "[0-9]+ +\\([0-9]+\\)" nil t)
- (re-search-forward "[\\t ]*[0-9]+[\\t ]+\\([0-9]+\\)" nil t))
- (buffer-substring (match-beginning 1) (match-end 1))))
- (kill-buffer buffer))))
-
-
-;; due to a horrible kludge in Emacs' keymap handler
-;; (read_key_sequence) mouse clicks on funny parts of windows generate
-;; TWO events, the first being a dummy of the sort '(mode-line).
-;; That's why Per Abrahamsen's code in xt-mouse.el doesn't work for
-;; the modeline, for instance.
-
-;; now get this: the Emacs C code that generates these fake events
-;; depends on certain things done by the very lowest level input
-;; handlers; namely the symbols for the events (for instance
-;; 'C-S-double-mouse-2) must have an 'event-kind property, set to
-;; 'mouse-click. Since events from unread-command-events do not pass
-;; through the low level handlers, they don't get this property unless
-;; I set it myself. I imagine this has caused innumerable attempts by
-;; hackers to do things similar to t-mouse to lose.
-
-;; The next page of code is devoted to fixing this ugly problem.
-
-;; WOW! a fully general powerset generator
-;; (C) Ian Zimmerman Mon Mar 23 12:00:16 PST 1998 :-)
-(defun t-mouse-powerset (l)
- (if (null l) '(nil)
- (let ((l1 (t-mouse-powerset (cdr l)))
- (first (nth 0 l)))
- (append
- (mapcar (function (lambda (l) (cons first l))) l1) l1))))
-
-;; and a slightly less general cartesian product
-(defun t-mouse-cartesian (l1 l2)
- (if (null l1) l2
- (append (mapcar (function (lambda (x) (append (nth 0 l1) x))) l2)
- (t-mouse-cartesian (cdr l1) l2))))
-
-(let* ((modifier-sets (t-mouse-powerset '(control meta shift)))
- (typed-sets (t-mouse-cartesian '((down) (drag))
- '((mouse-1) (mouse-2) (mouse-3))))
- (multipled-sets (t-mouse-cartesian '((double) (triple)) typed-sets))
- (all-sets (t-mouse-cartesian modifier-sets multipled-sets)))
- (while all-sets
- (let ((event-sym (event-convert-list (nth 0 all-sets))))
- (if (not (get event-sym 'event-kind))
- (put event-sym 'event-kind 'mouse-click)))
- (setq all-sets (cdr all-sets))))
-
-
-;;; This fun is partly Copyright (C) 1994 Per Abrahamsen
-;; This is basically a feeble attempt to mimic what the c function
-;; buffer_posn_from_coords in dispnew.c does. I wish that function
-;; were exported to Lisp.
-
-(defun t-mouse-lispy-buffer-posn-from-coords (w col line)
- "Return buffer position of character at COL and LINE within window W.
-COL and LINE are glyph coordinates, relative to W topleft corner."
- (save-window-excursion
- (select-window w)
- (save-excursion
- (move-to-window-line line)
- (move-to-column (+ col (current-column)
- (if (not (window-minibuffer-p w)) 0
- (- (minibuffer-prompt-width)))
- (max 0 (1- (window-hscroll)))))
- (point))))
-
-;; compute one element of the form (WINDOW BUFFERPOS (COL . ROW) TIMESTAMP)
-
-(defun t-mouse-make-event-element (x-dot-y-avec-time)
- (let* ((x-dot-y (nth 0 x-dot-y-avec-time))
- (x (car x-dot-y))
- (y (cdr x-dot-y))
- (timestamp (nth 1 x-dot-y-avec-time))
- (w (window-at x y))
- (left-top-right-bottom (window-edges w))
- (left (nth 0 left-top-right-bottom))
- (top (nth 1 left-top-right-bottom))
- (right (nth 2 left-top-right-bottom))
- (bottom (nth 3 left-top-right-bottom))
- (coords-or-part (coordinates-in-window-p x-dot-y w)))
- (cond
- ((consp coords-or-part)
- (let ((wx (car coords-or-part)) (wy (cdr coords-or-part)))
- (if (< wx (- right left 1))
- (list w
- (t-mouse-lispy-buffer-posn-from-coords w wx wy)
- coords-or-part timestamp)
- (list w 'vertical-scroll-bar
- (cons (1+ wy) (- bottom top)) timestamp))))
- ((eq coords-or-part 'mode-line)
- (list w 'mode-line (cons (- x left) 0) timestamp))
- ((eq coords-or-part 'vertical-line)
- (list w 'vertical-line (cons 0 (- y top)) timestamp)))))
-
-;;; This fun is partly Copyright (C) 1994 Per Abrahamsen
-
-(defun t-mouse-make-event ()
- "Makes a Lisp style event from the contents of mouse input accumulator.
-Also trims the accumulator by all the data used to build the event."
- (let (ob (ob-pos (condition-case nil
- (read-from-string t-mouse-filter-accumulator)
- (error nil))))
- (if (not ob-pos) nil
- (setq ob (car ob-pos))
- (setq t-mouse-filter-accumulator
- (substring t-mouse-filter-accumulator (cdr ob-pos)))
-
- ;;now the real work
-
- (let ((event-type (nth 0 ob))
- (current-xy-avec-time (nth 1 ob))
- (type-switch (length ob)))
-
- (if t-mouse-fix-21
- (let
- ;;Acquire the event's symbol's name.
- ((event-name-string (symbol-name event-type))
- end-of-root-event-name
- new-event-name-string)
-
- (if (string-match "-\\(21\\|\\12\\)$" event-name-string)
-
- ;;Transform the name to what it should have been.
- (progn
- (setq end-of-root-event-name (match-beginning 0))
- (setq new-event-name-string
- (concat (substring
- event-name-string 0
- end-of-root-event-name) "-3"))
-
- ;;Change the event to the symbol that corresponds to the
- ;;name we made. The proper symbol already exists.
- (setq event-type
- (intern new-event-name-string))))))
-
- ;;store current position for mouse-position
-
- (setq t-mouse-current-xy (nth 0 current-xy-avec-time))
-
- ;;events have many types but fortunately they differ in length
-
- (cond
- ;;sink all events on the stupid text mode menubar.
- ((and menu-bar-mode (eq 0 (cdr t-mouse-current-xy))) nil)
- ((= type-switch 4) ;must be drag
- (let ((count (nth 2 ob))
- (start-element
- (or t-mouse-drag-start
- (t-mouse-make-event-element (nth 3 ob))))
- (end-element
- (t-mouse-make-event-element current-xy-avec-time)))
- (setq t-mouse-drag-start nil)
- (list event-type start-element end-element count)))
- ((= type-switch 3) ;down or up
- (let ((count (nth 2 ob))
- (element
- (t-mouse-make-event-element current-xy-avec-time)))
- (if (and (not t-mouse-drag-start)
- (symbolp (nth 1 element)))
- ;; OUCH! GOTCHA! emacs uses setc[ad]r on these!
- (setq t-mouse-drag-start (copy-sequence element))
- (setq t-mouse-drag-start nil))
- (list event-type element count)))
- ((= type-switch 2) ;movement
- (list (if (eq 'vertical-scroll-bar
- (nth 1 t-mouse-drag-start)) 'scroll-bar-movement
- 'mouse-movement)
- (t-mouse-make-event-element current-xy-avec-time))))))))
-
-
-(defun t-mouse-process-filter (proc string)
- (setq t-mouse-filter-accumulator
- (concat t-mouse-filter-accumulator string))
- (let ((event (t-mouse-make-event)))
- (while event
- (if (or track-mouse
- (not (eq 'mouse-movement (event-basic-type event))))
- (setq unread-command-events
- (nconc unread-command-events (list event))))
- (if t-mouse-debug-buffer
- (print unread-command-events t-mouse-debug-buffer))
- (setq event (t-mouse-make-event)))))
-
-
-;; this overrides a C function which stupidly assumes (no X => no mouse)
-(defadvice mouse-position (around t-mouse-mouse-position activate)
- "Return the t-mouse-position unless running with a window system.
-The (secret) scrollbar interface is not implemented yet."
- (if (not window-system)
- (setq ad-return-value
- (cons (selected-frame) t-mouse-current-xy))
- ad-do-it))
-
-(setq mouse-sel-set-selection-function
- (function (lambda (type value)
- (if (not window-system)
- (if (eq 'PRIMARY type) (kill-new value))
- (funcall t-mouse-prev-set-selection-function
- type value)))))
-
-(setq mouse-sel-get-selection-function
- (function (lambda (type)
- (if (not window-system)
- (if (eq 'PRIMARY type)
- (current-kill 0) "")
- (funcall t-mouse-prev-get-selection-function type)))))
-
-;; It should be possible to just send SIGTSTP to the inferior with
-;; stop-process. That doesn't work; mev receives the signal fine but
-;; is not really stopped: instead it returns from
-;; kill(getpid(), SIGTSTP) immediately. I don't understand what's up
-;; itz Tue Mar 24 14:27:38 PST 1998.
-
-(add-hook 'suspend-hook
- (function (lambda ()
- (and t-mouse-process
- ;(stop-process t-mouse-process)
- (process-send-string
- t-mouse-process "push -enone -dall -Mnone\n")))))
-
-(add-hook 'suspend-resume-hook
- (function (lambda ()
- (and t-mouse-process
- ;(continue-process t-mouse-process)
- (process-send-string t-mouse-process "pop\n")))))
-
-
-;;; User commands
-
-(defun t-mouse-stop ()
- "Stop getting mouse events from an asynchronous process."
- (interactive)
- (delete-process t-mouse-process)
- (setq t-mouse-process nil))
-
-(defun t-mouse-run ()
- "Starts getting a stream of mouse events from an asynchronous process.
-Only works if Emacs is running on a virtual terminal without a window system.
-Returns the newly created asynchronous process."
- (interactive)
- (let ((tty (t-mouse-tty))
- (process-connection-type t))
- (if (or window-system (not (stringp tty)))
- (error "Run t-mouse on a virtual terminal without a window system"))
- (setq t-mouse-process
- (start-process "t-mouse" nil
- "mev" "-i" "-E" "-C" tty
- (if t-mouse-swap-alt-keys
- "-M-leftAlt" "-M-rightAlt")
- "-e-move" "-dall" "-d-hard"
- "-f")))
- (setq t-mouse-filter-accumulator "")
- (set-process-filter t-mouse-process 't-mouse-process-filter)
- (process-kill-without-query t-mouse-process)
- t-mouse-process)
-
-(provide 't-mouse)
-
-;;; t-mouse.el ends here
diff --git a/software/gpm/browse_source/gpm-1.20.2-broken/contrib/init/gpm.init b/software/gpm/browse_source/gpm-1.20.2-broken/contrib/init/gpm.init
deleted file mode 100644
index f5fef0b2..00000000
--- a/software/gpm/browse_source/gpm-1.20.2-broken/contrib/init/gpm.init
+++ /dev/null
@@ -1,69 +0,0 @@
-#!/bin/sh
-# $Id: gpm.init,v 1.2 2002/05/28 19:13:51 nico Exp $
-#
-# chkconfig: 2345 85 15
-# description: \
-# gpm provides mouse support to text-based Linux applications as \
-# well as console cut-and-paste operations using the mouse.
-#
-# processname: gpm
-# pidfile: /var/run/gpm.pid
-# config: /etc/sysconfig/mouse
-
-# source function library
-. /etc/init.d/functions
-
-OWL_STARTUP_ENABLE=1
-
-MOUSECFG=/etc/sysconfig/mouse
-
-case "$1" in
-start)
- if [ -f "$MOUSECFG" ]; then
- . "$MOUSECFG"
- else
- MOUSETYPE="none"
- fi
-
- if [ "$MOUSETYPE" = "none" ]; then
- echo "Not starting gpm (no mouse is configured)"
- exit 0
- fi
-
- if [ "$MOUSETYPE" = "Microsoft" ]; then
- MOUSETYPE=ms
- fi
-
- if [ -n "$MOUSETYPE" ]; then
- GPM_ARG="-t $MOUSETYPE"
- else
- GPM_ARG=""
- fi
-
- if [ "0$OWL_STARTUP_VERSION" -ge 3 ]; then
- daemon --pidfile /var/run/gpm.pid --expect-user root \
- -- gpm "$GPM_ARG"
- else
- daemon gpm "$GPM_ARG"
- fi
- ;;
-stop)
- if [ "0$OWL_STARTUP_VERSION" -ge 3 ]; then
- killproc --pidfile /var/run/gpm.pid --expect-user root gpm
- else
- killproc gpm
- fi
- ;;
-restart|reload)
- $0 stop
- $0 start
- ;;
-status)
- status --pidfile /var/run/gpm.pid --expect-user root gpm
- ;;
-*)
- echo "Usage: gpm {start|stop|restart|status}"
- exit 1
-esac
-
-exit $?
diff --git a/software/gpm/browse_source/gpm-1.20.2-broken/contrib/other/README b/software/gpm/browse_source/gpm-1.20.2-broken/contrib/other/README
deleted file mode 100644
index 4b6c8f9f..00000000
--- a/software/gpm/browse_source/gpm-1.20.2-broken/contrib/other/README
+++ /dev/null
@@ -1,4 +0,0 @@
-Have a look into MANIFEST for more informations.
-
-README - this file
-TPdetect.cc - sample TP detection
diff --git a/software/gpm/browse_source/gpm-1.20.2-broken/contrib/other/TPdetect.cc b/software/gpm/browse_source/gpm-1.20.2-broken/contrib/other/TPdetect.cc
deleted file mode 100644
index 5ca26c1e..00000000
--- a/software/gpm/browse_source/gpm-1.20.2-broken/contrib/other/TPdetect.cc
+++ /dev/null
@@ -1,283 +0,0 @@
-#include
-#include
-#include
-#include
-#include
-
-unsigned char* inbuffer;
-unsigned char* outbuffer;
-
-// wait for up to 0.1seconds for an acknowledgement
-int getack(int fd) {
- fd_set set;
- timeval timeout;
- FD_ZERO(&set);
- FD_SET(fd,&set);
- timeout.tv_sec=0;
- timeout.tv_usec=100000;
- if (select(FD_SETSIZE,&set,NULL,NULL,&timeout)) {
- int b=read(fd,inbuffer,1);
- if(b==1) {
- if(inbuffer[0]==0xfa) {
- //printf("<< Acknowledged\r\n");
- return 1;
- }
- else if (inbuffer[0]=0xfe)
- printf("<- PS/2: Error\r\n");
- else
- printf("<- Not an acknowledgement:%02x\r\n",inbuffer[0]);
- };
- };
- return 0;
-};
-
-// Try to receive n bytes
-int receive(int fd,int n) {
- int a=0,b;
- while(a TP: Send extended ID\r\n");
- command(fd,0xe1);
- if (! getack(fd))
- {
- if(inbuffer[0]==0xfe) { // give it a second try
- command(fd,0xe1);
- if(getack(fd)) goto ack;
- }
- printf("No trackpoint controller detected\r\n");
- return 0;
-
- }
- ack:
- int a=0;
- while(select(FD_SETSIZE,&set,NULL,NULL,&timeout)) {
- read(fd,inbuffer+a,1);
- a++;
- }
- char * version;
- if(inbuffer[0]==0x01) {
- switch(inbuffer[1]) {
- case 0x01:
- version = "8E/98";
- break;
- case 0x02:
- version = "A4";
- break;
- case 0x03:
- version = "AB";
- break;
- case 0x04:
- version = "03";
- break;
- case 0x05:
- version = "B2/B4";
- break;
- case 0x06:
- version = "B1/B3/B5/B8/2B";
- break;
- case 0x07:
- version = "?";
- break;
- case 0x08:
- version = "?";
- break;
- case 0x09:
- version = "?";
- break;
- case 0x0A:
- version = "35";
- break;
- case 0x0B:
- version = "3A/3B";
- break;
- case 0x0C:
- version = "3C";
- break;
- case 0x0D:
- version = "3D";
- break;
- case 0x0E:
- version = "3E";
- break;
- default:
- printf("Unrecognized ID: %02x\n",inbuffer[1]);
- return 0;
- }
- printf("IBM Trackpoint controller detected. Version %s \r\n",version);
- return 1;
- } else {
- printf("No IBM trackpoint controller detected\r\n");
- printf("Extended ID: %02x %02x\r\n",inbuffer[0],inbuffer[1]);
- return 0;
- }
-}
-
-
-// Reset PS/2 device
-int reset(int fd) {
- command(fd,0xff);
- printf("-> PS/2: Reset\r\n");
- getack(fd);
- receive(fd,2);
- if(inbuffer[0]==0xaa && inbuffer[1]==0x00) {
- printf("<- PS/2: Succesfull initialization\r\n");
- return 1;
- } else
- return 0;
-}
-
-// Get PS/2 ID
-int getdeviceid(int fd) {
- command(fd,0xf2);
- getack(fd);
- printf("-> PS/2: Get device ID\r\n");
- if(receive(fd,1)==1) {
- printf("<- PS/2: Device ID: %02x\n",inbuffer[0]);
- return inbuffer[0];
- }
-}
-
-void enabledatareport(int fd) {
- command(fd, 0xf4);
- printf("-> PS/2: (re)Enable data-reporting\r\n");
- getack(fd);
-}
-
-void disabledatareport(int fd) {
- command(fd, 0xf5);
- printf("-> PS/2: Disable data-reporting\r\n");
- getack(fd);
-}
-
-void setsamplerate(int fd, int rate) {
- command(fd,0xf3);
- printf("-> PS/2: Set sample rate: %u\r\n",rate);
- getack(fd);
- command(fd,rate);
- getack(fd);
-}
-
-void setresolution(int fd, int res) {
- command(fd,0xe8);
- printf("-> PS/2: Set resolution: %u\r\n",res);
- getack(fd);
- command(fd,res);
- getack(fd);
-}
-
-void getstatus(int fd) {
- command(fd,0xe9);
- printf("-> Send status\r\n");
- receive(fd,3);
- printf("<- Status is: 0x%02x,0x%02x,0x%02x\n",inbuffer[0],inbuffer[1],inbuffer[2]);
-}
-
-void getlogiid(int fd) {
- receive(fd,3);
- unsigned char a = inbuffer[0];
- unsigned char id = ((a >> 4) & 0x07) | ((a<<3) & 0x78);
- printf("Logi-id: %d\r\n", id);
-};
-
-
-// Put trackpoint device into transparent mode
-void enabletransparent(int fd) {
- command(fd,0xe2);
- getack(fd);
- command(fd,0x4e);
- getack(fd);
- printf("-> TP: Set soft-transparent\r\n");
-}
-
-// Get trackpoint device out of transparent mode
-// Notice the command gives not-ack because its in transparent mode,
-// just ignore these. After the command finishes to acknowledges are sent.
-void disabletransparent(int fd) {
- command(fd,0xe2);
- //getack(fd);
- command(fd,0xb9);
- getack(fd);
- printf("-> TP: Cancel soft-transparent\r\n");
-}
-
-// Detect external device on trackpoint controller
-bool detectExternal(int fd) {
- command(fd,0xe2);
- getack(fd);
- command(fd,0x21);
- getack(fd);
- receive(fd,1);
- if(inbuffer[0] && 8) {
- printf("<- TP: External device present\r\n");
- return true;
- }
- else {
- printf("<- TP: No external device\r\n");
- return false;
- }
-}
-
-// IMPS/2 magic-initialization and detection
-bool detectIMPS(int fd) {
- setsamplerate(fd,200);
- setsamplerate(fd,100);
- setsamplerate(fd,80);
- if(getdeviceid(fd)==3) {
- printf("IMPS/2 mouse detected\r\n");
- }
-}
-
-
-int main() {
- inbuffer = new unsigned char[200];
- outbuffer = new unsigned char[200];
- int fd = open("/dev/psaux", O_RDWR);
- reset(fd);
- // If kernel<2.4.9 remember to disable datareport,
- // in later kernels reset is enough
- disabledatareport(fd);
- sleep(1); // make sure we dont get any more confusing datareports.
- if(detectTP(fd)) {
- if(detectExternal(fd)) {
- enabletransparent(fd);
- if(! detectIMPS(fd)) disabletransparent(fd);
- setsamplerate(fd,200);
- }
- } else
- detectIMPS(fd);
-
- enabledatareport(fd);
-
- close(fd);
-}
diff --git a/software/gpm/browse_source/gpm-1.20.2-broken/contrib/other/gm_psauxprint-0.01.c b/software/gpm/browse_source/gpm-1.20.2-broken/contrib/other/gm_psauxprint-0.01.c
deleted file mode 100644
index a700193d..00000000
--- a/software/gpm/browse_source/gpm-1.20.2-broken/contrib/other/gm_psauxprint-0.01.c
+++ /dev/null
@@ -1,653 +0,0 @@
-// show effects of lost bytes on ps/2 mouse protocol
-// Later: largely extended for mouse autodetect etc. (c) gunther mayer 13.05.2001
-#include
-#include
-#include
-#include
-
-/* S48a reagiert auf Versapad: protokoll auf 4byte intellimouse
- dto. auf logicord
-
-12.06.2001: MS PNP id
-
- */
-
-#define GEN3U 1
-#define IM 2
-#define GEN3D 3
-
-int reset=1;
-int mspnp=0;
-int logi=1;
-int logicord=0; // dies irritiert manchmal genius 3U direkt nach hotplug
-int logi_extended=1;
-int logi_extra=0; /* NO! */
-int logi_extended_s48zilog=1;
-int genius=0;
-int testid=0;
-int a4tech=0;
-int intellimouse_explorer=0;
-int intellimouse=0;
-int alpsglidepoint=0;
-int versapad=0;
-int kensington=0;
-int synaptics=0;
-int cirque=0;
-
-int streamnostream=1;
-
-int consumefa(FILE *f)
-{ int c=0xfa;
-
- while(c==0xfa) {
- c=fgetc(f);
- if(c==0xfa) printf(" 0xfa");
- }
- printf("\n");
- return c;
-}
-
-int sendbuf(int fd,FILE *f,char *buf,int num)
-{
- int i,c,rep;
-
- for(i=0;i> 4) & 0x07) | ((a << 3) & 0x78);
- printf("logi e9 is %02x %02x %02x vojtech-devicetype=%d =0x%2x\n",a,b,c,devicetype,devicetype);
-}
-
- printf("\n");
-
- gete9(fd,f);
-
-
-if(logi_extended) { int g;
- write(fd,&logi_extended_id,9);
- buf[0]=0xeb;
- write(fd,&buf,1);
- a=consumefa(f);
-if(a==0xfe) { printf("FE\n"); write(fd,&buf,1); a=consumefa(f); }
- b=fgetc(f);
- c=fgetc(f);
- printf("logi extended poll 1 eb is %02x %02x %02x\n",a,b,c);
-
- write(fd,&logi_extended_idb,9);
- buf[0]=0xeb;
- write(fd,&buf,1);
- a=consumefa(f);
-if(a==0xfe) { printf("FE\n"); write(fd,&buf,1); a=consumefa(f); }
- b=fgetc(f);
- c=fgetc(f);
- printf("logi extended poll 2 eb is %02x %02x %02x\n",a,b,c);
-
-if(logi_extra) { // marble mouse sends 2 extra triples
- a=fgetc(f);
- b=fgetc(f);
- c=fgetc(f);
- d=fgetc(f);
- e=fgetc(f);
- ee=fgetc(f);
- printf("further is %02x %02x %02x %02x %02x %02x\n",a,b,c,d,e,ee);
-}
-
-if(logi_extended_s48zilog) { int g;
- write(fd,&logi_extended_s48zilog_id,11);
- buf[0]=0xeb;
- write(fd,&buf,1);
- a=consumefa(f);
- b=fgetc(f);
- c=fgetc(f);
- printf("logi extended_s48 zilo poll is %02x %02x %02x\n",a,b,c);
-}
-
-
-
-
-}
-
-printf("\n");
-
-buf[0]=0xe9;
- write(fd,&buf,1);
- a=fgetc(f);
-if(a==0xfe) { printf("FE\n"); write(fd,&buf,1); a=consumefa(f);}
- b=fgetc(f);
- c=fgetc(f);
- d=fgetc(f);
- printf(" e9 is %02x %02x %02x %02x\n",a,b,c,d);
-
-printf("\n");
-
-if(logicord) {
- write(fd,&logi_cordless_status,6);
- a=fgetc(f);
- b=fgetc(f);
- c=fgetc(f);
- d=fgetc(f);
- e=fgetc(f);
- ee=fgetc(f);
- printf("logicord e9 is %02x %02x %02x %02x %02x %02x\n",a,b,c,d,e,ee);
-
- gete9(fd,f);
-}
-
-buf[0]=0xe9;
- write(fd,&buf,1);
- a=fgetc(f);
- b=fgetc(f);
- c=fgetc(f);
- d=fgetc(f);
- printf(" e9 is %02x %02x %02x %02x\n",a,b,c,d);
-
-if(testid) {
- printf("\n");
- write(fd,&test_id,4);
- a=consumefa(f);
- b=fgetc(f);
- c=fgetc(f);
- printf("test id e9 is %02x %02x %02x\n",a,b,c);
- gete9(fd,f);
- printf("\n");
-}
-
-
-if(genius) {
-write(fd,&genius_id,6);
- a=consumefa(f);
- b=fgetc(f);
- c=fgetc(f);
- printf("genius id e9 is %02x %02x %02x\n",a,b,c);
- if(c!=0xc8) {
-
- if((b==0x33) && (c==0x44)) {
- printf("autodetect GEN3D\n");
- typ=GEN3D; // Netscroll groller 6bytes
- }
- else if((b==0x33) && (c==0x55)) {
- printf("autodetect GEN3U\n");
- typ=GEN3U; // Netmouse 4 bytes
- }
- gete9(fd,f);
- }
-
- ratetest(fd,f);
-
-}
-
-if(alpsglidepoint) {
-write(fd,&alps_glidepoint_id,8);
- a=consumefa(f);
- b=fgetc(f);
- c=fgetc(f);
-
- if((b!=0) && (c!=100)) printf("Alps Glidepoint detected\n");
- /* My Genius Newscroll locks rate=$3c (!50) !? */
-
- printf("alps glidepoint id e9 is %02x %02x %02x\n",a,b,c);
- gete9(fd,f);
-}
-
-if(versapad) {
-write(fd,&versapad_id,9);
- a=consumefa(f);
- b=fgetc(f);
- c=fgetc(f);
-
- if((b==0) && (c==10)) printf("versapad detected\n");
-
- printf("versapad id e9 is %02x %02x %02x\n",a,b,c);
- gete9(fd,f);
-}
-
-if(kensington) {
-write(fd,&kensington_id,3);
- a=consumefa(f);
- printf("kensington f3 id is %d\n",a);
- if(a==2) printf("AUTODETECT Kensington\n");
-
- write(fd,&kensington_enable,21);
- a=consumefa(f);
- b=fgetc(f);
- c=fgetc(f);
-
- printf("kensingon enable = %02x %02x %02x\n",a,b,c);
-
- // beware of GENIUS: 3U locks rate at 100; 3D at 20-60
- if((b!=0) && (c!=20)) printf("AUTODETECT Kensington enable\n");
-
-
- printf("\n");
-}
-
-
-
-if(intellimouse){
-write(fd,&intellimouse_id,6);
- buf[0]=0xf2;
- write(fd,&buf,1);
- b=consumefa(f);
- printf("Intellimouse ID(f2) is %x\n",b);
- if(b==3) {
- printf("autodetect is:typ=IM;\n");
- typ=IM;
- }
-}
-if(intellimouse_explorer) {
-write(fd,&intellimouse_explorer_id,6);
- buf[0]=0xf2;
- write(fd,&buf,1);
- b=consumefa(f);
- printf("Intellimouse Explorer ID(f2) is %x\n",b);
- if(b==4) {
- printf("autodetect is:typ=IM;\n");
- typ=IM;
- }
-}
-
-if(synaptics) {
-write(fd,&synaptics_id,10);
- a=consumefa(f);
- b=fgetc(f);
- c=fgetc(f);
-
- printf("synaptics_id is %02x %02x %02x\n",a,b,c);
- if(b==0x47) printf("AUTODETECT Synaptics\n");
- gete9(fd,f);
-}
-
-if(cirque) {
- printf("Before cirque\n");
- gete9(fd,f);
-sendbuf(fd,f,cirque_id,6);
- a=consumefa(f);
- b=fgetc(f);
- c=fgetc(f);
-
- printf("cirque_id is %02x %02x %02x\n",a,b,c);
-
- if(a==0x88) printf("AUTODETECT Cirque\n"); // my smartcat has: 88 03 02
-
- gete9(fd,f);
- gete9(fd,f);
-}
-
-
-if(a4tech) {
-sendbuf(fd,f,a4tech_id,12);
- buf[0]=0xf2;
- write(fd,&buf,1);
- b=consumefa(f);
- printf("a4tech ID(f2) is %x\n",b);
-
- if(b==6 || b==8) printf("AUTODETECT: a4tech\n");
- // b=6: spiffy gyro-mouse "8D Profi-Mouse Point Stick"
- // b=8: boeder Smartmouse Pro (4Button, 2Scrollwheel, 520dpi) PSM_4DPLUS_ID MOUSE_MODEL_4DPLUS
-}
-
- buf[0]=0xf2;
- write(fd,&buf,1);
- b=consumefa(f);
- printf( " ID(f2) is %x\n",b);
-
-streamnostream=1;
-if(streamnostream) {
- buf[0]=0xea;
- write(fd,&buf,1);
- a=fgetc(f);
- printf("Activating stream mode %x\n",a);
-}
-
- buf[0]=0xf4;
- write(fd,&buf,1);
- a=fgetc(f);
- printf("Enable mouse%x\n",a);
-
- //scale
- buf[0]=0xe6;
- write(fd,&buf,1);
- a=fgetc(f);
-
-
- // resolution
- buf[0]=0xe8;
- write(fd,&buf,1);
- a=fgetc(f);
- buf[0]=2;
- write(fd,&buf,1);
- a=fgetc(f);
-
- ratetest(fd,f);
-
- // rate
- buf[0]=0xf3;
- write(fd,&buf,1);
- a=fgetc(f);
- buf[0]=100;
- write(fd,&buf,1);
- a=fgetc(f);
-
-
-buf[0]=0xe9;
- write(fd,&buf,1);
- a=fgetc(f);
- b=fgetc(f);
- c=fgetc(f);
- d=fgetc(f);
- printf(" e9 is %02x %02x %02x %02x\n",a,b,c,d);
-
-
-
-
- //printf("Simulating 2 lost bytes\n");
- //a=fgetc(f); a=fgetc(f);
-
-// printf("Simulating 1 lost byte\n");
- //a=fgetc(f);
-
-printf("autodetect has typ=%d\n",typ);
-
- while (1) {
- a=fgetc(f);
- x=fgetc(f);
- y=fgetc(f);
-if(typ==GEN3U || typ==IM) z=fgetc(f);
- i++;
- printf("%5d -- %02x %02x %02x",i,a,x,y);
-if(typ==GEN3U || typ==IM) printf(" %02x",z);
-
- yo=a&0x80;
- xo=a&0x40;
- ys=a&0x20;
- xs=a&0x10;
- t=a&0x08;
- m=a&0x04;
- r=a&0x02;
- l=a&0x01;
-
- dx=x;
- dy=y;
-
- if(xs) dx= (~255) | dx; /* 9bit 2complement sign extension to signed integer */
- if(ys) dy= (~255) | dy;
-
- if (dxxmax) xmax=dx;
- if (dy>ymax) ymax=dy;
-
- xtot=xtot+dx; /* total count */
- ytot=ytot+dy;
-
-
- // recognize mouseman+ packets aka PS2PP or PS2++ protocol
- if( ((a&0x48) == 0x48) && // bit3 and bit6 set
- ((x&3) == 0x02) && // bit0 unset, bit1 set
- (((x>>1)&0x40) == (x&0x40)) && // bit 7 = bit 6
- ( ((x>>7)&0x01) != ((a>>4)&0x01)) && // neg of p2
- ( ((x>>2)&0x03) == (y&0x03))) {// these 2 bits equal
- int packettype;
- packettype= ((x>>4) &0x03) | ((a>>2)&0x0c);
- printf(" ps2++ packet type=0x%0x ",packettype);
-
- switch (packettype) {
- case 0:
- printf("ID Data packet, model=0x%02x (decimal=%d)",y,y);
- break;
- case 1: // wheel data + BTN4+5 +Horizontal/vertical
- dz = (y&0x07) - (y&0x08); //2s complement
- printf("wheel: %d ",dz);
- if(y&0x10) printf("Btn4 ");
- if(y&0x20) printf("Btn3");
- break;
- case 2: /* Logitech reserves this packet type */
- /* Xfree86 4.0.2
- * IBM ScrollPoint uses this packet to encode its
- * stick movement.
- *
- buttons |= (pMse->lastButtons & ~0x07);
- dx = dy = 0;
- dz = (pBuf[2] & 0x80) ? ((pBuf[2] >> 4) & 0x0f) - 16 :
- ((pBuf[2] >> 4) & 0x0f);
- dw = (pBuf[2] & 0x08) ? (pBuf[2] & 0x0f) - 16 :
- (pBuf[2] & 0x0f);
- */
- break;
-
- case 3:
- printf("touchpad packet");
- break;
- case 4:
- case 5:
- case 6:
- case 8:
- case 9:
- printf("cordless connect packet");
- break;
- case 0x0b:
- printf("marble mouse or trackball packet");
- }
- printf("\n");
- }
-else {
-
-
- printf(" --- %4d : %4d Buttons=%s%s%s Overflow/errors:%s%s%s ",
- dx,dy,m?"M":" ", r?"R":" ", l?"L":" ",
- xo?"X":" ", yo?"Y":" ", t?" ":"T");
-
- printf(" Min/Max x=(%d , %d) y=(%d , %d) total=%d,%d\n",xmin,xmax,ymin,ymax,xtot,ytot);
- }
-
-
-
- }
- return 0;
-}
diff --git a/software/gpm/browse_source/gpm-1.20.2-broken/contrib/scripts/compress-patches b/software/gpm/browse_source/gpm-1.20.2-broken/contrib/scripts/compress-patches
deleted file mode 100644
index 86b52d30..00000000
--- a/software/gpm/browse_source/gpm-1.20.2-broken/contrib/scripts/compress-patches
+++ /dev/null
@@ -1,9 +0,0 @@
-CVS_ADD="";
-CVS_REMOVE="";
-for a in *.gz;
- do CVS_ADD="$CVS_ADD $a";
- CVS_REMOVE="$CVS_REMOVE ${a%.gz}";
-done;
-cvs add $CVS_ADD
-rm $CVS_REMOVE
-cvs remove $CVS_REMOVE
diff --git a/software/gpm/browse_source/gpm-1.20.2-broken/contrib/scripts/create_vcs b/software/gpm/browse_source/gpm-1.20.2-broken/contrib/scripts/create_vcs
deleted file mode 100644
index 6670c413..00000000
--- a/software/gpm/browse_source/gpm-1.20.2-broken/contrib/scripts/create_vcs
+++ /dev/null
@@ -1,25 +0,0 @@
-#! /bin/sh
-#
-# Script by Jakub Jelinek
-# Modified by Ian Zimmerman to reflect names from
-# kernel device list
-# $Id: create_vcs,v 1.2 2002/05/28 19:13:52 nico Exp $
-
-if test -e /dev/vcs0 || test -e /dev/vcs
-then
- exit
-fi
-
-I=0
-while [ $I -lt 25 ]
-do
- mknod /dev/vcs$I c 7 $I
- chmod 622 /dev/vcs$I
- chown root.tty /dev/vcs$I
- mknod /dev/vcsa$I c 7 `expr $I + 128`
- chmod 622 /dev/vcsa$I
- chown root.tty /dev/vcsa$I
- I=`expr $I + 1`
-done
-ln -s vcs0 /dev/vcs
-ln -s vcsa0 /dev/vcsa
diff --git a/software/gpm/browse_source/gpm-1.20.2-broken/contrib/scripts/debug_to_report b/software/gpm/browse_source/gpm-1.20.2-broken/contrib/scripts/debug_to_report
deleted file mode 100644
index d7b7a266..00000000
--- a/software/gpm/browse_source/gpm-1.20.2-broken/contrib/scripts/debug_to_report
+++ /dev/null
@@ -1,7 +0,0 @@
-
-cat $1 | sed 's/gpm_debug_log/gpm_report/g' > $1.tmp
-cat $1.tmp | sed 's/LOG_NOTICE/GPM_PR_INFO/g' > $1.tmp2
-cat $1.tmp2 | sed 's/LOG_ERR/GPM_PR_ERR/g' > $1.tmp
-cat $1.tmp | sed 's/LOG_WARN/GPM_PR_WARN/g' > $1.tmp2
-cat $1.tmp2 | sed 's/LOG_DEBUG/GPM_PR_DEBUG/g' > $1.tmp
-echo "done:" $1.tmp
diff --git a/software/gpm/browse_source/gpm-1.20.2-broken/contrib/scripts/gpm_release b/software/gpm/browse_source/gpm-1.20.2-broken/contrib/scripts/gpm_release
deleted file mode 100644
index 758a386e..00000000
--- a/software/gpm/browse_source/gpm-1.20.2-broken/contrib/scripts/gpm_release
+++ /dev/null
@@ -1,37 +0,0 @@
-#!/bin/sh
-#
-# Date: 26th of September 2001
-# Description: still missing
-# Author: Nico Schottelius (nico-gpm@schottelius.org), 26th of September 2001
-# Copying: GPL 2.0
-#
-
-if [ $# -ne 1 ]; then
- echo `basename $0`': dir'
- echo 'Hey, hey guy, what to release ?'
- exit 1
-fi
-
-if [ ! -d $1 ]; then
- echo `basename $0`': dir'
- echo 'HEY! DIRECTORY! We need a gpm directory!'
- exit 1
-fi
-
-version=`echo $1 | sed 's/\/$//' | sed 's/gpm-//'`
-echo -n "Releasing gpm-$version ..."
-
-cd $1
-
-cat configure.in | sed "s/release=.\*/release=$version/" > configure.on
-mv configure.on configure.in
-autoconf
-
-cat src/headers/gpmCfg.h | sed "s/\(#define GPM_DATE\).*/\1 \"`date`\"/" > src/headers/gpmCfg.i; mv src/headers/gpmCfg.i src/headers/gpmCfg.h
-
-cd ..
-
-tar cfz gpm-$version.tar.gz $1
-tar cfI gpm-$version.tar.bz2 $1
-
-echo done.
diff --git a/software/gpm/browse_source/gpm-1.20.2-broken/contrib/scripts/gunze-setup b/software/gpm/browse_source/gpm-1.20.2-broken/contrib/scripts/gunze-setup
deleted file mode 100644
index 517f4715..00000000
--- a/software/gpm/browse_source/gpm-1.20.2-broken/contrib/scripts/gunze-setup
+++ /dev/null
@@ -1,315 +0,0 @@
-#!/bin/sh
-#
-# gunze-setup, copied and adapted from microtouch-setup.
-# Most of this code is duplicated, this is definitely not good.
-#
-# This program is execute by tclsh if we are in the console, and by wish
-# otherwise (assuming we are under a graphic environment
-
-#the following is a comment for tcl \
-if [ $TERM = "linux" ] ; then exec tclsh $0 $* ; fi
-
-#the following is another comment for tcl \
-exec wish $0 $*
-
-########### That's Tcl...
-
-# The Gunze touchscreens don't adapt their output to calibration, so
-# we must save calibration information somewhere...
-set datafile /etc/gpm-calibration
-
-puts "Calibration program for Gunze touch-screens"
-
-# check generic permission
-set who [exec whoami]
-if [string compare $who root] {
- puts stderr "you must be root to be able to run this program"
-}
-
-# check if we can access this file
-if [catch {set F [open $datafile a]} err] {
- puts stderr "$argv0: Can't open $datafile: $err"
- exit 1
-}
-close $F
-
-# Look for /dev/touchscreen or /dev/mouse
-if [file exists /dev/mouse] {
- set dev /dev/mouse
-}
-if [file exists /dev/touchscreen] {
- set dev /dev/touchscreen
-}
-if ![info exists dev] {
- puts stderr "$argv0: need to access /dev/touchscreen or /dev/mouse"
- exit 1
-}
-
-# horrible, for the linux console
-proc goto {x y} {
- set x [expr $x]
- set y [expr $y]
- puts -nonewline [format "\x1B\[%03i;%03iH" $y $x]
-}
-
-# an abort procedure, and one to read touchscreen data
-proc do_abort {msg} {
- if ![string compare $env(TERM) linux] {
- goto 0 $env(LINES)-2
- } else {
- wm withdraw .
- }
- puts stderr $msg
- killall -CONT gpm
- exit 1
-}
-
-proc get_position file {
- global dev
- while 1 {
- gets $file string
- if [scan $string %c%d,%d cmd x y]!=3 {
- do_abort "Received wrong data \"$string\" from $dev"
- }
- # If release ('R') it's done
- if $cmd==0x52 {
- return "$sx $sy"
- }
- # If a touch event ('T'), save it
- if $cmd==0x54 {
- set sx $x; set sy $y
- } else {
- do_abort "Received wrong data \"$string\" from $dev"
- }
- }
-}
-
-
-
-if ![string compare $env(TERM) linux] {
-
- # Text-mode calibration
-
- if {![info exists env(COLUMNS)] || ![info exists env(LINES)]} {
- puts stderr "Please set COLUMNS and LINES in your environment"
- puts stderr " for example, you can issue"
- puts stderr " eval `resize`"
- puts stderr " in your shell before running this program"
- exit 1
- }
- fconfigure stdout -buffering none
- exec clear > /dev/tty
-
-
- # To calibrate, draw targets at 1/8 and 7/8 x-y
- set x [expr $env(COLUMNS)/8]
- set y [expr $env(LINES)/8]
- set X [expr $env(COLUMNS) - $x]
- set Y [expr $env(LINES) - $y]
-
- # half x and y
- set hx [expr $env(COLUMNS)/2]
- set hy [expr $env(LINES)/2]
-
- goto $hx-10 $hy-1; puts -nonewline "Please touch the lower"
- goto $hx-10 $hy-0; puts -nonewline "left target, then the"
- goto $hx-10 $hy+1; puts -nonewline "upper right target."
-
- exec killall -STOP gpm
- set F [open $dev r+]; # $dev is /dev/touchscreen or /dev/mouse
- fconfigure $F -buffering none -translation auto
-
- # Draw the target
- goto $x $Y-1; puts -nonewline "|"
- goto $x-1 $Y; puts -nonewline "-+-"
- goto $x $Y+1; puts -nonewline "|"
-
- # Read coordinates
- set first [get_position $F]
-
- #remove the target, draw the other
- goto $x $Y-1; puts -nonewline " "
- goto $x-1 $Y; puts -nonewline " "
- goto $x $Y+1; puts -nonewline " "
-
- goto $X $y-1; puts -nonewline "|"
- goto $X-1 $y; puts -nonewline "-+-"
- goto $X $y+1; puts -nonewline "|"
-
- # Read coordinates
- set second [get_position $F]
-
- # remove the target
- goto $X $y-1; puts -nonewline " "
- goto $X-1 $y; puts -nonewline " "
- goto $X $y+1; puts -nonewline " "
- close $F
-
- exec killall -CONT gpm
- goto 0 $env(LINES)-2
-
- # Now save the coordinates
- set F [open $datafile w]
- puts $F "# Calibration coordinates for Gunze device"
- puts $F "$first $second"
- close $F
-
- puts "Done"
- exit 0
-
-}
-
-# X calibration. This is Tk, so we can use the canvas items.
-# However, there is uncertainty about the absolute X and Y...
-
-set wid [winfo screenwidth .]
-set hei [winfo screenheight .]
-wm geometry . ${wid}x${hei}+0+0
-
-set x [expr $wid/8]
-set y [expr $hei/8]
-set X [expr $wid - $x]
-set Y [expr $hei - $y]
-set hx [expr $wid/2]
-set hy [expr $hei/2]
-set cwid [expr 2*$x]
-set chei [expr 2*$y]
-
-# The offset variables account for window manager borders etc
-set xoff1 0
-set yoff1 0
-set xoff2 0
-set yoff2 0
-
-proc recanvas {} {
- global x y X Y xoff1 xoff2 yoff1 yoff2
- catch {.l.c delete line}
- catch {.r.c delete line}
-
- set x1 [expr $x-$xoff1]
- set y1 [expr $Y-$yoff1]
- set x2 [expr $X-$xoff2]
- set y2 [expr $y-$yoff2]
-
- .l.c create line [expr $x1-50] $y1 [expr $x1+50] $y1 \
- -width 3 -fill red -tag line
- .l.c create line $x1 [expr $y1-50] $x1 [expr $y1+50] \
- -width 3 -fill red -tag line
-
- .r.c create line [expr $x2-50] $y2 [expr $x2+50] $y2 \
- -width 3 -fill red -tag line
- .r.c create line $x2 [expr $y2-50] $x2 [expr $y2+50] \
- -width 3 -fill red -tag line
-}
-
-
-pack [frame .l] -side left -expand true -fill both
-pack [frame .m] -side left -expand true -fill both
-pack [frame .r] -side left -expand true -fill both
-pack [canvas .l.c -width $cwid -hei $chei -scrollregion "0 0 $cwid $chei" \
- ] -side bottom
-pack [frame .l.f] -expand true -fill both; #filler
-pack [canvas .r.c -width $cwid -hei $chei -scrollregion "0 0 $cwid $chei" \
- ] -side top
-pack [frame .r.f] -expand true -fill both; #filler
-
-pack [label .m.t -text "Gunze Calibrator" -foreground blue] -pady 40
-pack [label .m.l -bd 5 -relief raised] -expand true -fill both
-pack [label .m.s] -expand true -fill both
-
-bind .l.c {
- set xoff1 [expr %X - %x]
- set yoff1 [expr %Y - %y]
- set x1 [expr $x-$xoff1]
- set y1 [expr $Y-$yoff1]
-
- catch {.l.c delete line}
-
- .l.c create line [expr $x1-50] $y1 [expr $x1+50] $y1 \
- -width 3 -fill red -tag line
- .l.c create line $x1 [expr $y1-50] $x1 [expr $y1+50] \
- -width 3 -fill red -tag line
-
- set done1 1
- update
-}
-bind .r.c {
- set xoff2 [expr %X - %x]
- set yoff2 [expr %Y - %y]
- set x2 [expr $X-$xoff2]
- set y2 [expr $y-$yoff2]
-
- catch {.r.c delete line}
-
- .r.c create line [expr $x2-50] $y2 [expr $x2+50] $y2 \
- -width 3 -fill red -tag line
- .r.c create line $x2 [expr $y2-50] $x2 [expr $y2+50] \
- -width 3 -fill red -tag line
-
- set done2 1
- update
-}
-
-set done1 0; set done2 0
-
-update
-
-.m.l config -text "Please move the mouse towards\n\
- the lower left corner, until a cross\n\
- appears (there's no need to click)"
-vwait done1
-
-update
-
-if !$done2 {
- .m.l config -text "Please move the mouse towards\n\
- the upper right corner, until a cross\n\
- appears (there's no need to click)"
- vwait done2
-}
-
-.m.l config -text "\nWait....\n"
-after 1000
-
-.m.l config -text "Please touch the lower-left taget\n\
- and then the upper-right target\n\
- to calibrate the touch screen"
-update
-
-exec killall -STOP gpm
-set F [open $dev r+]; # $dev is /dev/touchscreen or /dev/mouse
-fconfigure $F -buffering none -translation auto
-
-.m.s configure -text "Calibration started"
-update
-
-# Read coordinates
-set first [get_position $F]
-
-.l.c itemco line -fill green
-.m.s configure -text "First target ok"
-update
-
-# Read coordinates
-set second [get_position $F]
-
-.r.c itemco line -fill green
-.m.s configure -text "Second target ok"
-update
-
-close $F
-
-exec killall -CONT gpm
-
-# Now save the coordinates
-set F [open $datafile w]
-puts $F "# Calibration coordinates for Gunze device"
-puts $F "$first $second"
-close $F
-
-after 1000
-.m.s configure -text ""
-pack [button .m.b -text Ok -command exit]
-
-exit 0
-
diff --git a/software/gpm/browse_source/gpm-1.20.2-broken/contrib/scripts/make_diff b/software/gpm/browse_source/gpm-1.20.2-broken/contrib/scripts/make_diff
deleted file mode 100644
index 17ea4cf4..00000000
--- a/software/gpm/browse_source/gpm-1.20.2-broken/contrib/scripts/make_diff
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/bin/sh
-# Date: 3rd of October 2001
-# Description: still missing
-# Author: Nico Schottelius (nico-gpm@schottelius.org), 3rd of October 2001
-# Copying: GPL 2.0
-#
-
-diff -u --recursive --new-file $@
diff --git a/software/gpm/browse_source/gpm-1.20.2-broken/contrib/scripts/microtouch-setup b/software/gpm/browse_source/gpm-1.20.2-broken/contrib/scripts/microtouch-setup
deleted file mode 100644
index 30a7769c..00000000
--- a/software/gpm/browse_source/gpm-1.20.2-broken/contrib/scripts/microtouch-setup
+++ /dev/null
@@ -1,239 +0,0 @@
-#!/bin/sh
-#
-# This program is execute by tclsh if we are in the console, and by wish
-# otherwise (assuming we are under a graphic environment
-
-#the following is a comment for tcl \
-if [ $TERM = "linux" ] ; then exec tclsh $0 $* ; fi
-
-#the following is another comment for tcl \
-exec wish $0 $*
-
-########### That's Tcl...
-
-puts "Calibration program for Microtouch screens"
-
-set who [exec whoami]
-if [string compare $who root] {
- puts stderr "you must be root to be able to run this program"
-}
-
-
-if ![string compare $env(TERM) linux] {
-
- # Text-mode calibration
-
- if {![info exists env(COLUMNS)] || ![info exists env(LINES)]} {
- puts stderr "Please set COLUMNS and LINES in your environment"
- puts stderr " for example, you can issue"
- puts stderr " eval `resize`"
- puts stderr " in your shell before running this program"
- exit 1
- }
- fconfigure stdout -buffering none
- exec clear > /dev/tty
-
- proc goto {x y} {
- set x [expr $x]
- set y [expr $y]
- puts -nonewline [format "\x1B\[%03i;%03iH" $y $x]
- }
-
- # To use "calibrate extended we must draw targets at 1/8 and 7/8 x-y
- set x [expr $env(COLUMNS)/8]
- set y [expr $env(LINES)/8]
- set X [expr $env(COLUMNS) - $x]
- set Y [expr $env(LINES) - $y]
-
- # half x and y
- set hx [expr $env(COLUMNS)/2]
- set hy [expr $env(LINES)/2]
-
- goto $hx-10 $hy-1; puts -nonewline "Please touch the lower"
- goto $hx-10 $hy-0; puts -nonewline "left target, then the"
- goto $hx-10 $hy+1; puts -nonewline "upper right target."
-
- exec killall -STOP gpm
- set F [open /dev/mouse r+]
- fconfigure $F -buffering none
- puts $F "\1CX\r"
-
- set ack [gets $F]; # Acknowledge
- goto $hx-18 $hy+3; puts -nonewline "received acknowledge: please start"
-
- goto $x $Y-1; puts -nonewline "|"
- goto $x-1 $Y; puts -nonewline "-+-"
- goto $x $Y+1; puts -nonewline "|"
-
- set ack [gets $F]; # First calibration point
- goto $hx-5 $hy+4; puts -nonewline "received acknowledge: please go on"
-
- #remove the target, draw the other
- goto $x $Y-1; puts -nonewline " "
- goto $x-1 $Y; puts -nonewline " "
- goto $x $Y+1; puts -nonewline " "
-
- goto $X $y-1; puts -nonewline "|"
- goto $X-1 $y; puts -nonewline "-+-"
- goto $X $y+1; puts -nonewline "|"
-
- set ack [gets $F]; # Next calibration point
- goto $hx-5 $hy+5; puts -nonewline "received acknowledge: looks ok"
-
- goto $X $y-1; puts -nonewline " "
- goto $X-1 $y; puts -nonewline " "
- goto $X $y+1; puts -nonewline " "
- close $F
-
- exec killall -CONT gpm
- goto 0 $env(LINES)-2
-
- puts "Done"
- exit 0
-
-}
-
-# X calibration. This is Tk, so we can use the canvas items.
-# However, there is uncertainty about the absolute X and Y...
-
-set wid [winfo screenwidth .]
-set hei [winfo screenheight .]
-wm geometry . ${wid}x${hei}+0+0
-
-set x [expr $wid/8]
-set y [expr $hei/8]
-set X [expr $wid - $x]
-set Y [expr $hei - $y]
-set hx [expr $wid/2]
-set hy [expr $hei/2]
-set cwid [expr 2*$x]
-set chei [expr 2*$y]
-
-# The offset variables account for window manager borders etc
-set xoff1 0
-set yoff1 0
-set xoff2 0
-set yoff2 0
-
-proc recanvas {} {
- global x y X Y xoff1 xoff2 yoff1 yoff2
- catch {.l.c delete line}
- catch {.r.c delete line}
-
- set x1 [expr $x-$xoff1]
- set y1 [expr $Y-$yoff1]
- set x2 [expr $X-$xoff2]
- set y2 [expr $y-$yoff2]
-
- .l.c create line [expr $x1-50] $y1 [expr $x1+50] $y1 \
- -width 3 -fill red -tag line
- .l.c create line $x1 [expr $y1-50] $x1 [expr $y1+50] \
- -width 3 -fill red -tag line
-
- .r.c create line [expr $x2-50] $y2 [expr $x2+50] $y2 \
- -width 3 -fill red -tag line
- .r.c create line $x2 [expr $y2-50] $x2 [expr $y2+50] \
- -width 3 -fill red -tag line
-}
-
-
-pack [frame .l] -side left -expand true -fill both
-pack [frame .m] -side left -expand true -fill both
-pack [frame .r] -side left -expand true -fill both
-pack [canvas .l.c -width $cwid -hei $chei -scrollregion "0 0 $cwid $chei" \
- ] -side bottom
-pack [frame .l.f] -expand true -fill both; #filler
-pack [canvas .r.c -width $cwid -hei $chei -scrollregion "0 0 $cwid $chei" \
- ] -side top
-pack [frame .r.f] -expand true -fill both; #filler
-
-pack [label .m.t -text "MicroTouch Calibrator" -foreground blue] -pady 40
-pack [label .m.l -bd 5 -relief raised] -expand true -fill both
-pack [label .m.s] -expand true -fill both
-
-bind .l.c {
- set xoff1 [expr %X - %x]
- set yoff1 [expr %Y - %y]
- set x1 [expr $x-$xoff1]
- set y1 [expr $Y-$yoff1]
-
- catch {.l.c delete line}
-
- .l.c create line [expr $x1-50] $y1 [expr $x1+50] $y1 \
- -width 3 -fill red -tag line
- .l.c create line $x1 [expr $y1-50] $x1 [expr $y1+50] \
- -width 3 -fill red -tag line
-
- set done1 1
- update
-}
-bind .r.c {
- set xoff2 [expr %X - %x]
- set yoff2 [expr %Y - %y]
- set x2 [expr $X-$xoff2]
- set y2 [expr $y-$yoff2]
-
- catch {.r.c delete line}
-
- .r.c create line [expr $x2-50] $y2 [expr $x2+50] $y2 \
- -width 3 -fill red -tag line
- .r.c create line $x2 [expr $y2-50] $x2 [expr $y2+50] \
- -width 3 -fill red -tag line
-
- set done2 1
- update
-}
-
-set done1 0; set done2 0
-
-update
-
-.m.l config -text "Please move the mouse towards\n\
- the lower left corner, until a cross\n\
- appears (there's no need to click)"
-vwait done1
-
-update
-
-if !$done2 {
- .m.l config -text "Please move the mouse towards\n\
- the upper right corner, until a cross\n\
- appears (there's no need to click)"
- vwait done2
-}
-
-.m.l config -text "\nWait....\n"
-after 1000
-
-.m.l config -text "Please touch the lower-left taget\n\
- and then the upper-right target\n\
- to calibrate the touch screen"
-update
-
-exec killall -STOP gpm
-set F [open /dev/mouse r+]
-fconfigure $F -buffering none
-puts $F "\1CX\r"
-
-set ack [gets $F]; # Acknowledge
-.m.s configure -text "Calibration started"
-update
-
-set ack [gets $F]; # First calibration point
-.l.c itemco line -fill green
-.m.s configure -text "First target ok"
-update
-
-set ack [gets $F]; # Next calibration point
-.r.c itemco line -fill green
-.m.s configure -text "Second target ok"
-update
-
-close $F
-
-exec killall -CONT gpm
-after 1000
-.m.s configure -text ""
-pack [button .m.b -text Ok -command exit]
-
-exit 0
diff --git a/software/gpm/browse_source/gpm-1.20.2-broken/contrib/scripts/mkinstalldirs b/software/gpm/browse_source/gpm-1.20.2-broken/contrib/scripts/mkinstalldirs
deleted file mode 100644
index 695bc75a..00000000
--- a/software/gpm/browse_source/gpm-1.20.2-broken/contrib/scripts/mkinstalldirs
+++ /dev/null
@@ -1,40 +0,0 @@
-#! /bin/sh
-# mkinstalldirs --- make directory hierarchy
-# Author: Noah Friedman
-# Created: 1993-05-16
-# Public domain
-
-# $Id: mkinstalldirs,v 1.2 2002/05/28 19:13:52 nico Exp $
-
-errstatus=0
-
-for file
-do
- set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`
- shift
-
- pathcomp=
- for d
- do
- pathcomp="$pathcomp$d"
- case "$pathcomp" in
- -* ) pathcomp=./$pathcomp ;;
- esac
-
- if test ! -d "$pathcomp"; then
- echo "mkdir $pathcomp" 1>&2
-
- mkdir "$pathcomp" || lasterr=$?
-
- if test ! -d "$pathcomp"; then
- errstatus=$lasterr
- fi
- fi
-
- pathcomp="$pathcomp/"
- done
-done
-
-exit $errstatus
-
-# mkinstalldirs ends here
diff --git a/software/gpm/browse_source/gpm-1.20.2-broken/contrib/scripts/replace_2_with_3_spaces b/software/gpm/browse_source/gpm-1.20.2-broken/contrib/scripts/replace_2_with_3_spaces
deleted file mode 100644
index 66592597..00000000
--- a/software/gpm/browse_source/gpm-1.20.2-broken/contrib/scripts/replace_2_with_3_spaces
+++ /dev/null
@@ -1,9 +0,0 @@
-# 8 -> 2*4 --> 4*3 = 12
-cat $1 | sed 's/^ \([^ ]\)/ \1/g' > $1.tmp
-# 6=3*2 --> 3*3=9
-cat $1.tmp | sed 's/^ \([^ ]\)/ \1/g' > $1.tmp2
-# 4=2*2 --> 2*3=6
-cat $1.tmp2 | sed 's/^ \([^ ]\)/ \1/g' > $1.tmp
-# 2=1*2 --> 1*3=3
-cat $1.tmp | sed 's/^ \([^ ]\)/ \1/g' > $1.tmp2
-echo done: $1.tmp2
diff --git a/software/gpm/browse_source/gpm-1.20.2-broken/contrib/scripts/replace_tab_with_3_spaces b/software/gpm/browse_source/gpm-1.20.2-broken/contrib/scripts/replace_tab_with_3_spaces
deleted file mode 100644
index 80e5ff29..00000000
--- a/software/gpm/browse_source/gpm-1.20.2-broken/contrib/scripts/replace_tab_with_3_spaces
+++ /dev/null
@@ -1,10 +0,0 @@
-# 4 tabs
-cat $1 | sed 's/^ \([^ ]\)/ \1/g' > $1.tmp
-# 3 tabs
-cat $1.tmp | sed 's/^ \([^ ]\)/ \1/g' > $1.tmp2
-# 2 tabs
-cat $1.tmp2 | sed 's/^ \([^ ]\)/ \1/g' > $1.tmp
-# 1 tab
-cat $1.tmp | sed 's/^ \([^ ]\)/ \1/g' > $1.tmp2
-rm $1.tmp
-echo done: $1.tmp2
diff --git a/software/gpm/browse_source/gpm-1.20.2-broken/contrib/scripts/test_gpm b/software/gpm/browse_source/gpm-1.20.2-broken/contrib/scripts/test_gpm
deleted file mode 100644
index c1c59803..00000000
--- a/software/gpm/browse_source/gpm-1.20.2-broken/contrib/scripts/test_gpm
+++ /dev/null
@@ -1,35 +0,0 @@
-#!/bin/sh
-#
-# Date: 18th of September 2001
-# Description: Test gpm with this script :)
-# Author: Nico Schottelius (nico-gpm@schottelius.org), 3rd of October 2001
-# Copying: GPL 2.0
-# Version: 0.2
-#
-
-PREFIX=test-
-POSTFIX=
-
-if [ $# -ne 1 ]; then
- echo `basename $0`': dir'
- echo 'Hey, hey guy, what to test ?'
- exit 1
-fi
-
-if [ ! -d $1 ]; then
- echo `basename $0`': dir'
- echo 'HEY! I need a DIRECTORY! Not something else!'
- exit 1
-fi
-
-echo rm -rf $PREFIX`basename $1`$POSTFIX -r
-rm -rf $PREFIX`basename $1`$POSTFIX -r
-echo cp $1 $PREFIX`basename $1`$POSTFIX -r
-cp $1 $PREFIX`basename $1`$POSTFIX -r
-
-echo rm -rf mkdir objdir
-rm -rf objdir/ && mkdir -p objdir && cd objdir
-echo configure
-../$PREFIX`basename $1`$POSTFIX/configure --prefix=/usr/sys
-echo make
-make
diff --git a/software/gpm/browse_source/gpm-1.20.2-broken/doc/Announce b/software/gpm/browse_source/gpm-1.20.2-broken/doc/Announce
deleted file mode 100644
index 078456bb..00000000
--- a/software/gpm/browse_source/gpm-1.20.2-broken/doc/Announce
+++ /dev/null
@@ -1,63 +0,0 @@
-This is to announce gpm-1.0, available by ftp from
-
-iride.unipv.it:/pub/gpm/gpm-1.0.tar.gz (my site) and
-sunsite.unc.edu:/pub/Linux/Incoming/gpm-1.0.tar.gz its final destination
-on sunsite and mirrors will be /pub/Linux/system/Daemons
-
-
- What's gpm?
-
-Gpm ("general purpose mouse") is a user-level daemon in charge of mouse
-management. It can deliver mouse events to clients on a per-console basis.
-Its client library eases writing mouse-sensitive application which will run
-under both the Linux console and xterm.
-
-Gpm is part of slackware since November 1994 (gpm-0.90).
-
-From 0.98.x onward it supported two mice running concurrently (like you
-do with "MultiMouse") and it can repeat events to an external fifo
-(like you do with "mconv").
-
-
- What's new?
-
-What made me switch to 1.0 is the availability of the high-level library,
-a useful tool for mouse programmers, together with a sample application
-using that library ("hltest").
-
-"mouse-test" is available as well -- it is a tiny utility meant to
-help you in detecting what protocol does your mouse speak. Not too
-smart (it has to run attended), but useful when you change mouse.
-It works well with serial mice, and is otherwise untested.
-
-gpm-root is now capable to draw recursive menus. Console locking is still
-missing, lazy me.
-
-The daemon is able to manage two mice running concurrently,
-this should be useful for those owning a laptop.
-
-t-mouse.el is enhanced, in mode-line and vertical-line management (not by
-me, actually).
-
-The alpha architecture is supported.
-
-
- What about the future, after 1.0?
-
-Most likely I'll release bug-fix updates in the near future (I only
-own one mouse :-).
-
-After that I'll consider making gpm a kernel module, implementing a
-mouse-type independent mouse driver. The device driver will be
-completely compatible with applications linked with libgpm version 1.0
-or later. In this sense 1.0 is incompatible with previous versions:
-applications linked with older libraries won't run with the kernel module.
-
-
- I never use text consoles.
-
-Then, gpm is not important for you (unless you write mouse-sensitive
-curses-based application).
-
-
-
diff --git a/software/gpm/browse_source/gpm-1.20.2-broken/doc/FAQ b/software/gpm/browse_source/gpm-1.20.2-broken/doc/FAQ
deleted file mode 100644
index 90b8626a..00000000
--- a/software/gpm/browse_source/gpm-1.20.2-broken/doc/FAQ
+++ /dev/null
@@ -1,197 +0,0 @@
-
-This file tries to summarize the questions that I've been responding over
-and over. It is meant to save some time to both you and me :)
-
-If your problem with gpm isn't described here, feel free to ask me by
-Email.
-
---
- __ o La forza dei forti sta nel traversare le traversie con occhio sereno
- _`\<, (Paperino)
-__( )/( )__ rubini@prosa.it +39-382-529554
-
-
-1. Installation / Compiling
-2. Running problems
-3. other questions
-
-===========================================================================
-
-1. Installation / Compiling
-
-===========================================================================
-Q: Compilation fails with
-
- yacc gpm-root.y
- make: /usr/bin/make: cannot execute binary file
- make: *** [gpm-root.c] Error 126
-
-A: This is a typical error (I've got several of them reported), though
- not related to gpm.
-
- It looks like you have an old slackware installation, like mine, or
- another faulty setup. I've been reported that slackware-3 is wrong
- as well.
-
- The 'yacc' executable is a shell script that calls bison, and it
- lacks the '#!/bin/sh' line (or has it incorrect, missing the
- '!'). I don't remember the details, but while it runs under your
- shell, it can't be executed under make. I looked in the binfmt
- sources in the kernel, and /bin/sh doesn't appear explicitly, so
- you must fix the first line in the 'yacc' script, and everything
- should go fine.
-
- Note however that the server has already been compiles. Only the
- gpm-root client, written with yacc, is affected by this problem.
-
-===========================================================================
-
-2. Running problems
-
-===========================================================================
-
-Q: My serial mouse works in X with ms protocol, but behaves erratically
- with gpm on the text console, and I get involuntary pastes.
-
-A: Many ms protocol mice equipped with three buttons use an extension
- to the protocol, which consists in repeating events (thus with no
- effect under the normal protocol) to signal a change in the middle
- button. Unfortunately, some old true-ms protocol mice do repeat
- events, thus triggering the middle-button in gpm.
-
- If you're running your mouse with ``-t ms'', you'd better try ``-t
- bare'', which is the unadorned ms protocol of the old days. My
- choice to use the third-button extension as the default, was taken
- because a true ms protocol doesn't repeat event notification, and
- because many three button mice feature the extension.
-
----------------------------------------------------------------------------
-Q: I have a serial mouse. It works fine except that when I try to drag
- the mouse with the middle button pressed, gpm assumes that the middle
- button has been released. Dragging with the other buttons works just
- fine.
-
-A: You are probably running your mouse with ``-t ms''. In this mode
- dragging with the middle button has been deliberately disabled in
- order to prevent problems with faulty mice that fail to report
- middle-button events during mouse motion.
-
- Try using ``-t ms+'' or ``-t ms+lr'' instead.
-
----------------------------------------------------------------------------
-Q: My mouse gets into a state where it thinks the middle button is up
- when it's down and vice versa.
-
-A: Your mouse uses an extension to the m$ protocol in order to report
- the middle button. It sends empty events (i.e., no-motion &
- no-button-change) in order to report a change in the status of the
- middle button.
-
- Unfortunately many devices that report middle-button events in this
- way often fail miserably to report them correctly during mouse
- motion. Since the protocol does not distinguish between the button
- going up and the button going down it can easily get out of step
- with reality.
-
- There are two solutions: either use ``-t ms'', which disallows
- dragging with the middle button, so you can get back to normal
- simply by moving the mouse without any buttons pressed; or (probably
- better) use ``-t ms+lr'', which allows you to reset the state of
- the middle button by pressing the other two buttons together. (If
- you want you can also deliberately get gpm out of step with reality
- by pressing the left and right buttons while holding the middle
- button!)
-
- Note that there are many more faulty mice in the world than
- non-faulty ones so you will probably will have to use ``-t ms+lr''
- rather than ``-t ms+''.
-
- Note also that most 3-button mice that use the microsoft protocol can
- be made to use the MouseSystems protocol instead. You might want to
- read about this in the ``3 Button Serial Mouse mini-HOWTO''.
-
----------------------------------------------------------------------------
-Q: My mouse doesn't sense the middle button in X, while it works with
- gpm.
-
-A: Gpm uses a different decoder (see the previous two answers). You
- can use the ``-R'' option to repeat mouse data to X (look at the man
- page).
-
----------------------------------------------------------------------------
-Q: I have a busmouse, and I have the single-open problem. Is there any
- way around it?
-
-A: Try the -R option of gpm (look at the man page)
-
----------------------------------------------------------------------------
-Q: I run "-t ms", and I get double-paste when I press the middle button.
- Is there any workaround?
-
-A: Try "-t mman" instead.
-
----------------------------------------------------------------------------
-Q: I have one of the new devices of old dear Bill, and gpm doesn't work any
- more. What can I do?
-
-A: Bill chose to use its own Plug-and-Pray specification, which finally
- managed to break what worked painlessly for ages. The decoder for
- any gpm up to 1.12 (and also any X version being used at the time)
- is unable to deal with the new devices, which claim to be designed
- to work with older drivers. Try to use "-t pnp" instead of "-t ms"
- and see if it works with this gpm version. Actually, this version
- might even work with "-t ms" or "-t bare", but I'm not sure about
- it. If the version of X you run has problems, while gpm now works,
- try passing the "-R" option to gpm (see the man page). Note that
- "-t pnp" is strongly discouraged, as any time the serial port is
- opened (for example when switching from X to text mode if "-R" is
- not active) it will take several seconds to be initialized -- a
- design misfeature of pnp. If either "-t ms" or "-t bare" work use
- them instead.
-
- If you are in the software field, you can enjoy the inaccuracies of
- the specs and design bugs directly from the originators:
- http://www.microsoft.com/hwdev/download/pnpcom.exe. You'll find the
- following, and more:
- - no support for real multitasking (the mouse driver must be able
- to keep hold of processor time for at least 1 second).
- - no pnp vendor will be able to support three buttons any more (no
- more mouse protocols, all mice must behave the same).
- - similary, only 1200 baud devices (any serial device) are supported,
- because the initialization string of pnp devices only tells
- the vendor and release, with no information about required
- port configuration.
- - people with UPS will have great troubles with ms software
- because the pnp probing sequence plays with DTR, and w95
- probes all serial ports. This funny idea might turn off
- the UPS connected with your computer just after booting w95.
-
- Don't despair. They will manage to make worse designs later on.
-
----------------------------------------------------------------------------
-Q: I have an old 386 computer around here and gpm is _really_ slow. Is there
- any way I can make it faster ?
-
-A: Go into src/headers/gpmCfg.h and look for DEF_CLUSTER. Change its values from
- 0 to 10.
-
----------------------------------------------------------------------------
-Q: gpm.conf is not accepted / does not work, but gpm works from command line.
-
-A: gpm.conf is not from gpm itself. Please contact your distrubtion support
- to clearify whats wrong.
-
-===========================================================================
-
-3. other questions
-
-===========================================================================
-
-Q: I am gonna buy computer X, do I have any chance getting gpm running on it?
-A:
- a) If it does not work, you could at least try to port it ;)
-
- b) As report by a friend, gpm currently runs on Linux on
- - i386 - Alpha - ARM - PA-RISC - ia64 (Itanium) - PPC - m68k - MIPS - SPARC
-
- It's possible that you need some patches for some architecture.
diff --git a/software/gpm/browse_source/gpm-1.20.2-broken/doc/HACK_GPM b/software/gpm/browse_source/gpm-1.20.2-broken/doc/HACK_GPM
deleted file mode 100644
index ea72fc45..00000000
--- a/software/gpm/browse_source/gpm-1.20.2-broken/doc/HACK_GPM
+++ /dev/null
@@ -1,22 +0,0 @@
-Dear GPM-Hacker,
-
-thank you for reading this document.
-
-I assume you have a good idea or you did some good work you want to see in the
-main gpm tree. To make life easy for you and me, please follow the instructions:
-
- * if you send a patch, explain why it's needed
- * if possible, please patch against latest monotone sources (see README)
- * if the patch introduces generally new things, explain how it works
- * use 3 spaces tabs in the source files (if you use tabs, look into
- contrib/scripts/replace_tab_with_3_spaces)
- * if the patch is not big, use one file
- * if you have to use more files, tar them
- * include directory structure (src/mice.c and not mice.c)
-
- * Still there?
- * Then send the patch (either itself or the link to it) to the mailing list.
-
-Thanks for your help,
-
-Nico
diff --git a/software/gpm/browse_source/gpm-1.20.2-broken/doc/Makefile.in b/software/gpm/browse_source/gpm-1.20.2-broken/doc/Makefile.in
deleted file mode 100644
index b3b94482..00000000
--- a/software/gpm/browse_source/gpm-1.20.2-broken/doc/Makefile.in
+++ /dev/null
@@ -1,178 +0,0 @@
-# -*-makefile-*- (gpm/doc)
-#
-# Copyright (C) 1994 Alessandro Rubini
-# Copyright (C) 1998 Ian Zimmerman
-# Copyright (C) 2001 Nico Schottelius
-#
-#
-# Do you ever got headache from reading Makefiles ? I will help you and
-# me to understand this Makefile:
-#
-# The main file is doc.gpm (which is generated by configure from doc.gpm.in).
-#
-# doc.gpm is not 'real' texinfo, real texinfo is generated by infofilter
-# to gpm.texinfo.
-#
-# gpm.texinfo is the source of all other formats.
-#
-# info is generated by makeinfo (I make that for you).
-#
-# man pages are generated with the help of manpager.
-#
-# dvi is generated from texinfo with a small block in this Makefile.
-#
-# ps is generated from dvi source.
-#
-
-SHELL = /bin/sh
-srcdir = @srcdir@
-top_builddir = ..
-
-include $(top_builddir)/Makefile.include
-
-MANPAGES = gpm.8 mev.1 gpm-root.1 gpm-types.7 mouse-test.1
-
-all: $(srcdir)/gpm.info gpm.man
-
-# HTML (texi2html)
-%.html: %.texinfo
- if [ $(TEXI2HTML) != "no" ]; then $(TEXI2HTML) $< ;fi
-
-# TEXINFO (-)
-%.texinfo: doc.% Makefile
- @rm -f $@ # correct here ?
- $(SED) -f $(srcdir)/infofilter $< > $@
- chmod 400 $@
-
-# PS (dvips)
-%.ps: %.dvi
- if [ $(DVIPS) != "no" ]; then $(DVIPS) -f $< > $@; fi
-
-# INFO (makeinfo)
-%.info: %.texinfo
- if [ "@MAKEINFO@" != "no" ]; then $(MAKEINFO) $< -o $@; fi
-
-# TXT (-)
-%.txt: %.info
- $(AWK) -f $(srcdir)/mktxt $< > $@
-
-# MAN (-)
-gpm.man: doc.gpm $(srcdir)/manpager
- $(AWK) -f $(srcdir)/manpager doc.gpm
- for i in gpm-root.1 gpm-types.7 gpm.8 mev.1 mouse-test.1; do \
- expand $$i | sed s/^'[ ]*'//g > $$i.new; \
- mv $$i.new $$i; \
- done;
- touch gpm.man
-
-
-# DVI
-# This rule is somewhat a rewrite of texi2dvi. I like make more than sh :-)
-%.dvi: %.texinfo
-
-# create a spurious index file to please silly sh (bash will work anyway)
-# is this still needed for someone ?
- touch $*.oo
-
-# get the index list, but only if tex is installed
-# check the file list, the file and if needed run TeX again
-#
-# can somebody tell me in a very short way what format dvi is and why we
-# cannot generate ps directly ?
-
- if [ -n "`ls $*.?? $*.aux 2>/dev/null`" -a "$(TEX)" != "no" -a \
- "$(TEXINDEX)" != "no" ]; then \
- for i in `ls $*.?? $*.aux 2>/dev/null`; do cp $$i $$i~; done; \
- $(TEX) $< \
- old="`ls $*.??~ $*.aux~ 2>/dev/null | $(SED) 's/~//g'`"; \
- new="`ls $*.?? $*.aux 2>/dev/null`"; \
- need="n"; \
- if test "$$old" != "$$new"; then need="y"; \
- else \
- for i in `ls $*.?? $*.aux 2>/dev/null`; do \
- cmp -s $$i $$i~; if test $$? -ne 0; then need="y" break; fi; \
- done; \
- fi; \
- if test "$$need" = "y"; then \
- $(TEXINDEX) $*.?? && $(TEX) $<; \
- fi; \
- fi
-
-# Main portion
-
-# why gpmdoc.ps and gpm.ps??
-# there is no gpm.ps in my tree and no rule to generate gpm.ps.
-gpmdoc.ps: gpm.ps
- -$(CP) $< $@
-
-clean:
- rm -f gpmdoc.ps gpmdoc.txt $(MANPAGES) *~
- rm -f gpm.?? gpm.???
- rm -f gpm.texinfo
-
-# install & uninstall
-
-installdirs:
- $(MKDIR) $(man1dir) $(man7dir) $(man8dir) $(infodir)
-
-install: all installdirs
- $(INSTALL_DATA) -m 644 mev.1 $(man1dir)
- $(INSTALL_DATA) -m 644 mouse-test.1 $(man1dir)
- $(INSTALL_DATA) -m 644 gpm-root.1 $(man1dir)
- $(INSTALL_DATA) -m 644 gpm-types.7 $(man7dir)
- $(INSTALL_DATA) -m 644 gpm.8 $(man8dir)
- $(INSTALL_DATA) -m 644 $(srcdir)/gpm.info $(infodir)
- # Use install-info if available
- -if $(SHELL) -c 'install-info --version' >/dev/null 2>&1; then \
- if [ -f $(infodir)/dir ] ; then \
- install-info --dir-file=$(infodir)/dir $(infodir)/gpm.info; \
- fi; \
- fi
- #itz Sat Dec 26 23:21:05 PST 1998
- #i keep all my infopages compressed and i'm tired to do it by
- #hand, so check if there are any compressed pages and do this
- #one too
- -ls $(infodir)/*[-.]info.gz >/dev/null 2>&1 \
- && gzip -f $(infodir)/gpm.info
- # Hmm.... shouldn't man pages be compressed too?
- # maybe they should, but at least at my system they are not.
-
-# This potentially leaves around cached manpages,
-# e.g. /var/cache/man/cat1/mev.1.gz. Deleting these is not our job,
-# but the job of the man program on the host.
-uninstall:
- cd $(man1dir) && rm -f mev.1 mouse-test.1 gpm-root.1
- rm -f $(man7dir)/gpm-types.7 $(man8dir)/gpm.8
- rm -f $(infodir)/gpm.info $(infodir)/gpm.info.gz
- -if $(SHELL) -c 'install-info --version' >/dev/null 2>&1; then \
- if [ -f $(infodir)/dir ] ; then \
- install-info --dir-file=$(infodir)/dir \
- --remove $(infodir)/gpm.info; \
- fi; \
- fi
-
-# configure & unconfigure
-
-Makefile: $(top_builddir)/config.status $(srcdir)/Makefile.in
- cd $(top_builddir) && $(SHELL) config.status
-
-distclean: clean
- rm -f Makefile doc.gpm
-
-# Maintainer portion, use at your own risk
-
-# ignore this:
-TAGS:
-
-# when we cleaned it, we can securely copy us.
-dist: distclean
- $(CP) -r $(srcdir) $(top_builddir)/gpm-$(release)/
-
-.INTERMEDIATE: gpm.ps
-.SECONDARY: %.ps %.texinfo %.dvi
-
-gs: gpm.ps
- gs -sDEVICE=linux -r640x480x2 $<
-
-gv: gpm.ps
- ghostview gpm.ps -magstep -1 -a4
diff --git a/software/gpm/browse_source/gpm-1.20.2-broken/doc/README.1.20.2 b/software/gpm/browse_source/gpm-1.20.2-broken/doc/README.1.20.2
deleted file mode 100644
index 882a70f1..00000000
--- a/software/gpm/browse_source/gpm-1.20.2-broken/doc/README.1.20.2
+++ /dev/null
@@ -1,54 +0,0 @@
-
-
- Dear reader,
-
-
- you are reading this document, because you saw that there is a new
- release of gpm available, gpm 1.20.2.
-
- Unfortunately this release is broken, but that's not a big problem.
-
- gpm is broken for some time and I did not spent any time to the project
- for about two years.
-
- Some weeks ago, I was contacted by someone asking me to write a very
- small feature for gpm (a small client program, included in this
- release). I answered the person that I do not have the time to code
- that part, but if he really insists that I should write that code,
- he should think about sponsoring me [0].
-
- Some days later I recieved an email that he wanted to sponsor me.
- I was a little bit surprised, because it was the first person really
- considering my sponsoring plans.
-
- So I coded that small program and had some views in the old code of
- gpm. There's so much information in it, so many hacks, so many dirty
- tricks and there are still many people using it.
-
- So I considered to try to spent more time to gpm, perhaps even creating
- a more clean (and better maintainable) version of it.
-
- But I _am_ actually a pretty busy person, working almost all time, if not
- doing sports (just about 6 hours a week) or sleeping.
-
- So I thought, perhaps you can help me to get more time for coding FOSS [1]
- in general or gpm in specific:
-
- My idea is, that if you consider sponsoring my work, I can begin to work less
- "traditionally" and also finance my second study in computer science, which
- I will begin in autumn 2008, if I have the money to do it (living in
- Switzerland is not that cheap).
-
- I am looking forward to get any feedback from you about this idea
- at nico-gpm-sponsoring (at) schottelius.org.
-
- Thanks for reading,
-
-
- Nico Schottelius, 12. May 2007
-
-
- P.S.: GPM is alive!
-
- [0]: Sponsoring information: http://nico.schottelius.org/about/support
- [1]: FOSS: http://nico.schottelius.org/documentations/foss/the-term-foss/
diff --git a/software/gpm/browse_source/gpm-1.20.2-broken/doc/README.etouch b/software/gpm/browse_source/gpm-1.20.2-broken/doc/README.etouch
deleted file mode 100644
index 82658795..00000000
--- a/software/gpm/browse_source/gpm-1.20.2-broken/doc/README.etouch
+++ /dev/null
@@ -1,52 +0,0 @@
-
-This file tells how to use gpm and X with a Elotouch screen with
-serial interface at 9600 Baud No parity.
-
- CALIBRATION
- -----------
-
-Calibration is done in console mode using the program "elocalib"
-available from http://www.dobit.com/emblin/pub/elocalib.tgz
-See also elocalib --help
-To start calibration at console 128x48, for screen 1024x786
-> elocalib /dev/ttyS0 -c128 -r48 -w1024 -h768
-
-Touch the upper-left corner and write down the coordinates Xmin, Ymin
-Touch the bottom-right corner and write down the coordinates Xmax, Ymax
-Update the file gpm-calibration with this coordinates
-
-> cat /usr/local/etc/gpm-calibration
-# EloTouch calibration coordinates Xmin Ymin Xmax Ymax
-4010 80 80 4010
-
-
- GPM OPERATION
- -------------
-
-> gpm -m /dev/ttyS0 -t etouch -o clickontouch -Rsumma
-
-
- X OPERATION
- -----------
-
-In order to use the touchscreen in X, you should install in your
-system the "gpmsumma" module
-available from http://www.annet.pl/~anowak/mtouch/gpmsumma_drv.o
- or from http://www.dobit.com/emblin/pub/gpm_etouch.tgz
-
-/usr/lib/X11/modules/input/gpmsumma_drv.o
-
-
-Then add the following sections to your XF86config:
-
-Section "InputDevice"
- Identifier "EloTouch"
- Driver "gpmsumma"
- Option "Device" "/dev/gpmdata"
- Option "SendCoreEvents" "On"
-EndSection
-
-Section "ServerLayout"
- InputDevice "EloTouch" "SendCoreEvents"
- ...
-EndSection
diff --git a/software/gpm/browse_source/gpm-1.20.2-broken/doc/README.gunze b/software/gpm/browse_source/gpm-1.20.2-broken/doc/README.gunze
deleted file mode 100644
index 415ca726..00000000
--- a/software/gpm/browse_source/gpm-1.20.2-broken/doc/README.gunze
+++ /dev/null
@@ -1,196 +0,0 @@
-This file tells how to use gpm and X with a Gunze touchscreen.
-
-It is pretty similar to README.microtouch, and I plan to unify them as
-soon as I port the two implementation to offer a consistent look and
-feel. Currently the Gunze implementation is more configurable but has
-a worse calibration management (it must write to
-/etc/gpm-calibration).
-
- DEVICE CONFIGURATION
- --------------------
-
-The gpm decoder requires the Gunze device to be in Gunze Mode (not in
-Elo Emulation Mode). The supported serial speeds are 9600 and 19200
-baud, the latter being the default speed (in other words, to decode
-data at 9600 you must use the "-b 9600" option of gpm; no "-b" option
-selects 19200 baud). Currently, the only device supported is the
-10-bit one.
-
- USER INTERFACE
- --------------
-
-The decoder currently implemented in gpm is quite simple: it only
-supports mouse motion and button-1 events. This will soon change: I
-plan to implement corner-taps for button-2 and button-3, as well as a
-different "mode" where motion is not supported and any touch event is
-converted to a button-1 click.
-
-In the default (and only) mode, when a user touches the screen, the
-decoder generates mouse motion events. Tapping on the screen generates
-button-press (as well as drag and release) events.
-
-A "tap" is a finger-down (or pen-down) event generated quickly after a
-finger-up. A touch event is considered a "tap" if the lapse since the
-last finger-up is less than or equal to the double-click interval (the
-default is 250ms, and the value is chosen by specifying the "-i"
-option of gpm). This means that you'll usually move the pointer to the
-desired position and then tap on it.
-
-Double-and triple clicks are easily generated by repeated tapping.
-
-Since tapping is usually accompanied by a small movement, the decoder
-will use the coordinates of the finger-up event for the button-press.
-Further dragging will be relative to the tapping position (i.e., the
-finger-up position). Moreover, the last coordinate pair received on
-finger-up is discarded, because it usually is slightly offset (due to
-the non-negligible area of the fingertip).
-
-My own experience with the Gunze device, revealed that sometimes the
-finger bounces, generating very fast finger-up/finger-down pairs. The
-gpm decoder, therefore, ignores any quick succession of finger-up and
-finger-down events. The default is to ignore any release-press pair if
-the time lapse is less than 100ms (note, however, that this time lapse
-is configurable).
-
-
- GPM OPERATION
- -------------
-
-In order to run the touchscreen with gpm, you need to update the
-/dev/mouse symbolic link to point to the right serial port; then
-invoke gpm with a command line like
-
- gpm -t gunze
-
-If /dev/mouse is not updated to point to the touchscreen serial port,
-use
- gpm -t gunze -m /dev/ttyS0
-or an equivalent command.
-
-Unfortunately, there is currently no way to paste text, but I'll
-implement corner-tapping to achieve that.
-
-
- Gunze-specific Configuration
- ----------------------------
-
-It is possible to specify device-specific options to gpm in order to
-customize the behaviour of the Gunze decoder. The options are passed
-as argument to the "-o" command line (reminiscent of the mount
-command).
-
-The following options are recognized:
-
- smooth=
- The decoder smooths mouse movements, to prevent the jumpy
- behaviour that usually results from finger movement. The
- default smoothin factor is 9, you can specify a different
- value if you wish: "gpm -t gunze -o smooth=3" gives faster
- (and more jumpy) motion, while "gpm -t gunze -o smooth=30"
- gives a very slow feeling.x
-
- debounce=
- The option is used to specify the minimum time lapse, in
- milliseconds between finger-up and finger-down events. Smaller
- time intervals are discarded to achieve debouncing. Note that
- the maximum time lapse is the one used for double-click
- detection, and is specified with the "-i" command-line option,
- common to every other mouse type.
-
-
-Please note that more than one option can be specified, by using the
-comma ``,'' as a separator. For example:
-
- gpm -t gunze -o smooth=5,debounce=150
-
-
-
- Calibration
- -----------
-
-To calibrate the touchscreen, use the program "gunze-setup" found in
-the source tree of gpm. The gpm daemon must already be running in
-order for the program to work flawlessly, as the program stops and
-restarts gpm internally (it depends on gpm for correct serial port
-initialization).
-
-The calibration program uses either /dev/touchscreen (if available) or
-/dev/mouse (otherwise) as the serial port to communicate with the
-touchscreen. You'll need therefore to create a symlink for one of
-those names before running "gunze-setup".
-
-After calibration, the calibration values can be found in the file
-/etc/gpm-calibration, but gpm must be restarted in order to be able to
-read them. This can be construed as a bug, and avoiding to stop the
-program is in my TODO list.
-
-
-
- X OPERATION
- -----------
-
-In order to use the touchscreen in X, you should install in your
-system the "Summa" module, as modified by Frank Holtz (the driver is
-available from http://www.hof-berlin.de/tablet/tablet.html, as well as
-in the gpm CVS tree and from gpm-1.18.2 in the gpm release as well).
-
-The compiled module (xf86Summa.so) should go in the module directory
-of your X server, usually /usr/X11/lib/modules, when it sits in the
-right place, a proper XF86Config will arrange for its loading.
-
-Gpm must run in repeater mode, with a command line like:
- gpm -t gunze -Rsumma
-, which instructs gpm to repeat packets according to the Summa protocol.
-
-Then, you need to add the following sections to your XF86config:
-
- Section "module"
- Load "xf86Summa.so"
- EndSection
-
- Section "Xinput"
- Subsection "SummaSketch"
- Port "/dev/gpmdata"
- DeviceName "touchscreen"
- Mode Absolute
- AlwaysCore
- EndSubSection
- EndSection
-
-
-Moreover, you should disable the "Pointer" section. I used a trick
-like this one:
-
- Section "Pointer"
- Protocol "MouseSystems"
- Device "/dev/fifo"
- EndSection
-
-Where /dev/fifo is just a plain unused fifo ("mknod /dev/fifo p")
-
-If, when calling ``startx'', it won't work with a message of ``Invalid
-Subsection Name'', please check the previous error lines, as they
-explain what is wrong. They usually look like:
-
- (--) no ModulePath specified using default: /usr/X11R6/lib/modules
- xf86Summa.so: Unknown error loading module
-
-It is pretty clear, if your are careful in reading the messages (I am
-not that careful, and lose half an hour in trying to figure out what
-was wrong).
-
-
- Calibration
- -----------
-
-To calibrate the touchscreen, use the program "gunze-setup" found in
-the source tree of gpm (yes, it is the same program used for the text
-mode). The gpm daemon must already be running in order for the
-program to work flawlessly, as the program stops and restarts gpm
-internally (it depends on gpm for correct serial port initialization).
-
-The calibration program uses either /dev/touchscreen (if available) or
-/dev/mouse (otherwise) as the serial port to communicate with the
-touchscreen. You'll need therefore to create a symlink for one of
-those names before running "gunze-setup".
-
diff --git a/software/gpm/browse_source/gpm-1.20.2-broken/doc/README.microtouch b/software/gpm/browse_source/gpm-1.20.2-broken/doc/README.microtouch
deleted file mode 100644
index 6836991f..00000000
--- a/software/gpm/browse_source/gpm-1.20.2-broken/doc/README.microtouch
+++ /dev/null
@@ -1,103 +0,0 @@
-
-This file tells how to use gpm and X with a touch screen (this is
-being written as an addition to gpm 1.17.5 and currently the only
-supported touchscreen is the MicroTouch).
-
-
- USER INTERFACE
- --------------
-
-The decoder currently implemented in gpm is quite simple: it only
-supports mouse motion and button-1 events.
-
-When a user touches the screen, the decoder generates mouse motion
-events. Tapping on the screen generates button-press (as well as drag and
-release) events.
-
-A "tap" is a finger-down event generated quickly after a finger-up
-(half a secon at most). This means that you'll usually move the
-pointer to the desired position and then tap on it.
-
-Double-and triple clicks are easily generated by repeated tapping.
-
-Since tapping is usually accompanied by a small movement, the decoder
-will use the coordinates of the finger-up event for the button-press.
-Further dragging will be relative to the tapping position (i.e., the
-finger-up position). Moreover, the last coordinate pair received on
-finger-up is discarded, because it usually is slightly offset (due to
-the non-negligible area of the fingertip)
-
-
- GPM OPERATION
- -------------
-
-In order to run the touchscreen with gpm, you need to update the
-/dev/mouse symbolic link to point to the right serial port; then
-invoke gpm with a command line like
-
- gpm -t mtouch
-
-Unfortunately, there is currently no way to paste text. I think some
-modifier key should be eligible to this role but this would mean an
-in-depth modification to gpm. We have to discuss about it to make the
-right choice.
-
-
- Calibration
- -----------
-
-To calibrate the touchscreen, use the program "microtouch-setup" found
-in the source tree of gpm. The gpm daemon must already be running in
-order for the program to work flawlessly, as the program stops and
-restarts gpm internally (it depends on gpm for correct serial port
-initialization). "microtouch-setup" uses /dev/mouse to access the
-serial port, so /dev/mouse should point to a "ttyS" device.
-
-
- X OPERATION
- -----------
-
-In order to use the touchscreen in X, you should install in your
-system the "Summa" module, as modified by Frank Holtz (the driver is
-available from http://www.hof-berlin.de/tablet/tablet.html).
-
-Gpm must run in repeater mode, with a command line like:
- gpm -t mtouch -Rsumma
-, which instructs gpm to repeat packets according to the Summa protocol.
-
-Then, you need to add the following sections to your XF86config:
-
- Section "module"
- Load "xf86Summa.so"
- EndSection
-
- Section "Xinput"
- Subsection "SummaSketch"
- Port "/dev/gpmdata"
- DeviceName "touchscreen"
- Mode Absolute
- AlwaysCore
- EndSubSection
- EndSection
-
-
-Moreover, you should disable the "Pointer" section. I used a trick
-like this one:
-
- Section "Pointer"
- Protocol "MouseSystems"
- Device "/dev/fifo"
- EndSection
-
-Where /dev/fifo is just a plain unused fifo ("mknod /dev/fifo p")
-
- Calibration
- -----------
-
-To calibrate the touchscreen, use the program "microtouch-setup" found
-in the source tree of gpm (yes, it is the same program used for the
-text mode). The gpm daemon must already be running in order for the
-program to work flawlessly, as the program stops and restarts gpm
-internally (it depends on gpm for correct serial port
-initialization). "microtouch-setup" uses /dev/mouse to access the
-serial port, so /dev/mouse should point to a "ttyS" device.
diff --git a/software/gpm/browse_source/gpm-1.20.2-broken/doc/README.synaptics b/software/gpm/browse_source/gpm-1.20.2-broken/doc/README.synaptics
deleted file mode 100644
index a604874d..00000000
--- a/software/gpm/browse_source/gpm-1.20.2-broken/doc/README.synaptics
+++ /dev/null
@@ -1,345 +0,0 @@
-This README describes the support for the Synaptics ToucPads.
-
-In addition to translating finger motion into mouse motion and supporting
-the buttons, this support currently has several features:
- - a "tap" on the TouchPad causes a left mouse click
- - a "tap" followed quickly by a finger motion causes a
- left button drag type action.
- - a "tap" in one of the corners causes an action
- the default configuration is upper right causes middle mouse click
- and lower right causes right mouse click
- - more pressure on the touch pad speeds the motion of the cursor
- - a "tap" with a motion component (default > 2mm) initiates a
- toss and catch sequence. This is terminated by a finger touch
- on the pad (the toss also ends after 1 sec since that is the
- idle timeout period for the touchpad).
- - if the finger moves close to an edge then the mouse motion will
- be continued in that direction so that you don't need to pick up
- your finger and start moving again. This continued motion is
- pressure sensitive (more pressure is faster motion).
- - Scrolling by putting the finger at the edge, an dmoving up or down.
- - Recognition of Stick.
- - Multi fingers are recognized to to stop erradic motions, and to change
- which mouse button is reported.
- - Palm detection so the palm does not move the mouse.
-
-These features can be enabled/disabled and many of them have time and speed
-parameters which can be adjusted to the taste of the user. These parameters
-can be provided in the "/usr/etc/gpm-syn.conf" file (or
-/usr/local/etc/gpm-syn.conf, or /etc/gpm-syn.conf, according to how you ran
-configure). Each line in this file has the following syntax: [param-name]
-
-
-Where param-name is one of the following
-
- param-name value description
- ====================== ===== ===========
- /* feature enable configuration values all default to 1 (TRUE) */
- /* flags are true if the first char of the value is in the string "YyTt1" */
- /* flags are false if the first char of the value is in the string "NnFf0" */
- edge_motion_enabled flag is edge motion enabled
- edge_motion_speed_enabled flag does pressure control
- speed of edge motion
- corner_taps_enabled flag are corner taps enabled
- tap_gesture_enabled flag are taps gesture enabled
- pressure_speed_enabled flag does pressure control
- speed in non edges
- tossing_enabled flag is toss/catch enabled
- does_toss_use_static_speed flag is toss/catch speed
- based on toss dist
-
- /* pressure induced speed related configuration constants */
- low_pressure 0-255 the lowest pressure which triggers
- speed processing. If this is less
- than speed_up_pressure then the
- motion is slowed down. When the
- pad pressure is between these
- values.
-
- The default value is 60
-
- pressure is described by
- Synaptics as follows:
- 0 : no finger contact
- 10 : hovering NEAR pad surface
- 30 : very light finger contact
- 80 : normal finger contact
- 110: very heavy finger contact
- 200: finger lying flat on surface
- 255: whole palm on pad surface
-
- speed_up_pressure 0-255 the lowest pressure at which speed
- is increased. If the pad pressure
- is less than this value then the
- motion will bs slowed down. If
- greater, then the motion will be
- sped up.
-
- The default value is 60
-
- pressure_factor float the multiplicative factor applied
- to the pressure difference to
- be applied to the speed. This
- is used as follows:
- 1 + pf * (press - speed_up)
- The difference in pressure between
- the measured pressure and the speed
- up pressure is multiplied by this
- value which is then applied to the
- nominal mouse speed.
-
- The default value is 0.05
-
- standard_speed_factor float the standard speed factor used to
- scale touchpad deltas into mouse
- deltas. The touchpads have
- resolutions in the 1000 points/inch
- range (much more detail than a
- mouse).
-
- The default value is 0.08
-
- /* toss/catch related constants */
- min_toss_time msec This number specifies the minimum
- finger contact time which is to
- be considered a toss
- (in milliseconds).
-
- The default value is 100 (0.1 sec)
-
- max_toss_time msec This number specifies the maximum
- finger contact time which is to
- be considered a toss
- (in milliseconds).
-
- The default value is 300 (0.3 sec)
-
- prevent_toss_time msec This number specifies the minimum
- finger release time after a toss
- is terminated before reacting to
- taps (in milliseconds). This
- prevents the "catch" tap from
- causing a mouse button tap.
-
- The default value is 300 (0.3 sec)
-
- min_toss_dist mm This number specifies the minimum
- finger move distance which is to
- be considered a toss
- (in millieters).
-
- The default value is 2
-
- static_toss_speed int If does_toss_use_static_speed is
- 1 (TRUE) then this specifies the
- speed to be used.
-
- The default value is 70
-
- toss_speed_factor float This is a multiplier against the
- toss distance in touchpad units
- used to scale the distance to a
- speed.
-
- The default value is 0.5
-
- /* edge motion related configuration constants */
- edge_speed int This is the nominal speed for
- use when in the edge regions.
-
- The defalt value is 20
-
- /* corner tap actions */
- upper_left_action int This is the mouse button which
- will be activated on a tap in
- the upper left corner of the
- touchpad.
-
- 0: None
- 1: Left
- 2: Middle
- 3: Right
- 4: Fourth
- 5: Up
- 6: Down
- 7: Toggle pad on/off
-
- The default value is 0 (none)
-
- upper_right_action int This is the mouse button which
- will be activated on a tap in
- the upper right corner of the
- touchpad.
-
- The default value is 2 (middle)
-
- lower_left_action int This is the mouse button which
- will be activated on a tap in
- the lower left corner of the
- touchpad.
-
- The default value is 0 (none)
-
- lower_right_action int This is the mouse button which
- will be activated on a tap in
- the lower right corner of the
- touchpad.
-
- The default value is 3 (right)
-
- /* wmode parameters */
- wmode_enabled flag This is to enable the wmode of
- Synaptics touchpad which
- supports more configurable
- options and buttons.
-
- The default value is 1 (enabled)
-
- drag_lock_enabled flag Whether to enable drag lock,
- that is, do not break a drag
- until next tap even when the
- finger is off the pad.
-
- The default value is 0 (disable)
-
- finger_threshold int The threshold of the pressure
- reading to consider the finger
- is on the pad.
-
- The default value is 30
-
- tap_lower_limit msec The lower bound of finger
- contact time to be considerred
- a tap.
-
- The default value is 5 (0.005 sec)
-
- tap_upper_limit msec The upper bound of finger
- contact time to be considerred
- a tap.
-
- The default value is 200 (0.2 sec)
-
- tap_range int The maximum displacement of
- finger contact to be considered
- a tap.
-
- The default value is 100 (0.1 sec)
-
- tap_interval msec The time length of button press
- generated when a tap is
- recognized, which is also the
- time within which further
- finger contact will be consider
- a drag (or multiple click, if
- it's also a tap).
-
- The default value is 200 (0.2 sec)
-
- pads_tap_interval int Equivalent to tap_interval, but the
- pads interval. Used when wmode is
- disabled and multi finger is enabled.
-
- The default value is 8.
-
-
- multiple_tap_delay msec Break length between button
- presses when generating multiple
- click.
-
- The default value is 30 (0.03 sec)
-
-
- palm_detect_enabled flag This enables the palm detection in
- the pad so a palm does no move the
- mouse. Actually this is the width of
- the finger on the pad.
-
- The default value is 1 (enabled)
-
- palm_detect_level int At what palm detection level should
- the pad be ignored? Value should be
- between 0-11, where 11 is a full palm
- at pad, and 0 is a normal finger
- size.
-
- Default value is 12 (meaning disabled).
-
-
- multi_finger_tap_enable flag This enables the ability to use 2
- and 3 fingers during a tap, to press
- right and middle button
- respectively. The detection is not
- 100% perfect. If the pad supports
- finger detection, its values are used.
-
- The default value is 1 (enabled)
-
-
- multi_finger_stop_enabled flag When more than one finger is one the
- pad, an average value (weighted with
- the the pressure) between the
- fingers is reported. This gives
- erradic movements when adding
- or removing fingers, or when just
- accidental touches the pad. This
- option stops the mouse movement for
- a given time, to let the movement settle.
-
- The default value is 1 (enabled).
-
-
- multi_finger_stop_delay Int Number of packets that should be
- ignored when adding or removing an
- additional finger to stop erradic
- movements.
-
- The default value is 8.
-
-
- /* Additional options */
- touch_pad_enabled flag This will stop the interpreting of
- the touchpad (thought not the stick
- if any). As such not that usefull,
- but in a combination with a
- corner toggle on/off, this may
- come useful. A corner tap is
- interpretated if it turns the pad on.
-
- The default value is 1 (enabled).
-
- stick_enabled flag Some touchpads have an additional
- stick which uses the same port. This
- is an attempt to enable the use
- while using the touchpad.
-
- The default value is 1 (enabled).
-
-
- scrolling_enabled flag This enables the scrolling gesture,
- which emulates the wheel on a wheel
- mouse. Putting the finger on the
- edge and moving it up and down, is
- eqvivalent with rolling the wheel up
- and down.
-
- The default value is 1 (enabled).
-
-
- scrolling_edge int This decides which edge(s) starts
- the scrolling gesture. Legal values
- are (added if more than one edge):
-
- 1: Left edge
- 2: Right edge
- 4: Top edge
- 5: Bottom edge
-
- The default value is 2 (Right edge).
-
-
- auto_scrolling_enabled flag This enables whether to keep
- scrolling if the finger moves to the
- top or bottom edge.
-
- The default value is 1 (enabled).
diff --git a/software/gpm/browse_source/gpm-1.20.2-broken/doc/README.twiddler b/software/gpm/browse_source/gpm-1.20.2-broken/doc/README.twiddler
deleted file mode 100644
index ddbd017a..00000000
--- a/software/gpm/browse_source/gpm-1.20.2-broken/doc/README.twiddler
+++ /dev/null
@@ -1,161 +0,0 @@
-
- NEW FEATURE IN BETA-2 OVER BETA-1 (ONLY TWIDDLER CHANGES)
-
-Fixed typo in twiddler.c which prevented compiling
-Fixed segfault when using more than one thumb-key at a time
-Should fix problem when non-ascii chars appear in the cfg file
-Changed algorithm for dhouble-click
-Added shift etc. support
-Added VT change and Execution of commands
-
- DETAILED DESCRIPTION OF GPM SUPPORT FOR THE TWIDDLER KEYBOARD
-
-
-Gpm-1.14 and later support the twiddler keyboard, by HandyKey Corp.
-(the keyboard is described at www.handykey.com). This document
-describes the current status of the gpm decoder.
-
- Mouse support
- =============
-
- Motion
- ------
-The mouse functionality of the keyboard is supported by gpm. Three
-decoders are currently available:
-
- - a "static" decoder, which turns twiddler position to mouse
- displacement. The decoder locks the mouse when the
- ``mouse'' button is pressed and any further motion
- moves the cursor, as long as ``mouse'' is kept down.
- This is compiled if "-DTWIDDLER_STATIC" (for example
- by invoking ``make CC="gcc -DTWIDDLER_STATIC"''.
-
- - a "ballistic" decoder, which turns twiddler position to
- mouse speed. If the keyboard is hole vertical the mouse
- cursor won't be moved. To compile this decoder
- -DTWIDDLER_BALLISTIC must be used.
-
- - a "mixed" decoder, that behaves like the static one when the
- device is near-to-vertical and like the ballistic one
- for large inclination. This is compiled by default
-
-
- Problems
- ........
-
-The current decoder doesn't allow tuning the parameters at run time.
-I plan to implement twiddler chords to change the resolution,
-acceleration and threshold of the mixed decoder, and the other ones as
-well. If different people routinely use different decoders, I'll make
-it possible to choose which decoder to run.
-
-I will also implement the chord to switch up/down.
-
-
- Buttons
- -------
-
-The first (left) mouse button is bound to the right key ("a", green,
-R000). The other buttons are bound to M000 ("e", blue) and L000
-("SP", red). This is consistent with the twiddler manual.
-
-To ease using the fingers like with conventional mice, keys 0R00 and
-00R0 (i.e., "b" and "c") are bound to the middle and right button as
-well.
-
-Since someone prefers to reverse the order of the keys (i.e., L000 is
-the left mouse button), they will use "-B 321" on the gpm command
-line. To ease them, 0L00 is bound to the middle button, and 00L0 is
-bound to the *left* button. Thus, with "-B 321" it will be the right
-button.
-
-In summary:
-
- Left button (B1): R000 R000
- Middle button (B2): M000 0R00
- Right button (B3): L000 00R0
-
-For people using "-B 321"
-
- Left button (B1): L000 L000
- Middle button (B2): M000 0L00
- Right button (B3): R000 00L0
-
-
-
- Problems
- ........
-
-None, by now.
-
-
- Keyboard support
- ================
-
- Configuration file
- ------------------
-
-The keyboard map is stored in run-time tables within gpm. There is no
-precompiled table, so a configuration file is needed. I chose not to
-precompile values because that would mean to pre-parse a configurazion
-file, and provide documentation as well. Using a compulsory
-configuration file reliefs my workload :-)
-
-The file "gpm-twiddler.conf" that appears in the gpm configuration
-includes the default keyboard map, and can be used right away. If the
-file is not in place, gpm will complain about its absence. By default
-the file must live in /usr/etc (or /usr/local/etc, or whatever you
-gave as a prefix to ./configure). The behaviour is similar for
-different installation prefixes. The file is not installed by "make
-install". If the file is missing, gpm will exit producing a message
-like this:
-
- ./gpm: /usr/etc/gpm-twiddler.conf: No such file or directory
-
-The distributed configuration file includes its own documentation.
-
-If you want to add keys to the default file, you can avoid editing it
-by writing a "gpm-twiddler.user" file and putting it in the same
-directory as gpm-twiddler.conf. Gpm will read both files, in sequence,
-but won't complain if gpm-twiddler.user doesn't exist.
-
-Gpm will print an error message for any incorrect line in any of the
-configuration files: error messages include the file name and the
-line number where the error appears, as well as a description of the
-type of error. If any error is encountered, gpm will exit.
-
-The daemon will print a warning message for any redefined key, but will
-use the new definition. Therefore, if you want to redefine keys in your
-user file, just redirect standard error to /dev/null after checking
-you are willing to override default definitions.
-
-
- General information
- -------------------
-
-A key press is reported when any key of the chord is released: this
-avoides reporting false keys when a multi-key chord is being composed.
-
-The twiddler driver in gpm implements auto-repeat. Auto-repeat is
-invoked by double-clicking a chord and keeping it pressed. If the
-double-click takes more than .3 seconds, it won't be considered a
-double-click; auto-repeat will start .5 seconds after the
-double-click.
-
-Gpm unblanks the screen when keys are composed using the twiddler.
-
-
- Problems
- --------
-
-Gpm doesn't currently report keypresses to the X server. You should
-use other twiddler drivers for Linux if you need this functionality.
-For example get the driver by Jeff Levine (there is a link to the
-driver in www.handykey.com).
-
-
-
-
-
-I would like to thank HandyKey Corp. for sending a twiddler keyboard
-to me and Torben Fjerdingstad for his help in testing out the driver.
diff --git a/software/gpm/browse_source/gpm-1.20.2-broken/doc/doc.gpm.in b/software/gpm/browse_source/gpm-1.20.2-broken/doc/doc.gpm.in
deleted file mode 100644
index 7afb1d5c..00000000
--- a/software/gpm/browse_source/gpm-1.20.2-broken/doc/doc.gpm.in
+++ /dev/null
@@ -1,2305 +0,0 @@
-\input texinfo @c -*-texinfo-*-
-%
-% doc.gpm - main file for the documentation
-%
-% Copyright 1994,1995,1998 rubini@linux.it (Alessandro Rubini)
-% Copyright (C) 1998 Ian Zimmerman
-% Copyright (C) 2001-2005 Nico Schottelius
-%
-%%%%
-
-%------------------------------------------------------------------------------
-%
-% NOTE FOR THE UNAWARE USER
-% =========================
-%
-% This file is a texinfo source. It isn't the binary file of some strange
-% editor of mine. If you want ASCII, you should "make gpm.txt".
-%
-% Some strings maybe changed from the configure script.
-%
-%------------------------------------------------------------------------------
-
-%
-% This is not a conventional info file...
-% I use two extra features:
-% - The '%' as a comment marker ("\%" -> "%")
-% - leading blanks are allowed (and removed)
-%
-
-@comment %**start of header
-@setfilename gpm.info
-@settitle gpm @value{version}
-@iftex
-@afourpaper
-@end iftex
-@comment %**end of header
-
-@ifinfo
-@format
-@dircategory Miscellaneous
-@direntry
-* Gpm: (gpm). Text-mode mouse library and server daemon.
-@end direntry
-@end format
-@end ifinfo
-
-@setchapternewpage off
-
-@set version @release@
-@set update-month @release_date@
-
-@finalout
-
-@ifinfo
-%ASCII_BEGIN
-
-This file is a user's and programmer's manual for gpm @value{version}.
-
-Copyright (C) 1994,1995,1998 Alessandro Rubini
-Copyright (C) 2001-2005 Nico Schottelius
-
-Permission is granted to make and distribute verbatim copies of
-this manual provided the copyright notice and this permission notice
-are preserved on all copies.
-
-@ignore
-Permission is granted to process this file through TeX and print the
-results, provided the printed document carries copying permission
-notice identical to this one except for the removal of this paragraph
-(this paragraph not being relevant to the printed manual).
-
-@end ignore
-Permission is granted to copy and distribute modified versions of this
-manual under the conditions for verbatim copying, provided that the entire
-resulting derived work is distributed under the terms of a permission
-notice identical to this one.
-
-Permission is granted to copy and distribute translations of this manual
-into another language, under the above conditions for modified versions,
-except that this permission notice may be stated in a translation approved
-by the Free Software Foundation.
-@end ifinfo
-
-@setchapternewpage odd
-@titlepage
-@c use the new format for titles
-@title gpm @value{version}
-@subtitle A general purpose mouse server for the Linux console
-@subtitle @value{update-month}
-
-@author by Nico Schottelius
-
-@end titlepage
-@setchapternewpage off
-@headings single
-
-@ifinfo
-This file documents the @value{version} release of the "General Purpose
-Mouse" (gpm) server for the Linux text console (@value{update-month}).
-
-@node Top, Overview, (dir), (dir)
-@top gpm
-
-@menu
-* Overview::
-* Server Invocation::
-* Gpm Internals::
-* The ClientLib::
-* Demo Clients::
-* Type Index::
-* Function Index::
-* Variable Index::
-@end menu
-
-@end ifinfo
-%##########################################################################
-%##########################################################################
-
-@node Overview, Server Invocation, Top, Top
-@chapter Overview
-@cindex Overview of Gpm
-@cindex Gpm Overview
-
-
-The @dfn{gpm} package is a mouse server for the Linux console. It is
-meant to provide cooked mouse events to text-only applications, such as
-editors and simple menu-based apps. The daemon is also able to repeat
-packets in "msc" format to a graphic application. This last feature is
-meant to override the single-open problem of busmice. The roots of
-@code{gpm} come from the @file{selection-1.5} package, by Andrew Haylett.
-
-The first application to support the mouse has been The Midnight Commander,
-by Miguel de Icaza. @file{mc-0.11} and later releases offer
-mouse support if you have the mouse server running on your system.
-The file @file{t-mouse.el} provides support for using the
-mouse from within Emacs. @xref{Emacs Support}.
-
-As of release 0.96, a default-handler is released with gpm, and can be
-used to handle Control-Mouse events to draw menus on the screen.
-The @code{gpm-root} program, however, needs kernel 1.1.73 or newer.
-@xref{gpm-root}.
-
-Release 1.00 has been an incompatible one (is is incompatible with
-releases older than 0.97), but is compatible with the kernel-level mouse
-driver (available as @file{kmouse-?.??.tar.gz} from the mirrors of
-@uref{ftp://tsx-11.mit.edu}. With 1.0 the high level library is available,
-together with a demonstration/test program. A small utility to help in
-detecting your mouse-type is also included.
-
-As of release 1.20.0 the default device is removed. Now -m is a must.
-
-Release 1.20.1 introduces the must for -t and a specific way to use -m,-t,-o:
-Now you've got to use -m first, then -t and at last -o.
-This seems to be more complex, but makes using of multiply mice possible with
-clean code.
-
-@menu
-* Building the Release::
-@end menu
-
-%=========================================================================
-@node Building the Release, , Overview, Overview
-@section Compiling and Installing
-@cindex Building Gpm
-
-Just say @code{./configure && make && make install} to your
-shell. You'll need gpm installed to compile the latest release of
-The Midnight Commander with mouse support enabled.
-
-Binaries are not released with the package because it's safer for you to
-compile the package by yourself.
-
-%=========================================================================
-%@node Kernel Patches
-%@section Kernel Patches
-%@cindex Kernel Patches
-%@cindex Patches to Apply
-%
-%Old Linux kernels need to be patched to provide features I rely on. As
-%of 1.1.32, however, my patches are in the official release, so you won't
-%need any kernel recompilation. Remember, anyway, to enable selection while
-%compiling the kernel, or this package won't work. Refer to
-%@file{kernel/README} to probe further.
-%
-%Other features are needed to run the @t{gpm-root} client. They are
-%really functional only since 1.1.73. 1.1.68, however, should be sufficient.
-%
-
-%##########################################################################
-@node Server Invocation, Gpm Internals, Overview, Top
-@chapter Server Invocation
-@cindex The Server
-@cindex Command Line (gpm)
-
-%MANPAGE gpm.8
-%M .TH GPM 8 "February 2002"
-%M .UC 4
-%M .SH NAME
-%M gpm \- a cut and paste utility and mouse server for virtual consoles
-%M .SH SYNOPSIS
-%M .B gpm
-%M [
-%M .I options
-%M ]
-%M .br
-%M .SH DESCRIPTION
-%M This package tries to be a useful
-%M mouse server for applications running on the Linux console. It is
-%M based on the "selection" package, and some of its code
-%M comes from selection itself. This package is intended as a replacement
-%M for "selection" as a cut-and-paste mechanism; it also provides
-%M additional facilities. The "selection"
-%M package offered the first cut-and-paste implementation for Linux using
-%M two mouse buttons, and the cut buffer is still called "selection buffer"
-%M or just "selection" throughout this document.
-%M
-%M The information below is extracted from the texinfo file, which is the
-%M preferred source of information.
-
-The @code{gpm} executable is meant to act like a daemon (thus, @code{gpmd}
-would be a better name for it). This section is meant to describe the
-command-line options for @code{gpm}, while its internals are outlined in
-the next section.
-@xref{Gpm Internals}.
-
-Due to restrictions in the @code{ioctl(TIOCLINUX)} system call, @code{gpm} must
-be run by the superuser. The restrictions have been added in the last 1.1
-kernels to fix a security hole related to selection and screen dumping.
-
-The server can be configured to match the user's taste, and any
-application using the mouse will inherit the server's
-attitude. From release 1.02 up to 1.19.2 is was possible
-for any user logged on the system console to change the mouse @emph{feeling}
-using the @t{-q} option. This is no longer possible for security
-reasons.
-
-As of 0.97 the server program puts itself in the background. To kill
-@code{gpm} you can just reinvoke it with the @samp{-k} cmdline switch,
-although @code{killall gpm} can be a better choice.
-
-@menu
-* Special Commands::
-* Command Line::
-* Bugs and Problems::
-* Mouse Types::
-@end menu
-
-%M .SH SPECIAL COMMANDS
-%==========================================================================
-
-@node Special Commands, Command Line, Server Invocation, Server Invocation
-@section Special Commands
-
-Version 1.10 adds the capability to execute @emph{special} commands on
-certain circumstances. Special commands default to rebooting and halting
-the system, but the user can specify his/her personal choice. The
-capability to invoke commands using the mouse is a handy one for
-programmers, because it allows to issue a clean shutdown when the
-keyboard is locked and no network is available to restore the system to
-a sane state.
-
-Special commands are toggled by triple-clicking the left and right button --
-an unlikely event during normal mouse usage. The easiest way to triple-click
-is pressing one of the buttons and triple-click the other one. When special
-processing is toggled, a message appears on the console (and the speaker
-beeps twice, if you have a speaker); if the user releases all the buttons
-and presses one of them again within three seconds, then the special
-command corresponding to the button is executed.
-
-The default special commands are:
-
-@table @var
-@item left button
- Reboot the system by signalling the init process
-
-@item middle button (if any)
- Execute @code{/sbin/shutdown -h now}
-
-@item right button
- Execute @code{/sbin/shutdown -r now}
-@end table
-
-The @samp{-S} command line switch enables special command processing and
-allows to change the three special commands. To accept the default
-commands use @samp{-S ""} (i.e., specify an empty argument). To specify
-your own commands, use a colon-separated list to specify commands
-associated to the left, middle and right button. If any of the commands
-is empty, it is interpreted as `send a signal to the init process'. This
-particular operation is supported, in addition to executing external
-commands, because sometimes bad bugs put the system to the impossibility
-to fork; in these rare case the programmer should be able to shutdown
-the system anyways, and killing init from a running process is the only
-way to do it.
-
-As an example, @samp{-S ":telinit 1:/sbin/halt"}, associates killing
-init to the left button, going single user to the middle one, and halting
-the system to the right button.
-
-System administrators should obviously be careful about special
-commands, as gpm runs with superuser permissions. Special commands are
-best suited for computers whose mouse can be physically accessed only by
-trusted people.
-
-%M .SH COMMAND LINE OPTIONS
-%==========================================================================
-@node Command Line, Bugs and Problems, Special Commands, Server Invocation
-@section Command Line Options
-
-Available command line options are the following:
-
-@table @code
-@item -a @var{accel}
- Set the acceleration value used when a single motion event is
- longer than @var{delta} (see @samp{-d}).
-
-@item -A[@var{limit}]
- Start up with selection pasting disabled. This is intended as a
- security measure; a plausible attack on a system seems to be to
- stuff a nasty shell command into the selection buffer
- (@code{rm -rf /}) including the terminating line break, then all the
- victim has to do is click the middle mouse button ..
- As of version 1.17.2, this has developed
- into a more general aging mechanism; the
- gpm daemon can disable (@emph{age}) selection pasting
- automatically after a period of inactivity. To enable this mode
- just give the optional @var{limit} parameter (no space in between !)
- which is interpreted as the time in seconds for which a selection is
- considered valid and pastable.
- As of version 1.15.7, a trivial program called
- @code{disable-paste} is provided. The following makes a good
- addition to @file{/etc/profile} if you allow multiple users to
- work on your console.
-
- @code{case $( /usr/bin/tty ) in @* /dev/tty[0-9]*) /usr/bin/disable-paste ;; @* esac}
-
-@item -b @var{baud}
- Set the baud rate.
-
-@item -B @var{sequence}
- Set the button sequence. @samp{123} is the
- normal sequence, @samp{321} can be used by left-handed people,
- and @samp{132} can be useful with two-button mice (especially within
- Emacs). All the button permutations are allowable.
-
-@item -d @var{delta}
- Set the delta value. When a single motion event
- is longer than @var{delta}, @var{accel} is used as a multiplying
- factor. (Must be 2 or above)
-
-@item -D
- Do not automatically enter background operation when started,
- and log messages to the standard error stream, not the syslog
- mechanism. This is useful for debugging; in previous releases
- it was done with a compile-time option.
-
-@item -g @var{number}
- With glidepoint devices, emulate the specified button with tapping.
- @var{number} must be @samp{1}, @samp{2}, or @samp{3}, and refers to the
- button number @emph{before} the @samp{-B} button remapping is performed.
- This option applies to the mman and ps2 decoding. No button is
- emulated by default because the ps2 tapping is incompatible with
- some normal ps2 mice
-
-@item -h
- Print a summary of command line options.
-
-@item -i @var{interval}
- Set @var{interval} to be used as an upper time limit
- for multiple clicks. If the interval between button-up and
- button-down events is less than @var{limit}, the press is considered
- a double or triple click. Time is in milliseconds.
-
-@item -k
- Kill a running gpm. This can be used by busmouse users to kill gpm
- before running X (unless they use @samp{-R} or the single-open
- limitation is removed from the kernel).
-
-@item -l @var{charset}
- Choose the @code{inword()} look up table. The
- @var{charset} argument is a list of characters. @samp{-} is used to
- specify a range and @samp{\ } is used to escape the next character
- or to provide octal codes.
- Only visible character can appear in @var{charset} because control
- characters can't appear in text-mode video memory, whence selection
- is cut.
-
-@item -m @var{filename}
- Choose the mouse file to open. Must be before -t and -o.
-
-@item -M
- Enable multiple mode. The daemon will read two different mouse devices.
- Any subsequent option will refer to the second device, while any
- preceding option will be used for the first device. This option
- automatically forces the @emph{repeater} (@samp{-R}) option on.
-
-@item -o @var{list-of-extra-options}
- The option works similary to the ``-o'' option of mount; it is
- used to specify a list of ``extra options'' that are specific
- to each mouse type. The list is comma-separated. The options
- @samp{dtr}, @samp{rts} or @samp{both} are used by the serial
- initialization to toggle the modem lines like, compatibly with
- earlier @i{gpm} versions; note however that using @t{-o dtr}
- associated with non-plain-serial mouse types may now generate
- an error. @xref{Mouse Types}.
- And by the way, use -o after -m and after -t.
-
-@item -p
- Forces the pointer to be visible while selecting. This is the
- behaviour of @file{selection-1.7}, but it is sometimes confusing.
- The default is not to show the pointer, which can be confusing as well.
-
-
-@item -r @var{number}
- Set the responsiveness. A higher responsiveness is used for a faster
- cursor motion.
-
-@item -R[@var{name}]
- Causes @code{gpm} to act as a repeater: any mouse data received while
- in graphic mode will be produced on the fifo @file{/dev/gpmdata}
- in protocol @var{name}, given as an optional argument (no space in
- between !). In principle, you can use the same
- names as for the @samp{-t} option, although repeating into some
- protocols may not be implemented for a while. @xref{Mouse Types}.
- In addition, you can specify @samp{raw} as the @var{name}, to repeat
- the mouse data byte by byte, without any protocol translation.
- If @var{name} is omitted, it defaults to @samp{msc}.
- Using @i{gpm} in repeater mode, you can configure the X
- server to use its fifo as a mouse device. This option is useful for
- bus-mouse owners to override the single-open limitation. It is also
- an easy way to manage those stupid dual-mode mice which force you
- to keep the middle button down while changing video mode. The option
- is forced on by the @samp{-M} option.
-
-@item -s @var{number}
- Set the sample rate for the mouse device.
-
-@item -S @var{commands}
- Enable special-command processing, and optionally specify custom
- commands as a colon-separated list. See above for a detailed
- description of special commands.
-
-@item -t @var{name}
- Set the mouse type. Use @samp{-t help} to get a list
- of allowable types. Since version 1.18.1, the list also shows
- which protocols are available as repeaters (see @t{-R} above),
- by marking them with an asterisk (``@t{*}'').
- @xref{Mouse Types}.
- Use -t after you selected the mouse device with -m.
-
-@item -v
- Print version information and exit.
-
-@item -V[@var{verbosity increment}]
- Raise or decrease the maximum level of messages that will be
- logged. Thus a positive argument has the effect of making the
- program more verbose. One can also give a negative argument to
- hush the program; due to @b{getopt(3)} rules, any optional
- argument needs to be passed without a space in between!
- When omitting the argument, the increment defaults to 1.
- Default verbosity level is 5 (@code{LOG_NOTICE}).
- @xref{Program Arguments,,,libc}.
-
-@item -2
- Force two buttons. This means that the middle button, if any,
- will be taken as it was the right one.
-
-@item -3
- Force three buttons. By default the
- mouse is considered to be a 2-buttons one, until the middle button
- is pressed. If three buttons are there, the right one is used
- to extend the selection, and the middle one is used to paste it.
- Beware: if you use the @samp{-3} option with a 2-buttons mouse, you
- won't be able to paste the selection.
-
-@end table
-
-@ignore
-.SH OPERATION
-
-To select text press the left mouse button and drag the mouse.
-To paste text in the same or another console, press the middle button.
-The right button is used to extend the selection, like in `xterm'.
-
-Two-button mice use the right button to paste text.
-
-Double and triple clicks select whole word and whole lines. Use of
-the `-p' option is recommended for best visual feedback.
-
-If a trailing space after the contents of a line is highlighted, and if
-there is no other text on the remainder of the line, the rest of the
-line will be selected automatically. If a number of lines are selected,
-highlighted trailing spaces on each line will be removed from the
-selection buffer.
-
-Any output on the virtual console holding the selection will clear the
-highlighted selection from the screen, to maintain integrity of the
-display, although the contents of the paste buffer will be unaffected.
-
-The selection mechanism is disabled if the controlling virtual console
-is placed in graphics mode, for example when running X11, and is
-re-enabled when text mode is resumed. (But see BUGS section below.)
-
-@end ignore
-
-%MSKIP
-@menu
-* Bugs and Problems::
-@end menu
-
-@node Bugs and Problems, Mouse Types, Command Line, Server Invocation
-@section Bugs and Problems
-
-%M .SH BUGS
-The @code{gpm} server may have problems interacting with X: if your
-mouse is a single-open device (i.e. a bus mouse), you should kill
-@code{gpm} before starting X, or use the @samp{-R} option (see
-above). To kill @code{gpm} just invoke @code{gpm -k}. This problem doesn't
-apply to serial mice.
-
-Two instances of gpm can't run on the same system. If you have two mice use
-the @samp{-M} option (see above).
-
-While the current console is in graphic mode, @code{gpm} sleeps until
-text mode is back (unless @samp{-R} is used). Thus, it won't reply to
-clients. Anyways, it is unlikely that mouse-eager clients will spur
-out in hidden consoles.
-
-The clients shipped out with gpm are not updated, thus there are potential
-security risks when using them.
-
-@ignore
-
-.SH AUTHORS
-.nf
-Andrew Haylett (the original selection code)
-Ian Zimmerman (old maintainer)
-Alessandro Rubini (old maintainer (still helps a lot))
-Nico Schottelius (maintainer)
-
-Many many contributors, to both selection and gpm.
-.fi
-
-.SH MAINTAINERS
-
-The current maintainer is Nico Schottelius. But without the help of
-Alessandro Rubini and the mailing list it would be impossible for him to
-maintain gpm. The development mailing list can be reached under
-gpm@lists.linux.it. More information on the list is in the README file part of
-the source distribution of gpm.
-
-.SH FILES
-.nf
-/var/run/gpm.pid The PID of the running gpm
-/dev/gpmctl A control socket for clients
-/dev/gpmdata The fifo written to by a \fBrepeater\fP (`-R') daemon.
-.fi
-
-.SH SEE ALSO
-.nf
-\fB mev(1)\fP A sample client for the gpm daemon.
-\fB gpm-root(1)\fP An handler for Control-Mouse events.
-
-.fi
-The info file about `gpm', which gives more complete information and
-explains how to write a gpm client.
-
-@end ignore
-%MANPAGE END
-
-%==========================================================================
-@node Mouse Types, , Bugs and Problems, Server Invocation
-@section Mouse Types
-
-%MANPAGE gpm-types.7
-%M .TH GPM-TYPES 7 "July 2000"
-%M .UC 4
-%M .SH NAME
-%M gpm-types \- pointer types (mice, tablets, etc.) managed by gpm.
-%M .br
-%M The information below is extracted from the texinfo file, which is the
-%M preferred source of information.
-%M .SH DESCRIPTION
-%MSKIP
-This section of the gpm documentation manual
-%M This manpage
-describes the various pointer types currently available in @i{gpm}. If you
-look at the source code, you'll find that pointer-specific code is
-confined to @file{mice.c} (while it used to only include mouse decoders,
-@i{gpm} now supports tablets and touchscreens as well).
-
-The mouse type is specified on command line with the @samp{-t}
-option. The option takes an argument, which represents the name of a
-mouse type. Each type can be associated to different names. For old
-mouse types, one name is the old selection-compatible name, and another
-is the XFree name. After version 1.18.1 of @i{gpm}, the number of
-synonyms was made arbitrary and the actual name being used is made
-available to the function responsible for mouse
-initialization. Therefore it is possible for a mouse decoder to behave
-slightly differently according to the name being used for the device (if
-this feature was already present, we wouldn't have for example @t{ms+}
-and @t{ms+lr} as different mouse types).
-
-The initialization procedure of each mouse type can also receive extra
-option, by means of the @t{-o} command line option. Since
-interpretation of the option string is decoder-specific, the allowed
-options are described in association to each mouse type. When no
-description of option strings is provided, that means the option
-string is unused for that mouse type and specifying one generates an
-error. When the document refer to ``standard serial options'' it means
-that one of @t{-o dtr}, @t{-o rts}, @t{-o both} can be specified to
-toggle the control lines of the serial port.
-
-The following mouse type are corrently recognized:
-
-@table @code
-@item bare Microsoft
- The Microsoft protocol, without any extension. It only reports
- two buttons. If your device has three, you should either try
- running the @t{mman} decoder or @t{msc}. In the latter case,
- you need to tell the mouse to talk @t{msc} protocol by
- toggling the DTR and RTS lines (with one of @t{-o drt}, @t{-o
- rts} or @t{-o both}) or invoking @code{gpm -t msc} while
- keeping the middle button pressed. Very annoying, indeed.
- This mouse decoder accepts standard serial options, although they
- should not be needed.
-
-@item ms
- This is the original Microsoft protocol, with a middle-button
- extension. Some old two-button devices send some spurious
- packets which can be misunderstood as middle-button events. If
- this is your case, use the @samp{bare} mouse type. Some new
- two-button devices are ``plug and play'', and they don't play
- fair at all; in this case try @t{-t pnp}. Many (most)
- three-button devices that use the microsoft protocol fail to
- report some middle-button events during mouse motion. Since
- the protocol does not distinguish between the middle button
- going up and the middle button going down it would be liable
- to get out of step, so this decoder declares the middle button
- to be up whenever the mouse moves. This prevents dragging with
- the middle button, so you should probably use @samp{-t ms+lr}
- instead of this decoder, especially if you want to use X.
- This mouse decoder accepts standard serial options, although
- they should not be needed.
-
-@item ms+
- This is the same as @samp{-t ms} except that the middle button
- is not reset during mouse motion. So you can drag with the
- middle button. However, if your mouse exhibits the usual buggy
- behaviour the decoder is likely to get out of step with
- reality, thinking the middle button is up when it's down and
- vice versa. You should probably use @samp{-t ms+lr} instead
- of this decoder. This mouse decoder accepts standard serial
- options, although they should not be needed.
-
-@item ms+lr
- This is the same as @samp{-t ms+} except that there is an
- additional facility to reset the state of the middle button by
- pressing the other two buttons together. Do this when the
- decoder gets into a confused state where it thinks the middle
- button is up when it's down and vice versa. (If you get sick
- of having to do this, please don't blame gpm; blame your buggy
- mouse! Note that most three-button mice that do the microsoft
- protocol can be made to do the MouseSystems protocol
- instead. The ``3 Button Serial Mouse mini-HOWTO'' has
- information about this.) This mouse decoder accepts standard
- serial options, although they should not be needed.
-
-@item msc MouseSystems
- This is the standard protocol for three-button serial devices.
- Some of such devices only enter MouseSystem mode if the RTS, DTR
- or both lines are pushed low. Thus, you may try @t{-t msc}
- associated with @t{-o rts}, @t{-o dtr} or @t{-o both}.
-
-@item mman Mouseman
- The protocol used by the new Logitech devices with three
- buttons. It is backward compatible with the Microsoft
- protocol, so if your mouse has three buttons and works with
- @t{-t ms} or similar decoders you may try @t{-t mman} instead
- to use the middle button. This mouse decoder accepts standard
- serial options, although they should not be needed.
-
-@item sun
- The protocol used on Sparc computers and a few others.
- This mouse decoder accepts standard serial options, although
- they should not be needed.
-
-@item mm MMSeries
- Title says it all.
- This mouse decoder accepts standard serial options, although
- they should not be needed.
-
-@item logi Logitech
- This is the protocol used by old serial Logitech mice.
-
-@item bm BusMouse
- Some bus devices use this protocol, including those produced
- by Logitech.
-
-@item ps2 PS/2
- The protocol used by most busmice.
-
-@item ncr
- This `type' is able to decode the pointing pen found
- on some laptops (the NCR 3125 pen)
-
-@item wacom
- The protocol used by the Wacom tablet. Since version 1.18.1
- we have a new Wacom decoder, as the old one was not working
- with new tablets. This decoder was tested with Ultrapad,
- PenPartner, and Graphire tablets.
- Options:
- @t{-o relative} (default) for relative mode,
- @t{-o absolute} for absolute mode.
-
-@item genitizer
- The \"Genitizer\" tablet, in relative mode.
- This mouse decoder accepts standard serial options, although
- they should not be needed.
-
-@item logim
- Used to turn Logitech mice into Mouse-Systems-Compatible.
- Obviously, it only works with some of the Logitech mice.
-
-@item pnp
- This decoder works with the new mice produces by our friend Bill,
- and maybe with the old ones as well. The Pnp protocol is
- hardwired at 1200 baud and is upset by normal initialization, so
- this is a @t{-t bare} decoder with no initialization at all.
- This mouse decoder accepts standard serial options, although
- they should not be needed.
-
-@item ms3
- A decoder for the new serial IntelliMouse devices, the ones
- with three buttons and a protocol incompatible with older
- ones. The wheel is currently unused.
-
-@item imps2
- ``IntelliMouse'' on the ps/2 port. This type can also be used for
- a generic 2-button ps/2 mouse too, since it will auto-detect the type.
-
-@item netmouse
- Decodes the ``Genius NetMouse'' type of devices on the ps/2
- port. For serial ``Netmouse'' devices, use the ``ms3'' decoder.
-
-
-@item cal
- A decoder of the ``Calcomp UltraSlate device.
-
-@item calr
- Same as above, but in relative mode.
-
-@item twid
- Support for the twiddler keyboard. As of gpm-1.14 this decoder
- includes a char generator for the text console, but doesn't
- yet support X keycodes. If used with @samp{-R}, @code{gpm} will anyway
- repeat mouse events to the X server. More information about twiddler
- support can be found in @file{README.twiddler}, in the gpm
- distribution.
-
-@item syn synaptics
- A decoder for the Synaptics TouchPad connected to the serial port.
- This mouse decoder accepts standard serial options, although
- they should not be needed.
-
-@item synps2 synaptics_ps2
- Same as above, but for the devices attached to the ps2 port.
-
-@item brw
- A decoder for the Fellowes Browser, a device with 4 buttons
- and a wheel.
- This mouse decoder accepts standard serial options, although
- they should not be needed.
-
-@item js Joystick
- This mouse type uses the joystick device to generate mouse
- events. It is only available if the header @file{linux/joystick.h}
- is found at compile time. The header (and the device as well)
- has been introduced only during 2.1 development, and is not
- present in version 2.0 of the kernel.
-
-@item summa
- This is a decode for the Symmagraphics of Genius tablet, run in
- absolute mode. A repeater is associated to this decoder, so it
- can @t{-R summa} can be used to generate X events even for other
- absolute-pointing devices, like touchscreens. To use the repeated
- data from X, you need a modified @t{xf86Summa.o} module.
-
-@item mtouch
- A decoder for the MicroTouch touch screen. Please refer to the
- file @file{README.microtouch} in the source tree of gpm for
- further information. In the near future, anyways, I plan to fold
- back to this documentation the content of that file.
-
-@item gunze
- A decoder for the gunze touch screen. Please refer to the
- file @file{README.gunze} in the source tree of gpm for
- further information. In the near future, anyways, I plan to fold
- back to this documentation the content of that file. The decoder
- accepts the following options: @t{smooth=}, @t{debounce=}. An
- higher smoothness results in slower motion as well; a smaller
- smoothness gives faster motion but, obviously, less smooth.
- The default smoothness is 9. The debounce time is express in
- milliseconds and is the minimum duration of an up-down event
- to be taken as a tap. Smaller bounces are ignored.
-
-@item acecad
- The Acecad tablet in absolute mode.
-
-@item wp wizardpad
- Genius WizardPad tablet
-
-@end table
-
-@ignore
-
-.SH FILES
-.nf
-src/mice.c The source file for pointer decoders
-.fi
-
-.SH SEE ALSO
-.nf
-\fB gpm(8) \fP The General Purpose Mouse server
-
-.fi
-The info file about `gpm', which gives more complete information and
-explains how to write a gpm client.
-
-@end ignore
-
-%MANPAGE END
-
-
-%##########################################################################
-@node Gpm Internals, The ClientLib, Server Invocation, Top
-@chapter Gpm Internals
-@cindex Internals
-
-The server is organized as a main loop built around a @code{select()}
-system call. It responds both to mouse events and to input from the
-clients, which are connected to the server through a unix domain
-socket. The connection is used to tell the server what a client is
-interested in, and to get mouse events.
-
-When no clients are connected to the active console, the server runs
-the selection mechanism (cut and paste of text). The selection
-mechanism is a simple and well-designed application, whose behaviour
-can be cloned by clients, by telling the server to inherit the default
-response for certain mouse events (motion being the most
-interesting).
-
-@menu
-* Events::
-* Margins::
-* Event Types::
-* Connection Details::
-* Default Handlers::
-@end menu
-
-%==========================================================================
-@node Events, Margins, Gpm Internals, Gpm Internals
-@section Events
-@cindex Events
-
-Whenever the mouse generates an event, the event is dispatched to the
-active client for the current console, or to the default handler, if
-present. Otherwise selection is run. A default handler is a client
-process which gets mouse events form all the virtual
-consoles.
-@xref{Default Handlers}.
-
-When a client is involved, it is handled a @code{Gpm_Event}
-structure, built by the server. The fields for @code{Gpm_Event} are the
-following:
-@tindex Gpm_Event
-
-@table @code
-
-@item unsigned char buttons;
- An or-mask of the values @code{GPM_B_LEFT},
- @code{GPM_B_MIDDLE} and @code{GPM_B_RIGHT}. It corresponds to
- the state of the mouse buttons when the event is reported. The
- current implementation of gpm allows at most three buttons.
-
-@item unsigned char modifiers;
- The value of the kernel variable
- @code{shift_state}, as of @file{keyboard.c}, when the event is
- reported. It is a bitmask value, and corresponds to the least
- significant byte of the value used by the @code{loadkeys}
- program. Use of symbolic
- names in source code is available after inclusion of
- @file{linux/keyboard.h}, as exemplified in @file{mev.c}.
-
-@item unsigned short vc;
- The number of the active virtual console when
- the event is reported. The client is not expected to use this value,
- which corresponds to the controlling terminal of the client process,
- unless it gets events form multiple consoles.
- @xref{Default Handlers}.
-
-@item short x, y;
- The position of the mouse pointer where the event
- is reported. It is 1-based by default, to be compatible with
- @code{selection} and @code{libcurses}. This behavior can be
- overriden, though, by setting the library variable
- @code{gpm_zerobased}.
- @xref{Variables}.
-
-@item short dx, dy;
- The change in position since the last reported
- event.
-
-@item enum Gpm_Etype type;
- A bit-mask, representing the
- type of reported event, as described later.
- @xref{Event Types}.
-
-@item int clicks;
- A counter, which is valid at button-down, drag or
- button-up. It can be 0, 1 or 2 to mean single, double or triple
- click.
-
-@item enum Gpm_Margin margin;
- A bit-mask, telling if the pointer has
- gone out of the visible screen. The indivudual bits are
- named @code{GPM_TOP}, @code{GPM_BOT}, @code{GPM_LFT},
- @code{GPM_RGT}. Only one
- of them is active at a time, to allow using @code{switch} on the
- value. Vertical outrun takes precedence on horizontal outrun.
- @xref{Margins}.
-@end table
-
-%==========================================================================
-@node Margins, Event Types, Events, Gpm Internals
-@section How margins are managed
-
-Motion and button-press events are constrained to remain within the
-visible screen. This means that the @code{x} will be within 1 and 80 and
-@code{y} will be within 1 and 25 when the console is 80x25
-cells. However, a client can keep track of movements outside the
-screen, by using the @code{dx} and @code{dy} fields, which aren't subject to
-clipping.
-
-The server helps applications in detecting margin conditions by filling the
-@code{margin} field. Whenever the pointer tries to cross screen boundaries,
-it is forced to remain on the border, but a flag is set in @code{margin}.
-
-A different policy is in force for drag and button-release events. In this
-case the pointer is allowed to go outside the physical screen by exactly
-one position. This allows, for example, selecting to end of line
-by dragging down-left. The peculiar situation is nonetheless signaled
-through the @code{margin} flags. The client should be careful to
-fit the values within the screen if needed.
-@xref{Utility Functions}.
-
-
-%==========================================================================
-@node Event Types, Connection Details, Margins, Gpm Internals
-@section Event Types
-
-The @code{type} field in @code{Gpm_Event} is made up of bit-wide
-flags. The existing bit masks belong to two groups: bare events and
-cooked events. The bit-mask @code{GPM_BARE_EVENTS} is provided to
-extract bare events, by and-ing (@samp{&}) it with the @code{type} field.
-For any event, exactly one bit will be set in the resulting bitmask.
-
-Bare events are the following:
-
-@table @code
-@item GPM_MOVE
- A motion event, with all buttons up.
-@item GPM_DRAG
- A motion event, but one or more buttons are kept pressed.
-@item GPM_DOWN
- A button press event. The @code{buttons} field will report
- which buttons are pressed after the event.
-@item GPM_UP
- A button release event. The @code{buttons} field will report
- which buttons are being released. Note that this is different from
- the previous case.
-@item GPM_ENTER
- This means "enter in the current Region of Interest", and such
- event can only happen if the high-level library is used.
- When the type is @code{GPM_ENTER}, all the other fields are undefined.
- @xref{High Level Lib}.
-@item GPM_LEAVE
- This is only delivered by the high level library, too. Events
- of type @code{GPM_LEAVE} have all other fields undefined.
-@end table
-
-Cooked events are the following:
-
-@table @code
-@item GPM_SINGLE
- This bit may be set at button-press,
- drag and button release events, and can be used to identify a
- single press. The time interval used to choose a double click
- from two single clicks is set by a parameter in the daemon
- (configurable at daemon invocation).
-@item GPM_DOUBLE
- Used to identify a double click (press, drag, release)
-@item GPM_TRIPLE
- Used to identify a triple click (press, drag, release)
-@item GPM_MFLAG
- The ``motion flag'' is true if some dragging happened
- between button-press and button-release. It can be used by
- those applications which respond to events at button release.
- It is available at drag and release.
-@end table
-
-%==========================================================================
-@node Connection Details, Default Handlers, Event Types, Gpm Internals
-@section Connection Details
-
-Each virtual console has a stack of clients attached to it. They talk to
-gpm by writing to a control socket and get mouse events by reading
-it. All the clients in the stack can receive events. Gpm-1.10 and earlier
-only sent events to the top client, but sometimes users play with
-multiple programs using suspend-resume (thanks Ian).
-
-In addition to the per-console stacks, another stack is there to store
-default-handling clients.
-@xref{Default Handlers}.
-
-Each client registers with the server and tells which events it is
-interested in. Events not managed by the client can be handled by the
-selection mechanism, which is compiled in the server itself. This
-approach simplifies writing clients which respond only to button
-press/release events, because highlighting the mouse pointer can be
-performed by the server. A default handler in turn can respond only to
-mouse events associated with modifier keys, so that selection is used
-for any mouse-only event.
-
-Clients are required to fill a @code{Gpm_Connect} structure and pass
-it to the server. The structure is made up by four @code{unsigned int}
-fields.
-@xref{Open and Close}.
-@tindex Gpm_Connect
-
-@table @code
-@item eventMask
- A bitmask of the events the client wants
- to receive. Both bare and cooked events are
- allowed to appear in the mask.
-
-@item defaultMask
- A mask to tell which events allow
- a default treatment (the selection one). These are mouse events,
- independent of the modifier keys.
-
-@item minMod
- The minimum amount of modifiers
- required by the client. This field is used for default-handlers
- which manage control-mouse events without interfering
- with mouse-only ones.
- @xref{Default Handlers}.
-
-@item maxMod
- The maximum amount of modifiers the client is willing to receive.
- Events featuring a modifier key not included in @code{maxMod} won't
- be passed to the client.
-@end table
-@noindent
-Two more fields are there to tell about the connection itself, and you're
-not asked to fill them, because @code{Gpm_Open} will do it for you.
-
-@table @code
-@item int pid
- The process id of the connecting application.
-@item int vc
- Which virtual console to gain control of.
-@end table
-
-Keyboard modifiers are used to multiplex clients on the same virtual
-console. You (as a programmer) don't need to care about the internal
-workings. They are detailed in @ref{Default Handlers}, but you only
-need to choose the right values for your application.
-
-Examples:
-@table @code
-@item minMod=0; maxMod=0;
- specifies a client which senses mouse-only events, but neither
- shift-mouse nor alt-mouse nor control-mouse.
-
-@item minMod=0; maxMod=~0;
- is a client which gets any mouse event.
-
-@item minMod=1<
-.br
-Ian Zimmerman
-
-.SH FILES
-.nf
-/dev/gpmctl The socket used to connect to gpm.
-.fi
-
-.SH SEE ALSO
-.nf
-\fB gpm(8) \fP The mouse server
-\fB gpm-root(1) \fP An handler for Control-Mouse events.
-
-.fi
-The info file about `gpm', which gives more complete information and
-explains how to write a gpm client.
-
-@end ignore
-%MANPAGE END
-
-%==========================================================================
-@node sample/rmev, Emacs Support, mev, Demo Clients
-@section @code{sample/rmev}
-
-@code{rmev} is a reduced version of @code{mev}, but it is designed to be as
-portable as possible. It uses a subset of the capabilities of @file{libgpm.a},
-but works smoothly on both xterm and the Linux console. It is distributed
-with @code{gpm} to show how a curses based application can support the mouse
-with a small effort. Most of the xterm decoding is by Janne Kukonlehto.
-@xref{Xterm}.
-
-%==========================================================================
-@node Emacs Support, gpm-root, sample/rmev, Demo Clients
-@section Emacs Support
-
-Emacs support is quite complete as of 0.14. The enclosed file
-@file{t-mouse.el}, also available in byte-compiled form, is used to pass
-mouse events to emacs. @file{t-mouse.elc} is installed in the correct
-@t{site-lisp} directory for you emacs installation (as detected by the
-configure phase).
-
-Events with modifiers other than Meta, Control, and Shift are not
-managed by the library. Managed events are passed to the lisp program,
-which converts them to be similar to X mouse events inside
-emacs. Actions are then invoked through a local keymap.
-
-In my own environment I can use mouse-only and meta mouse within emacs,
-shift-mouse to run selection and control-mouse to run @code{gpm-root}.
-@xref{gpm-root}.
-
-I suggest to put the following form in your own @file{.emacs} file, to
-avoid loading @code{t-mouse} when you aren't working on the Linux console:
-
-@lisp
-(if (and (string-match ".*-linux" system-configuration)
- (or (string-match "linux" (getenv "TERM"))
- (string-match "con.*" (getenv "TERM"))))
- (load-library "t-mouse"))
-@end lisp
-
-Mouse events are appended to the list variable
-@code{unread-command-events} where the Emacs main event loop will find
-them. They can be made to trigger any command (or interactive function,
-in Emacs Lisp terminology) at all. Actually Emacs already comes with
-reasonable bindings for most mouse events, so usually you won't have to
-do anything beyond installing @code{t-mouse}. If you want to modify
-what Emacs does in response to mouse events, please see
-@ref{Keymaps,,,elisp}.
-
-The scrollbar sits on the last column of the screen, though it is not
-visible. When you click on the last column, a scroll-bar action is taken.
-If this annoys you, again it can be turned off by changing the
-appropriate Emacs keymap.
-
-If you kill the @code{gpm} server, Emacs won't respond to mouse events
-any more. If the server is then restarted, you can invoke `@kbd{M-x
-t-mouse-run}' to restart mouse responsiveness in the editor.
-
-%==========================================================================
-@node gpm-root, hltest, Emacs Support, Demo Clients
-@section The ``gpm-root'' program
-
-%MANPAGE gpm-root.1
-%M .TH GPM-ROOT 1 "February 1995"
-%M .UC 4
-%M .SH NAME
-%M gpm-root \- a default handler for gpm, used to draw menus on
-%M the root window
-%M
-%M .SH SYNOPSIS
-%M .B gpm-root
-%M [
-%M .I options
-%M ]
-%M .br
-%M .SH DESCRIPTION
-
-The program @code{gpm-root} is designed to handle Control-Mouse events to
-draw menus on the background of the current tty. The actual menus
-are described by a configuration file in the user's home directory.
-
-Please note that @code{gpm-root} needs to run with Linux 1.1.73 or
-newer, because previous kernels lack some screen handling capabilities
-required by the program.
-
-The program uses the files @file{/dev/vcs*} to draw to the console screen.
-These are available only from kernel 1.1.81 onward. If you miss those
-device nodes, you should create them using @code{create_vcs} in the
-distribution directory. The tool won't run with kernels older than 1.1.81,
-because they lacked a full screen dump/restore capability.
-
-Available command line options are the following:
-
-@table @code
-@item -m @var{number}
- Choose the modifier to use (by default: @samp{control}). The modifier
- can be provided either as a number or as a symbolic string.
- Allowed strings are @samp{shift}, @samp{anyAlt}, @samp{leftAlt},
- @samp{rightAlt}, @samp{control}.
-
-@item -u
- Deny using user-specific configuration files. With this
- option on, only @file{/etc/gpm-root.conf} will be used as a source
- of configuration information. This option
- is intended for those system administrators who fear security could
- be broken by this daemon. Things should be sufficiently secure, but
- if you find a hole please tell me about it.
-
-@item -D
- Do not automatically enter background operation when started,
- and log messages to the standard error stream, not the syslog
- mechanism. This is useful for debugging; in previous releases
- it was done with a compile-time option.
-
-@item -V @var{verbosity increment}
- Raise the maximum level of messages that will be logged. Thus a
- positive argument has the effect of making the program more
- verbose. One can also give a negative argument to hush the
- program; however, note that due to @b{getopt(3)} rules a negative
- argument must follow the option with no space betwixt (that is,
- @samp{-V-1} but not @samp{-V -1}). @xref{Program Arguments,,,libc}.
- The argument is optional and its default value is 1.
-
-@end table
-
-Each time a menu is drawn, the configuration file is reparsed if it has
-changed. This allows modification of personal setup without reinvoking
-the daemon.
-
-%M The actual configuration file is better introduced by looking at your
-%M @file{/etc/gpm-root.conf}.
-%M
-%MSKIP
-
-The actual configuration file is better introduced by an example:
-
-@lisp
-# sample configuration file for gpm-root
-# edit it to suit your taste
-
-button 2 @{
- name "system status"
- foreground red
- background black
- border yellow
- head bright yellow
-
- "" f.nop
- "load: " f.load
- "free:" f.free
- "---------" f.nop
- "disk usage" f.bgcmd "du | sort -rn > /tmp/du"
-@}
-
-button 3 @{
- name "jump"
-
- foreground black
- background red
- border bright yellow
- head bright yellow
-
- "tty1" f.jptty "1"
- "tty2" f.jptty "2"
- "tty3" f.jptty "3"
- "tty4" f.jptty "4"
- "tty5" f.jptty "5"
- "tty6" f.jptty "6"
- "" f.nop
- "more of them..." @{
- "tty 17" f.jptty "17"
- @}
- @}
-@end lisp
-%M .fi
-
-The syntax for the file won't be described here, being it quite apparent
-from the example above. Blanks and newlines are unused in parsing the
-file, and the layout of the file is free. Comments are allowed in the
-file: any hash mark (@samp{#}) found at the beginning of the line or
-after white space makes the parser discard anything up to the next
-line. To insert quotes (@samp{"}) in strings precede them with a backslash.
-
-Note that recursive menus are allowed, to any level of recursion.
-
-Keywords belong to three groups: the button keyword, the cfg
-keywords and the action keywords. They are all described in the table
-below:
-
-@table @code
-@item button @var{number} @var{menu}
- The @code{button} keyword is used to introduce a menu. It is
- followed by the number of the relevant button (1=left,
- 2=middle, 3=right), an open brace, a menu and a closed brace.
- A menu is made up of cfg statements, followed by
- action statements. Cfg statements can come in any order,
- while the order of action statements tells the actual order
- in which actions will appear on the screen, top to bottom.
-@end table
-
-The following statements belong to the cfg set.
-
-@table @code
-@item name @var{string}
- If the @code{name} keyword is present, the specified
- @var{string} will be used as the name for the current menu.
-
-@item background @var{color}
- This statements is used to specify the
- background color to be used in the current menu. The @var{color}
- can be specified with one of the eight canonical strings @samp{black},
- @samp{red}, @samp{cyan} etc. The background defaults to black.
-
-@item foreground @var{color}
- This statements is used to specify the
- foreground color for menu items. Its value defaults to @samp{white}.
- An optional @samp{bright} keyword can appear before the actual color.
-
-@item border @var{color}
- @code{border} is used to specify the
- border color for the menu. Its value defaults to @samp{white}.
- An optional @samp{bright} keyword can appear before the actual color.
-
-@item head @var{color}
- @code{head} is used to specify the
- foreground color for the title of the menu. Its value defaults
- to @samp{white}.
- An optional @samp{bright} keyword can appear before the actual color.
-@end table
-
-The following statements belong to the action set.
-
-@table @code
-@item @var{string} f.fgcmd @var{cmdstring}
- When the mouse button is
- released above the corresponding menu item, the @var{cmdstring} is
- pasted in the keyboard queue of the current console. This is
- not yet implemented.
-
-@item @var{string} f.bgcmd @var{cmdstring}
- When the mouse button is released above the
- corresponding menu item, a shell (@file{/bin/sh}) is forked to
- execute the specified command, with @code{stdin}
- connected to @file{/dev/null}, and @code{stdout}, @code{stderr} connected
- to the active console.
-
-@item @var{string} f.jptty @var{ttynumber}
- When the mouse button is
- released above the corresponding menu item, the console is
- switched to the one specified. The @var{ttynumber} must be specified
- as a string. Any tty can be reached this way, even those which are
- not accessible via the keyboard.
-
-@item @var{string} f.mktty @var{ttynumber}
- When the mouse button is
- released above the corresponding menu item, an unused console is
- selected, and @file{/sbin/mingetty} is executed in it. The current console
- is switched to the newly opened console. I use this command to save
- kernel memory by opening a single console through @file{/etc/inittab}
- and requesting the others only when i need to login.
-
-@item @var{string} @var{Whole-menu}
- A menu can directly follow the label string.
- When the mouse pointer leaves the menu frame at the level of @var{string},
- a second menu is posted on screen.
-
-@item @var{string} f.lock
- When the mouse button is
- released above the corresponding menu item, the keyboard and the
- screen are locked, and only the locking user or the superuser
- can unlock them. This is not yet implemented.
-
-@item @var{string} f.load
- The current loadavg when the menu is posted is concatenated to @var{string}
- to build the actual message displayed on screen. Nothing happens at
- button release.
-
-@item @var{string} f.free
- The free memory and swap when the menu is posted is concatenated
- to @var{string}
- to build the actual message displayed on screen. Nothing happens at
- button release.
-
-@item @var{string} f.time
- The current time is formatted with @b{strftime(3)}, according to
- @var{string}. The resulting string is
- the actual message displayed on screen. Nothing happens at
- button release.
-
-@item @var{string} f.pipe @var{cmdline}
- When the mouse pointer leaves the menu frame at the level of @var{string},
- a message box is posted on screen showing the last ten lines
- of the output of @var{cmdline}. @var{cmdline} is executed
- by @file{/bin/sh}. This is not yet implemented.
-
-
-@item @var{string} f.nop
- This does nothing, it only displays @var{string} on the menu.
-@end table
-
-The @code{HOME}, @code{LOGNAME} and @code{USER} environment variables are setup
-to the values for the invoking user before spawning an external
-process (@code{f.bgcmd}, @code{f.pipe}). The current directory is always @file{/}.
-
-%M .SH BUGS
-
-Known bugs have been fixed. In particular, if you invoke @code{gpm-root}
-right after @code{gpm}, it will delay a few seconds before trying to connect
-to the daemon.
-
-@ignore
-.SH AUTHOR
-Alessandro Rubini
-
-.SH FILES
-.nf
-/dev/gpmctl The socket used to connect to gpm.
-/etc/gpm-root.conf The default configuration file.
-$(HOME)/.gpm-root The user configuration file.
-/dev/vcs* Virtual Console Screens
-.fi
-
-.SH SEE ALSO
-.nf
-\fB gpm(8) \fP
-
-.fi
-The info file about `gpm', which gives more complete information and
-explains how to write a gpm client.
-
-@end ignore
-%MANPAGE END
-
-%==========================================================================
-@node hltest, mouse-test, gpm-root, Demo Clients
-@section @code{hltest}
-
-High-level test is a simple sample application using the high-level
-library. It implements something like a window manager for text windows,
-though it is small and unuseful.
-
-The application is meant to be read by programmers trying to use the
-high-level library. It is equipped with event reporting to help
-in understanding the internal workings.
-
-%==========================================================================
-@node mouse-test, , hltest, Demo Clients
-@section @code{mouse-test}
-
-%MANPAGE mouse-test.1
-%M .TH mouse-test 1 "March 26, 1998" ""
-%M .SH NAME
-%M mouse-test \- a tool for determining mouse type and device it's attached to.
-%M .SH SYNTAX
-%M \fBmouse-test\fR [ \fIdevice\fR ... ]
-%M .SH DESCRIPTION
-
-This experimental and incomplete application tries to help in detecting
-which protocol does your mouse speak. It is able to detect MouseMan
-devices, and to choose between @samp{-t ms} (three-buttons aware) and
-@samp{-t bare} old two-buttons-only serial mice.
-
-%M .SH BUGS
-
-I know the application is buggy, but I only own one mouse device.
-If you are interested in this application, just call me and awake me
-from my laziness.
-
-
-@ignore
-.SS OPTIONS
-.IP \fIdevice\fP
-[ \fIdevice\fP ... ]
-.PP
-Check this \fIdevice\fP for a mouse. If no devices are listed, mouse-test will try all possible devices.
-
-.SH AUTHOR
-Alessandro Rubini
-
-.SH FILES
-.nf
-/dev/* The devices used to search for a mouse
-.fi
-
-.SH SEE ALSO
-.nf
-gpm(8)
-
-.fi
-
-@end ignore
-%MANPAGE END
-
-%##########################################################################
-@node Type Index, Function Index, Demo Clients, Top
-@unnumbered Type Index
-
-@printindex tp
-
-@node Function Index, Variable Index, Type Index, Top
-@unnumbered API Index
-
-@printindex fn
-
-@node Variable Index, , Function Index, Top
-@unnumbered Variable Index
-
-@printindex vr
-
-%@iftex
-%@unnumbered Table of Contents
-%@contents
-%@end iftex
-
-
-@bye
-
-/*
- * This is because Linus uses 4-wide tabstops,
- * forcing me to use the same default to manage kernel sources
- */
-
-/* Local Variables: */
-/* tab-width:8 */
-/* End: */
diff --git a/software/gpm/browse_source/gpm-1.20.2-broken/doc/gpm.info b/software/gpm/browse_source/gpm-1.20.2-broken/doc/gpm.info
deleted file mode 100644
index b73db4d1..00000000
--- a/software/gpm/browse_source/gpm-1.20.2-broken/doc/gpm.info
+++ /dev/null
@@ -1,1929 +0,0 @@
-This is
-/home/user/nico/computer/sources/linux/gpm/cvstree/doc/gpm.info,
-produced by makeinfo version 4.0 from
-/home/user/nico/computer/sources/linux/gpm/cvstree/doc/gpm.texinfo.
-
-INFO-DIR-SECTION Miscellaneous
-START-INFO-DIR-ENTRY
-* Gpm: (gpm). A server wich hands mouse events to non-X programs.
-END-INFO-DIR-ENTRY
-
- This file is a user's and programmer's manual for gpm 1.20.1.
-
- Copyright (C) 1994,1995,1998 Alessandro Rubini Copyright (C)
-2001,2002 Nico Schottelius
-
- Permission is granted to make and distribute verbatim copies of this
-manual provided the copyright notice and this permission notice are
-preserved on all copies.
-
- Permission is granted to copy and distribute modified versions of
-this manual under the conditions for verbatim copying, provided that
-the entire resulting derived work is distributed under the terms of a
-permission notice identical to this one.
-
- Permission is granted to copy and distribute translations of this
-manual into another language, under the above conditions for modified
-versions, except that this permission notice may be stated in a
-translation approved by the Free Software Foundation.
-
- This file documents the 1.20.1 release of the "General Purpose
-Mouse" (gpm) server for the Linux text console (Decembre 2002).
-
-
-File: gpm.info, Node: Top, Next: Overview, Prev: (dir), Up: (dir)
-
-gpm
-***
-
-* Menu:
-
-* Overview::
-* Server Invocation::
-* Gpm Internals::
-* The ClientLib::
-* Demo Clients::
-* Type Index::
-* Function Index::
-* Variable Index::
-
-
-File: gpm.info, Node: Overview, Next: Server Invocation, Prev: Top, Up: Top
-
-Overview
-********
-
- The "gpm" package is a mouse server for the Linux console. It is
-meant to provide cooked mouse events to text-only applications, such as
-editors and simple menu-based apps. The daemon is also able to repeat
-packets in "msc" format to a graphic application. This last feature is
-meant to override the single-open problem of busmice. The roots of
-`gpm' come from the `selection-1.5' package, by Andrew Haylett.
-
- The first application to support the mouse has been The Midnight
-Commander, by Miguel de Icaza. `mc-0.11' and later releases offer
-mouse support if you have the mouse server running on your system. The
-file `t-mouse.el' provides support for using the mouse from within
-Emacs. *Note Emacs Support::.
-
- As of release 0.96, a default-handler is released with gpm, and can
-be used to handle Control-Mouse events to draw menus on the screen.
-The `gpm-root' program, however, needs kernel 1.1.73 or newer. *Note
-gpm-root::.
-
- Release 1.00 has been an incompatible one (is is incompatible with
-releases older than 0.97), but is compatible with the kernel-level mouse
-driver (available as `kmouse-?.??.tar.gz' from the mirrors of
-`ftp://tsx-11.mit.edu'. With 1.0 the high level library is available,
-together with a demonstration/test program. A small utility to help in
-detecting your mouse-type is also included.
-
- As of release 1.20.0 the default device is removed. Now -m is a must.
-
- Release 1.20.1 introduces the must for -t and a specific way to use
--m,-t,-o: Now you've got to use -m first, then -t and at last -o. This
-seems to be more complex, but makes using of multiply mice possible with
-clean code.
-
-* Menu:
-
-* Building the Release::
-
-
-File: gpm.info, Node: Building the Release, Prev: Overview, Up: Overview
-
-Compiling and Installing
-========================
-
- Just say `./configure && make && make install' to your shell. You'll
-need gpm installed to compile the latest release of The Midnight
-Commander with mouse support enabled.
-
- Binaries are not released with the package because it's safer for
-you to compile the package by yourself.
-
-
-File: gpm.info, Node: Server Invocation, Next: Gpm Internals, Prev: Overview, Up: Top
-
-Server Invocation
-*****************
-
- The `gpm' executable is meant to act like a daemon (thus, `gpmd'
-would be a better name for it). This section is meant to describe the
-command-line options for `gpm', while its internals are outlined in the
-next section. *Note Gpm Internals::.
-
- Due to restrictions in the `ioctl(TIOCLINUX)' system call, `gpm' must
-be run by the superuser. The restrictions have been added in the last
-1.1 kernels to fix a security hole related to selection and screen
-dumping.
-
- The server can be configured to match the user's taste, and any
-application using the mouse will inherit the server's attitude. From
-release 1.02 up to 1.19.2 is was possible for any user logged on the
-system console to change the mouse _feeling_ using the -q option. This
-is no longer possible for security reasons.
-
- As of 0.97 the server program puts itself in the background. To kill
-`gpm' you can just reinvoke it with the `-k' cmdline switch, although
-`killall gpm' can be a better choice.
-
-* Menu:
-
-* Special Commands::
-* Command Line::
-* Bugs and Problems::
-* Mouse Types::
-
-
-File: gpm.info, Node: Special Commands, Next: Command Line, Prev: Server Invocation, Up: Server Invocation
-
-Special Commands
-================
-
- Version 1.10 adds the capability to execute _special_ commands on
-certain circumstances. Special commands default to rebooting and halting
-the system, but the user can specify his/her personal choice. The
-capability to invoke commands using the mouse is a handy one for
-programmers, because it allows to issue a clean shutdown when the
-keyboard is locked and no network is available to restore the system to
-a sane state.
-
- Special commands are toggled by triple-clicking the left and right
-button - an unlikely event during normal mouse usage. The easiest way
-to triple-click is pressing one of the buttons and triple-click the
-other one. When special processing is toggled, a message appears on the
-console (and the speaker beeps twice, if you have a speaker); if the
-user releases all the buttons and presses one of them again within
-three seconds, then the special command corresponding to the button is
-executed.
-
- The default special commands are:
-
-LEFT BUTTON
- Reboot the system by signalling the init process
-
-MIDDLE BUTTON (IF ANY)
- Execute `/sbin/shutdown -h now'
-
-RIGHT BUTTON
- Execute `/sbin/shutdown -r now'
-
- The `-S' command line switch enables special command processing and
-allows to change the three special commands. To accept the default
-commands use `-S ""' (i.e., specify an empty argument). To specify
-your own commands, use a colon-separated list to specify commands
-associated to the left, middle and right button. If any of the commands
-is empty, it is interpreted as `send a signal to the init process'. This
-particular operation is supported, in addition to executing external
-commands, because sometimes bad bugs put the system to the impossibility
-to fork; in these rare case the programmer should be able to shutdown
-the system anyways, and killing init from a running process is the only
-way to do it.
-
- As an example, `-S ":telinit 1:/sbin/halt"', associates killing init
-to the left button, going single user to the middle one, and halting
-the system to the right button.
-
- System administrators should obviously be careful about special
-commands, as gpm runs with superuser permissions. Special commands are
-best suited for computers whose mouse can be physically accessed only by
-trusted people.
-
-
-File: gpm.info, Node: Command Line, Next: Bugs and Problems, Prev: Special Commands, Up: Server Invocation
-
-Command Line Options
-====================
-
- Available command line options are the following:
-
-`-a ACCEL'
- Set the acceleration value used when a single motion event is
- longer than DELTA (see `-d').
-
-`-A[LIMIT]'
- Start up with selection pasting disabled. This is intended as a
- security measure; a plausible attack on a system seems to be to
- stuff a nasty shell command into the selection buffer (`rm -rf /')
- including the terminating line break, then all the victim has to
- do is click the middle mouse button .. As of version 1.17.2, this
- has developed into a more general aging mechanism; the gpm daemon
- can disable (_age_) selection pasting automatically after a period
- of inactivity. To enable this mode just give the optional LIMIT
- parameter (no space in between !) which is interpreted as the
- time in seconds for which a selection is considered valid and
- pastable. As of version 1.15.7, a trivial program called
- `disable-paste' is provided. The following makes a good addition
- to `/etc/profile' if you allow multiple users to work on your
- console.
-
- `case $( /usr/bin/tty ) in
- /dev/tty[0-9]*) /usr/bin/disable-paste ;;
- esac'
-
-`-b BAUD'
- Set the baud rate.
-
-`-B SEQUENCE'
- Set the button sequence. `123' is the normal sequence, `321' can
- be used by left-handed people, and `132' can be useful with
- two-button mice (especially within Emacs). All the button
- permutations are allowable.
-
-`-d DELTA'
- Set the delta value. When a single motion event is longer than
- DELTA, ACCEL is used as a multiplying factor. (Must be 2 or above)
-
-`-D'
- Do not automatically enter background operation when started, and
- log messages to the standard error stream, not the syslog
- mechanism. This is useful for debugging; in previous releases it
- was done with a compile-time option.
-
-`-g NUMBER'
- With glidepoint devices, emulate the specified button with tapping.
- NUMBER must be `1', `2', or `3', and refers to the button number
- _before_ the `-B' button remapping is performed. This option
- applies to the mman and ps2 decoding. No button is emulated by
- default because the ps2 tapping is incompatible with some normal
- ps2 mice
-
-`-h'
- Print a summary of command line options.
-
-`-i INTERVAL'
- Set INTERVAL to be used as an upper time limit for multiple
- clicks. If the interval between button-up and button-down events
- is less than LIMIT, the press is considered a double or triple
- click. Time is in milliseconds.
-
-`-k'
- Kill a running gpm. This can be used by busmouse users to kill gpm
- before running X (unless they use `-R' or the single-open
- limitation is removed from the kernel).
-
-`-l CHARSET'
- Choose the `inword()' look up table. The CHARSET argument is a
- list of characters. `-' is used to specify a range and `\ ' is
- used to escape the next character or to provide octal codes. Only
- visible character can appear in CHARSET because control characters
- can't appear in text-mode video memory, whence selection is cut.
-
-`-m FILENAME'
- Choose the mouse file to open. Must be before -t and -o.
-
-`-M'
- Enable multiple mode. The daemon will read two different mouse
- devices. Any subsequent option will refer to the second device,
- while any preceding option will be used for the first device. This
- option automatically forces the _repeater_ (`-R') option on.
-
-`-o LIST-OF-EXTRA-OPTIONS'
- The option works similary to the "-o" option of mount; it is used
- to specify a list of "extra options" that are specific to each
- mouse type. The list is comma-separated. The options `dtr', `rts'
- or `both' are used by the serial initialization to toggle the
- modem lines like, compatibly with earlier gpm versions; note
- however that using -o dtr associated with non-plain-serial mouse
- types may now generate an error. *Note Mouse Types::. And by the
- way, use -o after -m and after -t.
-
-`-p'
- Forces the pointer to be visible while selecting. This is the
- behaviour of `selection-1.7', but it is sometimes confusing. The
- default is not to show the pointer, which can be confusing as well.
-
-`-r NUMBER'
- Set the responsiveness. A higher responsiveness is used for a
- faster cursor motion.
-
-`-R[NAME]'
- Causes `gpm' to act as a repeater: any mouse data received while
- in graphic mode will be produced on the fifo `/dev/gpmdata' in
- protocol NAME, given as an optional argument (no space in between
- !). In principle, you can use the same names as for the `-t'
- option, although repeating into some protocols may not be
- implemented for a while. *Note Mouse Types::. In addition, you
- can specify `raw' as the NAME, to repeat the mouse data byte by
- byte, without any protocol translation. If NAME is omitted, it
- defaults to `msc'. Using gpm in repeater mode, you can configure
- the X server to use its fifo as a mouse device. This option is
- useful for bus-mouse owners to override the single-open
- limitation. It is also an easy way to manage those stupid
- dual-mode mice which force you to keep the middle button down
- while changing video mode. The option is forced on by the `-M'
- option.
-
-`-s NUMBER'
- Set the sample rate for the mouse device.
-
-`-S COMMANDS'
- Enable special-command processing, and optionally specify custom
- commands as a colon-separated list. See above for a detailed
- description of special commands.
-
-`-t NAME'
- Set the mouse type. Use `-t help' to get a list of allowable
- types. Since version 1.18.1, the list also shows which protocols
- are available as repeaters (see -R above), by marking them with an
- asterisk ("*"). *Note Mouse Types::. Use -t after you selected
- the mouse device with -m.
-
-`-v'
- Print version information and exit.
-
-`-V[VERBOSITY INCREMENT]'
- Raise or decrease the maximum level of messages that will be
- logged. Thus a positive argument has the effect of making the
- program more verbose. One can also give a negative argument to
- hush the program; due to getopt(3) rules, any optional argument
- needs to be passed without a space in between! When omitting the
- argument, the increment defaults to 1. Default verbosity level is
- 5 (`LOG_NOTICE'). *Note Program Arguments: (libc)Program
- Arguments.
-
-`-2'
- Force two buttons. This means that the middle button, if any, will
- be taken as it was the right one.
-
-`-3'
- Force three buttons. By default the mouse is considered to be a
- 2-buttons one, until the middle button is pressed. If three
- buttons are there, the right one is used to extend the selection,
- and the middle one is used to paste it. Beware: if you use the
- `-3' option with a 2-buttons mouse, you won't be able to paste the
- selection.
-
-* Menu:
-
-* Bugs and Problems::
-
-
-File: gpm.info, Node: Bugs and Problems, Next: Mouse Types, Prev: Command Line, Up: Server Invocation
-
-Bugs and Problems
-=================
-
- The `gpm' server may have problems interacting with X: if your mouse
-is a single-open device (i.e. a bus mouse), you should kill `gpm'
-before starting X, or use the `-R' option (see above). To kill `gpm'
-just invoke `gpm -k'. This problem doesn't apply to serial mice.
-
- Two instances of gpm can't run on the same system. If you have two
-mice use the `-M' option (see above).
-
- While the current console is in graphic mode, `gpm' sleeps until
-text mode is back (unless `-R' is used). Thus, it won't reply to
-clients. Anyways, it is unlikely that mouse-eager clients will spur out
-in hidden consoles.
-
- The clients shipped out with gpm are not updated, thus there are
-potential security risks when using them.
-
-
-File: gpm.info, Node: Mouse Types, Prev: Bugs and Problems, Up: Server Invocation
-
-Mouse Types
-===========
-
- This section of the gpm documentation manual describes the various
-pointer types currently available in gpm. If you look at the source
-code, you'll find that pointer-specific code is confined to `mice.c'
-(while it used to only include mouse decoders, gpm now supports tablets
-and touchscreens as well).
-
- The mouse type is specified on command line with the `-t' option.
-The option takes an argument, which represents the name of a mouse
-type. Each type can be associated to different names. For old mouse
-types, one name is the old selection-compatible name, and another is
-the XFree name. After version 1.18.1 of gpm, the number of synonyms was
-made arbitrary and the actual name being used is made available to the
-function responsible for mouse initialization. Therefore it is possible
-for a mouse decoder to behave slightly differently according to the
-name being used for the device (if this feature was already present, we
-wouldn't have for example ms+ and ms+lr as different mouse types).
-
- The initialization procedure of each mouse type can also receive
-extra option, by means of the -o command line option. Since
-interpretation of the option string is decoder-specific, the allowed
-options are described in association to each mouse type. When no
-description of option strings is provided, that means the option string
-is unused for that mouse type and specifying one generates an error.
-When the document refer to "standard serial options" it means that one
-of -o dtr, -o rts, -o both can be specified to toggle the control lines
-of the serial port.
-
- The following mouse type are corrently recognized:
-
-`bare Microsoft'
- The Microsoft protocol, without any extension. It only reports two
- buttons. If your device has three, you should either try running
- the mman decoder or msc. In the latter case, you need to tell the
- mouse to talk msc protocol by toggling the DTR and RTS lines (with
- one of -o drt, -o rts or -o both) or invoking `gpm -t msc' while
- keeping the middle button pressed. Very annoying, indeed. This
- mouse decoder accepts standard serial options, although they
- should not be needed.
-
-`ms'
- This is the original Microsoft protocol, with a middle-button
- extension. Some old two-button devices send some spurious packets
- which can be misunderstood as middle-button events. If this is
- your case, use the `bare' mouse type. Some new two-button devices
- are "plug and play", and they don't play fair at all; in this case
- try -t pnp. Many (most) three-button devices that use the
- microsoft protocol fail to report some middle-button events during
- mouse motion. Since the protocol does not distinguish between the
- middle button going up and the middle button going down it would
- be liable to get out of step, so this decoder declares the middle
- button to be up whenever the mouse moves. This prevents dragging
- with the middle button, so you should probably use `-t ms+lr'
- instead of this decoder, especially if you want to use X. This
- mouse decoder accepts standard serial options, although they
- should not be needed.
-
-`ms+'
- This is the same as `-t ms' except that the middle button is not
- reset during mouse motion. So you can drag with the middle button.
- However, if your mouse exhibits the usual buggy behaviour the
- decoder is likely to get out of step with reality, thinking the
- middle button is up when it's down and vice versa. You should
- probably use `-t ms+lr' instead of this decoder. This mouse
- decoder accepts standard serial options, although they should not
- be needed.
-
-`ms+lr'
- This is the same as `-t ms+' except that there is an additional
- facility to reset the state of the middle button by pressing the
- other two buttons together. Do this when the decoder gets into a
- confused state where it thinks the middle button is up when it's
- down and vice versa. (If you get sick of having to do this, please
- don't blame gpm; blame your buggy mouse! Note that most
- three-button mice that do the microsoft protocol can be made to do
- the MouseSystems protocol instead. The "3 Button Serial Mouse
- mini-HOWTO" has information about this.) This mouse decoder
- accepts standard serial options, although they should not be
- needed.
-
-`msc MouseSystems'
- This is the standard protocol for three-button serial devices.
- Some of such devices only enter MouseSystem mode if the RTS, DTR
- or both lines are pushed low. Thus, you may try -t msc associated
- with -o rts, -o dtr or -o both.
-
-`mman Mouseman'
- The protocol used by the new Logitech devices with three buttons.
- It is backward compatible with the Microsoft protocol, so if your
- mouse has three buttons and works with -t ms or similar decoders
- you may try -t mman instead to use the middle button. This mouse
- decoder accepts standard serial options, although they should not
- be needed.
-
-`sun'
- The protocol used on Sparc computers and a few others. This mouse
- decoder accepts standard serial options, although they should not
- be needed.
-
-`mm MMSeries'
- Title says it all. This mouse decoder accepts standard serial
- options, although they should not be needed.
-
-`logi Logitech'
- This is the protocol used by old serial Logitech mice.
-
-`bm BusMouse'
- Some bus devices use this protocol, including those produced by
- Logitech.
-
-`ps2 PS/2'
- The protocol used by most busmice.
-
-`ncr'
- This `type' is able to decode the pointing pen found on some
- laptops (the NCR 3125 pen)
-
-`wacom'
- The protocol used by the Wacom tablet. Since version 1.18.1 we
- have a new Wacom decoder, as the old one was not working with new
- tablets. This decoder was tested with Ultrapad, PenPartner, and
- Graphire tablets. Options: -o relative (default) for relative
- mode, -o absolute for absolute mode.
-
-`genitizer'
- The \"Genitizer\" tablet, in relative mode. This mouse decoder
- accepts standard serial options, although they should not be
- needed.
-
-`logim'
- Used to turn Logitech mice into Mouse-Systems-Compatible.
- Obviously, it only works with some of the Logitech mice.
-
-`pnp'
- This decoder works with the new mice produces by our friend Bill,
- and maybe with the old ones as well. The Pnp protocol is hardwired
- at 1200 baud and is upset by normal initialization, so this is a
- -t bare decoder with no initialization at all. This mouse decoder
- accepts standard serial options, although they should not be
- needed.
-
-`ms3'
- A decoder for the new serial IntelliMouse devices, the ones with
- three buttons and a protocol incompatible with older ones. The
- wheel is currently unused.
-
-`imps2'
- "IntelliMouse" on the ps/2 port. This type can also be used for a
- generic 2-button ps/2 mouse too, since it will auto-detect the
- type.
-
-`netmouse'
- Decodes the "Genius NetMouse" type of devices on the ps/2 port.
- For serial "Netmouse" devices, use the "ms3" decoder.
-
-`cal'
- A decoder of the "Calcomp UltraSlate device.
-
-`calr'
- Same as above, but in relative mode.
-
-`twid'
- Support for the twiddler keyboard. As of gpm-1.14 this decoder
- includes a char generator for the text console, but doesn't yet
- support X keycodes. If used with `-R', `gpm' will anyway repeat
- mouse events to the X server. More information about twiddler
- support can be found in `README.twiddler', in the gpm distribution.
-
-`syn synaptics'
- A decoder for the Synaptics TouchPad connected to the serial port.
- This mouse decoder accepts standard serial options, although they
- should not be needed.
-
-`synps2 synaptics_ps2'
- Same as above, but for the devices attached to the ps2 port.
-
-`brw'
- A decoder for the Fellowes Browser, a device with 4 buttons and a
- wheel. This mouse decoder accepts standard serial options,
- although they should not be needed.
-
-`js Joystick'
- This mouse type uses the joystick device to generate mouse events.
- It is only available if the header `linux/joystick.h' is found at
- compile time. The header (and the device as well) has been
- introduced only during 2.1 development, and is not present in
- version 2.0 of the kernel.
-
-`summa'
- This is a decode for the Symmagraphics of Genius tablet, run in
- absolute mode. A repeater is associated to this decoder, so it can
- -R summa can be used to generate X events even for other
- absolute-pointing devices, like touchscreens. To use the repeated
- data from X, you need a modified xf86Summa.o module.
-
-`mtouch'
- A decoder for the MicroTouch touch screen. Please refer to the
- file `README.microtouch' in the source tree of gpm for further
- information. In the near future, anyways, I plan to fold back to
- this documentation the content of that file.
-
-`gunze'
- A decoder for the gunze touch screen. Please refer to the file
- `README.gunze' in the source tree of gpm for further information.
- In the near future, anyways, I plan to fold back to this
- documentation the content of that file. The decoder accepts the
- following options: smooth=, debounce=. An higher smoothness
- results in slower motion as well; a smaller smoothness gives
- faster motion but, obviously, less smooth. The default smoothness
- is 9. The debounce time is express in milliseconds and is the
- minimum duration of an up-down event to be taken as a tap. Smaller
- bounces are ignored.
-
-`acecad'
- The Acecad tablet in absolute mode.
-
-`wp wizardpad'
- Genius WizardPad tablet
-
-
-File: gpm.info, Node: Gpm Internals, Next: The ClientLib, Prev: Server Invocation, Up: Top
-
-Gpm Internals
-*************
-
- The server is organized as a main loop built around a `select()'
-system call. It responds both to mouse events and to input from the
-clients, which are connected to the server through a unix domain
-socket. The connection is used to tell the server what a client is
-interested in, and to get mouse events.
-
- When no clients are connected to the active console, the server runs
-the selection mechanism (cut and paste of text). The selection
-mechanism is a simple and well-designed application, whose behaviour
-can be cloned by clients, by telling the server to inherit the default
-response for certain mouse events (motion being the most interesting).
-
-* Menu:
-
-* Events::
-* Margins::
-* Event Types::
-* Connection Details::
-* Default Handlers::
-
-
-File: gpm.info, Node: Events, Next: Margins, Prev: Gpm Internals, Up: Gpm Internals
-
-Events
-======
-
- Whenever the mouse generates an event, the event is dispatched to the
-active client for the current console, or to the default handler, if
-present. Otherwise selection is run. A default handler is a client
-process which gets mouse events form all the virtual consoles. *Note
-Default Handlers::.
-
- When a client is involved, it is handled a `Gpm_Event' structure,
-built by the server. The fields for `Gpm_Event' are the following:
-
-`unsigned char buttons;'
- An or-mask of the values `GPM_B_LEFT', `GPM_B_MIDDLE' and
- `GPM_B_RIGHT'. It corresponds to the state of the mouse buttons
- when the event is reported. The current implementation of gpm
- allows at most three buttons.
-
-`unsigned char modifiers;'
- The value of the kernel variable `shift_state', as of
- `keyboard.c', when the event is reported. It is a bitmask value,
- and corresponds to the least significant byte of the value used by
- the `loadkeys' program. Use of symbolic names in source code is
- available after inclusion of `linux/keyboard.h', as exemplified in
- `mev.c'.
-
-`unsigned short vc;'
- The number of the active virtual console when the event is
- reported. The client is not expected to use this value, which
- corresponds to the controlling terminal of the client process,
- unless it gets events form multiple consoles. *Note Default
- Handlers::.
-
-`short x, y;'
- The position of the mouse pointer where the event is reported. It
- is 1-based by default, to be compatible with `selection' and
- `libcurses'. This behavior can be overriden, though, by setting
- the library variable `gpm_zerobased'. *Note Variables::.
-
-`short dx, dy;'
- The change in position since the last reported event.
-
-`enum Gpm_Etype type;'
- A bit-mask, representing the type of reported event, as described
- later. *Note Event Types::.
-
-`int clicks;'
- A counter, which is valid at button-down, drag or button-up. It
- can be 0, 1 or 2 to mean single, double or triple click.
-
-`enum Gpm_Margin margin;'
- A bit-mask, telling if the pointer has gone out of the visible
- screen. The indivudual bits are named `GPM_TOP', `GPM_BOT',
- `GPM_LFT', `GPM_RGT'. Only one of them is active at a time, to
- allow using `switch' on the value. Vertical outrun takes
- precedence on horizontal outrun. *Note Margins::.
-
-
-File: gpm.info, Node: Margins, Next: Event Types, Prev: Events, Up: Gpm Internals
-
-How margins are managed
-=======================
-
- Motion and button-press events are constrained to remain within the
-visible screen. This means that the `x' will be within 1 and 80 and `y'
-will be within 1 and 25 when the console is 80x25 cells. However, a
-client can keep track of movements outside the screen, by using the
-`dx' and `dy' fields, which aren't subject to clipping.
-
- The server helps applications in detecting margin conditions by
-filling the `margin' field. Whenever the pointer tries to cross screen
-boundaries, it is forced to remain on the border, but a flag is set in
-`margin'.
-
- A different policy is in force for drag and button-release events.
-In this case the pointer is allowed to go outside the physical screen
-by exactly one position. This allows, for example, selecting to end of
-line by dragging down-left. The peculiar situation is nonetheless
-signaled through the `margin' flags. The client should be careful to
-fit the values within the screen if needed. *Note Utility Functions::.
-
-
-File: gpm.info, Node: Event Types, Next: Connection Details, Prev: Margins, Up: Gpm Internals
-
-Event Types
-===========
-
- The `type' field in `Gpm_Event' is made up of bit-wide flags. The
-existing bit masks belong to two groups: bare events and cooked events.
-The bit-mask `GPM_BARE_EVENTS' is provided to extract bare events, by
-and-ing (`&') it with the `type' field. For any event, exactly one bit
-will be set in the resulting bitmask.
-
- Bare events are the following:
-
-`GPM_MOVE'
- A motion event, with all buttons up.
-
-`GPM_DRAG'
- A motion event, but one or more buttons are kept pressed.
-
-`GPM_DOWN'
- A button press event. The `buttons' field will report which
- buttons are pressed after the event.
-
-`GPM_UP'
- A button release event. The `buttons' field will report which
- buttons are being released. Note that this is different from the
- previous case.
-
-`GPM_ENTER'
- This means "enter in the current Region of Interest", and such
- event can only happen if the high-level library is used. When the
- type is `GPM_ENTER', all the other fields are undefined. *Note
- High Level Lib::.
-
-`GPM_LEAVE'
- This is only delivered by the high level library, too. Events of
- type `GPM_LEAVE' have all other fields undefined.
-
- Cooked events are the following:
-
-`GPM_SINGLE'
- This bit may be set at button-press, drag and button release
- events, and can be used to identify a single press. The time
- interval used to choose a double click from two single clicks is
- set by a parameter in the daemon (configurable at daemon
- invocation).
-
-`GPM_DOUBLE'
- Used to identify a double click (press, drag, release)
-
-`GPM_TRIPLE'
- Used to identify a triple click (press, drag, release)
-
-`GPM_MFLAG'
- The "motion flag" is true if some dragging happened between
- button-press and button-release. It can be used by those
- applications which respond to events at button release. It is
- available at drag and release.
-
-
-File: gpm.info, Node: Connection Details, Next: Default Handlers, Prev: Event Types, Up: Gpm Internals
-
-Connection Details
-==================
-
- Each virtual console has a stack of clients attached to it. They
-talk to gpm by writing to a control socket and get mouse events by
-reading it. All the clients in the stack can receive events. Gpm-1.10
-and earlier only sent events to the top client, but sometimes users
-play with multiple programs using suspend-resume (thanks Ian).
-
- In addition to the per-console stacks, another stack is there to
-store default-handling clients. *Note Default Handlers::.
-
- Each client registers with the server and tells which events it is
-interested in. Events not managed by the client can be handled by the
-selection mechanism, which is compiled in the server itself. This
-approach simplifies writing clients which respond only to button
-press/release events, because highlighting the mouse pointer can be
-performed by the server. A default handler in turn can respond only to
-mouse events associated with modifier keys, so that selection is used
-for any mouse-only event.
-
- Clients are required to fill a `Gpm_Connect' structure and pass it
-to the server. The structure is made up by four `unsigned int' fields.
-*Note Open and Close::.
-
-`eventMask'
- A bitmask of the events the client wants to receive. Both bare and
- cooked events are allowed to appear in the mask.
-
-`defaultMask'
- A mask to tell which events allow a default treatment (the
- selection one). These are mouse events, independent of the
- modifier keys.
-
-`minMod'
- The minimum amount of modifiers required by the client. This field
- is used for default-handlers which manage control-mouse events
- without interfering with mouse-only ones. *Note Default
- Handlers::.
-
-`maxMod'
- The maximum amount of modifiers the client is willing to receive.
- Events featuring a modifier key not included in `maxMod' won't be
- passed to the client.
-
-Two more fields are there to tell about the connection itself, and
-you're not asked to fill them, because `Gpm_Open' will do it for you.
-
-`int pid'
- The process id of the connecting application.
-
-`int vc'
- Which virtual console to gain control of.
-
- Keyboard modifiers are used to multiplex clients on the same virtual
-console. You (as a programmer) don't need to care about the internal
-workings. They are detailed in *Note Default Handlers::, but you only
-need to choose the right values for your application.
-
- Examples:
-`minMod=0; maxMod=0;'
- specifies a client which senses mouse-only events, but neither
- shift-mouse nor alt-mouse nor control-mouse.
-
-`minMod=0; maxMod=~0;'
- is a client which gets any mouse event.
-
-`minMod=1< /tmp/du"
- }
-
- button 3 {
- name "jump"
-
- foreground black
- background red
- border bright yellow
- head bright yellow
-
- "tty1" f.jptty "1"
- "tty2" f.jptty "2"
- "tty3" f.jptty "3"
- "tty4" f.jptty "4"
- "tty5" f.jptty "5"
- "tty6" f.jptty "6"
- "" f.nop
- "more of them..." {
- "tty 17" f.jptty "17"
- }
- }
-
- The syntax for the file won't be described here, being it quite
-apparent from the example above. Blanks and newlines are unused in
-parsing the file, and the layout of the file is free. Comments are
-allowed in the file: any hash mark (`#') found at the beginning of the
-line or after white space makes the parser discard anything up to the
-next line. To insert quotes (`"') in strings precede them with a
-backslash.
-
- Note that recursive menus are allowed, to any level of recursion.
-
- Keywords belong to three groups: the button keyword, the cfg
-keywords and the action keywords. They are all described in the table
-below:
-
-`button NUMBER MENU'
- The `button' keyword is used to introduce a menu. It is followed
- by the number of the relevant button (1=left, 2=middle, 3=right),
- an open brace, a menu and a closed brace. A menu is made up of
- cfg statements, followed by action statements. Cfg statements can
- come in any order, while the order of action statements tells the
- actual order in which actions will appear on the screen, top to
- bottom.
-
- The following statements belong to the cfg set.
-
-`name STRING'
- If the `name' keyword is present, the specified STRING will be
- used as the name for the current menu.
-
-`background COLOR'
- This statements is used to specify the background color to be used
- in the current menu. The COLOR can be specified with one of the
- eight canonical strings `black', `red', `cyan' etc. The background
- defaults to black.
-
-`foreground COLOR'
- This statements is used to specify the foreground color for menu
- items. Its value defaults to `white'. An optional `bright'
- keyword can appear before the actual color.
-
-`border COLOR'
- `border' is used to specify the border color for the menu. Its
- value defaults to `white'. An optional `bright' keyword can
- appear before the actual color.
-
-`head COLOR'
- `head' is used to specify the foreground color for the title of
- the menu. Its value defaults to `white'. An optional `bright'
- keyword can appear before the actual color.
-
- The following statements belong to the action set.
-
-`STRING f.fgcmd CMDSTRING'
- When the mouse button is released above the corresponding menu
- item, the CMDSTRING is pasted in the keyboard queue of the current
- console. This is not yet implemented.
-
-`STRING f.bgcmd CMDSTRING'
- When the mouse button is released above the corresponding menu
- item, a shell (`/bin/sh') is forked to execute the specified
- command, with `stdin' connected to `/dev/null', and `stdout',
- `stderr' connected to the active console.
-
-`STRING f.jptty TTYNUMBER'
- When the mouse button is released above the corresponding menu
- item, the console is switched to the one specified. The TTYNUMBER
- must be specified as a string. Any tty can be reached this way,
- even those which are not accessible via the keyboard.
-
-`STRING f.mktty TTYNUMBER'
- When the mouse button is released above the corresponding menu
- item, an unused console is selected, and `/sbin/mingetty' is
- executed in it. The current console is switched to the newly
- opened console. I use this command to save kernel memory by
- opening a single console through `/etc/inittab' and requesting the
- others only when i need to login.
-
-`STRING WHOLE-MENU'
- A menu can directly follow the label string. When the mouse
- pointer leaves the menu frame at the level of STRING, a second
- menu is posted on screen.
-
-`STRING f.lock'
- When the mouse button is released above the corresponding menu
- item, the keyboard and the screen are locked, and only the locking
- user or the superuser can unlock them. This is not yet implemented.
-
-`STRING f.load'
- The current loadavg when the menu is posted is concatenated to
- STRING to build the actual message displayed on screen. Nothing
- happens at button release.
-
-`STRING f.free'
- The free memory and swap when the menu is posted is concatenated
- to STRING to build the actual message displayed on screen. Nothing
- happens at button release.
-
-`STRING f.time'
- The current time is formatted with strftime(3), according to
- STRING. The resulting string is the actual message displayed on
- screen. Nothing happens at button release.
-
-`STRING f.pipe CMDLINE'
- When the mouse pointer leaves the menu frame at the level of
- STRING, a message box is posted on screen showing the last ten
- lines of the output of CMDLINE. CMDLINE is executed by `/bin/sh'.
- This is not yet implemented.
-
-`STRING f.nop'
- This does nothing, it only displays STRING on the menu.
-
- The `HOME', `LOGNAME' and `USER' environment variables are setup to
-the values for the invoking user before spawning an external process
-(`f.bgcmd', `f.pipe'). The current directory is always `/'.
-
- Known bugs have been fixed. In particular, if you invoke `gpm-root'
-right after `gpm', it will delay a few seconds before trying to connect
-to the daemon.
-
-
-File: gpm.info, Node: hltest, Next: mouse-test, Prev: gpm-root, Up: Demo Clients
-
-`hltest'
-========
-
- High-level test is a simple sample application using the high-level
-library. It implements something like a window manager for text windows,
-though it is small and unuseful.
-
- The application is meant to be read by programmers trying to use the
-high-level library. It is equipped with event reporting to help in
-understanding the internal workings.
-
-
-File: gpm.info, Node: mouse-test, Prev: hltest, Up: Demo Clients
-
-`mouse-test'
-============
-
- This experimental and incomplete application tries to help in
-detecting which protocol does your mouse speak. It is able to detect
-MouseMan devices, and to choose between `-t ms' (three-buttons aware)
-and `-t bare' old two-buttons-only serial mice.
-
- I know the application is buggy, but I only own one mouse device.
-If you are interested in this application, just call me and awake me
-from my laziness.
-
-
-File: gpm.info, Node: Type Index, Next: Function Index, Prev: Demo Clients, Up: Top
-
-Type Index
-**********
-
-* Menu:
-
-* Gpm_Connect: Connection Details.
-* Gpm_Event: Events.
-* Gpm_Handler: Handling Functions.
-* Gpm_roi: Concepts.
-
-
-File: gpm.info, Node: Function Index, Next: Variable Index, Prev: Type Index, Up: Top
-
-API Index
-*********
-
-* Menu:
-
-* Gpm_CharsQueued: Getting Events.
-* Gpm_Close: Open and Close.
-* GPM_DRAWPOINTER: Utility Functions.
-* Gpm_DrawPointer: Utility Functions.
-* Gpm_FitEvent: Utility Functions.
-* Gpm_FitValues: Utility Functions.
-* Gpm_FitValuesM: Utility Functions.
-* Gpm_Getc: Getting Events.
-* Gpm_Getch: Getting Events.
-* Gpm_Getchar: Getting Events.
-* Gpm_GetEvent: Getting Events.
-* Gpm_GetLibVersion: Extra Functions.
-* Gpm_GetServerVersion: Extra Functions.
-* Gpm_GetSnapshot: Extra Functions.
-* Gpm_HandleRoi: hl-Functions.
-* Gpm_LowerRoi: hl-Functions.
-* Gpm_Open: Open and Close.
-* Gpm_PopRoi: hl-Functions.
-* Gpm_PushRoi: hl-Functions.
-* Gpm_RaiseRoi: hl-Functions.
-* Gpm_Repeat: Utility Functions.
-* Gpm_UseRoi: hl-Functions.
-* Gpm_Wgetch: Getting Events.
-
-
-File: gpm.info, Node: Variable Index, Prev: Function Index, Up: Top
-
-Variable Index
-**************
-
-* Menu:
-
-* gpm_current_roi: hl-Variables.
-* gpm_data: Variables.
-* gpm_fd: Variables.
-* gpm_flag: Variables.
-* gpm_handler: Variables.
-* gpm_hflag: Variables.
-* gpm_morekeys: Variables.
-* gpm_mx: Variables.
-* gpm_my: Variables.
-* gpm_roi: hl-Variables.
-* gpm_roi_data: hl-Variables.
-* gpm_roi_handler: hl-Variables.
-* gpm_tried: Variables.
-* gpm_visiblepointer: Variables.
-* gpm_zerobased: Variables.
-
-
-
-Tag Table:
-Node: Top1283
-Node: Overview1516
-Node: Building the Release3290
-Node: Server Invocation3706
-Node: Special Commands4893
-Node: Command Line7301
-Node: Bugs and Problems14422
-Node: Mouse Types15288
-Node: Gpm Internals25124
-Node: Events26001
-Node: Margins28475
-Node: Event Types29588
-Node: Connection Details31594
-Node: Default Handlers35585
-Node: The ClientLib37153
-Node: Handling Functions37833
-Node: Low Level Library40692
-Node: Variables41180
-Node: Open and Close43253
-Node: Getting Events45212
-Node: Utility Functions47432
-Node: Extra Functions48997
-Node: High Level Lib51404
-Node: Concepts52347
-Node: hl-Variables53732
-Node: hl-Functions54383
-Node: Xterm56894
-Node: Demo Clients58007
-Node: mev58233
-Node: sample/rmev61440
-Node: Emacs Support61938
-Node: gpm-root64035
-Node: hltest72409
-Node: mouse-test72871
-Node: Type Index73379
-Node: Function Index73725
-Node: Variable Index75169
-
-End Tag Table
diff --git a/software/gpm/browse_source/gpm-1.20.2-broken/doc/infofilter b/software/gpm/browse_source/gpm-1.20.2-broken/doc/infofilter
deleted file mode 100644
index f8682cbf..00000000
--- a/software/gpm/browse_source/gpm-1.20.2-broken/doc/infofilter
+++ /dev/null
@@ -1,16 +0,0 @@
-#! /usr/bin/sed -f
-
-
-# allow "%" as a comment char
-s/^%/@c /
-s/[^\\]%.*$//
-s/\\%/%/
-
-#preserve blanks in @lisp blocks
-/@lisp/,/@end lisp/ p
-/@lisp/,/@end lisp/ d
-
-# remove leading blanks
-s/^[ ]*//
-
-#s/\\t/@code/g
diff --git a/software/gpm/browse_source/gpm-1.20.2-broken/doc/manpager b/software/gpm/browse_source/gpm-1.20.2-broken/doc/manpager
deleted file mode 100644
index 17c79661..00000000
--- a/software/gpm/browse_source/gpm-1.20.2-broken/doc/manpager
+++ /dev/null
@@ -1,121 +0,0 @@
-#! /usr/bin/awk -f
-# Copyright (c) 1998-2001 Alessandro Rubini
-
-BEGIN {IN=0}
-
-/^%MANPAGE END/ {IN=0; next}
-/^%MANPAGE/ {IN=1; USELP=NEEDLP=INTABLE=0; NAME=$2; next}
-IN==0 {next}
-
-/^%MSKIP/ {SKIP=1;next}
-/^%M/ {SKIP=0}
-
-/^@menu/ {SKIP=1;next}
-/^@end menu/ {SKIP=0;next}
-
-SKIP==1 {next}
-/^%M$/ {next}
-/^@ignore/ {next}
-/^@end ign/ {next}
-
-#now perform all the substitutions needed
-
- { gsub("^%M ?",""); }
-
-# Use gensub for converting tags: itz Sep 30 1998
-#
-# However, the gensub function is gawk-specific, and we want things
-# to work with original-awk too (for portability).
-# Therefore, use a normal gsub, even though it's a subobptimal solution
-# as it may step in extra braces. The good solution will be piping to sed,
-# or match, extract subesxpression, replace, reinsert -- bleah...
-# (ARub, Oct 10 2000)
-/@b\{/ {
- #$0 = gensub(/@b\{([^}]+)\}/, "\\\\fB\\1\\\\fP","g");
- gsub(/@b\{/,"\\fB");
- gsub(/\}/,"\\fP");
-}
-
-/@var\{/ {
- #$0 = gensub(/@var\{([^}]+)\}/, "\\\\fI\\1\\\\fP","g");
- gsub(/@var\{/,"\\fB");
- gsub(/\}/,"\\fP");
-}
-
-/@(samp|code|file)\{/ {
- #$0 = gensub(/@(samp|code|file)\{([^}]+)\}/, "`\\2'","g");
- gsub(/@(samp|code|file)\{/,"");
- gsub(/\}/,"");
-}
-
-
-/@xref\{.*\}\./ {
- gsub(/@xref\{.*\}\./,"");
-}
-
-/@ref\{.*\}/ {
- gsub(/@ref\{/,"");
- gsub(/\}/,"");
-}
-
-/@\*/ {
- gsub(/@\* */,"\n.br\n");
-}
-
-/@[a-z]+\{/ {
- gsub("@[a-z]+\\{","");
- gsub("}","");
- }
-
-/^@table/ { TABLE=1; }
-/^@itemize/ { TABLE=1; next}
-
-/^@item/ {
- gsub("^@item *","");
- printf ".TP\n%s\n",$0 > NAME;
- NEEDLP=0; next;
- }
-
-/^@end table/ {TABLE=0}
-/^@end itemize/ {TABLE=0}
-
-# discard other texinfo commands
-
-/^@/ {next}
-
-# manage comments and '%'
-
-/^%/ {next}
-
-
- {
- gsub(/[^\\]%.*$/,"");
- gsub(/\%/,"%");
- }
-
-
-# remove leading blanks
-
-/^[ \t]/ {gsub(/^[ \t]/,"");}
-
-# put a .LP at blank lines
-
-/^.nf/ {USELP=0}
-/^.fi/ {USELP=1}
-
-/^$/ {if (USELP) {NEEDLP++; next;} }
-
-
-/./ { if (NEEDLP) { printf "\n.LP\n" > NAME; NEEDLP=0; } }
-
-/^.TH/ {USELP=1}
-
-# Escape single slashes (e.g. in documentation for `-l' command line option)
-
- {gsub(/\\ /, "\\\\ ");}
-
- {gsub(/~/, "~~");}
-
- {print > NAME}
-
-
diff --git a/software/gpm/browse_source/gpm-1.20.2-broken/doc/mktxt b/software/gpm/browse_source/gpm-1.20.2-broken/doc/mktxt
deleted file mode 100644
index 8193e387..00000000
--- a/software/gpm/browse_source/gpm-1.20.2-broken/doc/mktxt
+++ /dev/null
@@ -1,38 +0,0 @@
-#! /usr/bin/awk -f
-
-# This shouldn't contain any gawk specific features anymore
-
-# Program to create ascii from info;
-# Missing: table of contents
-
-# skip
-
-BEGIN {NODELINE=0; NODE=0; KEEP=1; printf "\n\n"}
-
-
-/^\037$/ { NODELINE=1; NODE=NODE+1; KEEP=1; next}
-
-NODE==1 { next }
-
-NODELINE==1 {
- NODELINE=2;
- sub("^.*Node: ","*Node: ");
- sub(",.*$","");
- printf "\n\n\n%s",$0;
-#print
- next;
- }
-
-NODELINE { NODELINE=NODELINE+1 }
-
-NODELINE==4 { printf "\t\t\t\t"; }
-NODELINE==5 { printf "\t\t\t\t"; NODELINE=0}
-
-
-/^\*\ Menu:$/ { KEEP=0 }
-
-
-
-KEEP==0 { next }
-
-{ print }
diff --git a/software/gpm/browse_source/gpm-1.20.2-broken/doc/support/README b/software/gpm/browse_source/gpm-1.20.2-broken/doc/support/README
deleted file mode 100644
index 376776c2..00000000
--- a/software/gpm/browse_source/gpm-1.20.2-broken/doc/support/README
+++ /dev/null
@@ -1,4 +0,0 @@
-This directory contains emails from/to companies, which were asked, if they
-wanted to help support gpm.
-This also includes the XFree project, perhaps sometime we can share mouse
-support...
diff --git a/software/gpm/browse_source/gpm-1.20.2-broken/doc/support/logitech_1 b/software/gpm/browse_source/gpm-1.20.2-broken/doc/support/logitech_1
deleted file mode 100644
index 3c6a00ad..00000000
--- a/software/gpm/browse_source/gpm-1.20.2-broken/doc/support/logitech_1
+++ /dev/null
@@ -1,46 +0,0 @@
-Thank you for using Logitech's Electronic Technical Support. My name is Jesse. The following information addresses your original question. You may wish to print this out and/or save this on your computer.
-
-The information you are requesting is proprietary and not publicly available. Please visit our web site for all public information on our products. http://www.logitech.com/cf/index.cfm
-Logitech does not currently support Linux.
-
-If you have additional technical questions regarding your product, please visit our web site at www.logitech.com and submit your question.
-
-Thank you for your interest in Logitech.
-
-
-Regards,
-Jesse
-Logitech Customer Support
-
---- Original Message ---
-From: Nico Schottelius
-Received: 03/05/2002 11:42am Eastern Standard Time
-To: eShare - Logitech Customer Support
-Subject: mouse support
-
-Hello!
-
-I am the Linux gpm mouse maintainer and I would like to include
-some more mouses from logitech into the support.
-Gpm is the primary Linux mouse driver. For more information about
-gpm visit freshmeat.net and search gpm.
-
-I only need some protocol specifications and possibly other informations
-from you.
-
-Do you think we can corporate ?
-
-Thanks for you answer,
-
-Nico Schottelius
-
---
-Nico Schottelius
-
-Please send your messages pgp-signed or pgp-encrypted.
-If you don't know what pgp is visit www.gnupg.org.
-(public pgp key: ftp.schottelius.org/pub/familiy/nico/pgp-key)
-
------- Please do not remove your unique tracking number! ------
-<<#140786-104335#>>
-
diff --git a/software/gpm/browse_source/gpm-1.20.2-broken/doc/support/logitech_2 b/software/gpm/browse_source/gpm-1.20.2-broken/doc/support/logitech_2
deleted file mode 100644
index dd23c040..00000000
--- a/software/gpm/browse_source/gpm-1.20.2-broken/doc/support/logitech_2
+++ /dev/null
@@ -1,72 +0,0 @@
-Thank you for using Logitech's Electronic Technical Support. My name is Peggy. The following information addresses your original question. You may wish to print this out and/or save this on your computer.
-
-Following is all the information I was able to find on Linux and Logitech mice. I hope it will help you some.
-
-At this time, LINUX is not a supported operating system for Logitech pointing devices. Do not use the software which comes with the Logitech mouse.
-Linux has Logitech drivers built in. Run either Linuxconf (for shell use) or XF86Config and tell it you're using a Logitech mouse. There are specific entries for serial, bus, and PS2 mice. Currently, the kernel does not support USB mice.
-As a demand for this operating system increases, Logitech will consider implementing support for it in the future. Please visit our web site periodically for information on product announcements and releases.
-Configuring 3 button support in Linux (X-Free):
-In LINUX, you normally have only 2 button support, but it is possible to emulate a third button by pressing the left and the right button together (chording). This is a very uncomfortable solution. So, if a customer is asking for a nice solution, tell him following:
-Edit the file: /usr/lib/X11/Xconfig
-and try the following:
-MouseMan "/dev/mouse"
-Emulate3buttons
-and then you have 3-button-support in LINUX
-Configuring 3 button support in Linux ver.1.1.59:
-The following information was entered in the configuration file for X11R6 found in the directory: /USR/X11R6/LIB/X11
-In this directory the user will find a config file called: XF86CONFIG
-They need to change, or make sure the information in the "POINTER" section reads as follows:
-Section "Pointer"
-Protocol "MouseMan"
-Device "/DEV/MOUSE"
-EndSection
-PROTOCOL specifies the mouse protocol that your mouse uses (not the make or brand of mouse). Valid types for PROTOCOL are:
-BusMouse, Logitech, Microsoft, MMSeries, MouseMan, MouseSystems, PS/2 & MMHitTab
-DEVICE specifies the device file where the mouse can be accessed. On most Linux systems, this is /DEV/MOUSE. /DEV/MOUSE is usually a link to the appropriate serial port (such as /DEV/CUA0) for serial mice, or the appropriate BusMouse device for BusMice. Just be sure the device file listed in DEVICE exists.
-BaudRate and SampleRate are only for some Logitech mice. An example of these, which would be added under DEVICE line are:
-BaudRate 9600
-SampleRate 150
-
-
-If you have additional technical questions regarding your product, please visit our web site at www.logitech.com and submit your question.
-
-Thank you for your interest in Logitech.
-
-
-Regards,
-Peggy
-Logitech Customer Support
-
---- Original Message ---
-From: Nico Schottelius
-Received: 03/11/2002 03:59am Eastern Standard Time
-To: eShare - Logitech Customer Support
-Subject: Re: mouse support
-
-Hello Jesse!
-
-> The information you are requesting is proprietary and not publicly
-available. Please visit our web site for all public information on our
-products. http://www.logitech.com/cf/index.cfm
-> Logitech does not currently support Linux.
-
-It would be nice for many logitech users to get mouse devices from
-logitech to work under Linux.
-
-When you start sharing information or supporting Linux, please drop me
-a line, so I can include the support into gpm and possibly later into X.
-
-Just one more question, why don't you release those information ?
-What's the problem when the information are public available ?
-
-Thanks in advance,
-
-Nico Schottelius
-
-Please send your messages pgp-signed or pgp-encrypted.
-If you don't know what pgp is visit www.gnupg.org.
-(public pgp key: ftp.schottelius.org/pub/familiy/nico/pgp-key)
-
------- Please do not remove your unique tracking number! ------
-<<#140786-104335#>>
-
diff --git a/software/gpm/browse_source/gpm-1.20.2-broken/doc/support/logitech_3 b/software/gpm/browse_source/gpm-1.20.2-broken/doc/support/logitech_3
deleted file mode 100644
index b07d5a02..00000000
--- a/software/gpm/browse_source/gpm-1.20.2-broken/doc/support/logitech_3
+++ /dev/null
@@ -1,40 +0,0 @@
-Thank you for using Logitech's Electronic Technical Support. My name is Donald. The following information addresses your original question. You may wish to print this out and/or save this on your computer.
-
-We do not know when or if ever Logitech will support Linux.
-
-If you have additional technical questions regarding your product, please visit our web site at www.logitech.com and submit your question.
-
-Thank you for your interest in Logitech.
-
-
-Regards,
-Donald
-Logitech Customer Support
-
---- Original Message ---
-From: Nico Schottelius
-Received: 03/21/2002 12:11pm Eastern Standard Time
-To: eShare - Logitech Customer Support
-Subject: Re: mouse support
-
-
-thanks for the information. but I am the gpm maintainer and I know all
-that stuff.
-
-It would just be nice, if you tell me when logitech starts to support
-linux,
-so we can work together!
-
-Greetings,
-Nico Schottelius
-
---
-Nico Schottelius
-
-Please send your messages pgp-signed or pgp-encrypted.
-If you don't know what pgp is visit www.gnupg.org.
-(public pgp key: ftp.schottelius.org/pub/familiy/nico/pgp-key)
-
------- Please do not remove your unique tracking number! ------
-<<#140786-104335#>>
-
diff --git a/software/gpm/browse_source/gpm-1.20.2-broken/doc/support/mouse-maintainer-XFree b/software/gpm/browse_source/gpm-1.20.2-broken/doc/support/mouse-maintainer-XFree
deleted file mode 100644
index fc0a512e..00000000
--- a/software/gpm/browse_source/gpm-1.20.2-broken/doc/support/mouse-maintainer-XFree
+++ /dev/null
@@ -1,24 +0,0 @@
-On Sun, Feb 17, 2002 at 10:46:48PM +0100, Nico Schottelius wrote:
->Hello David!
->
->As I am the current maintainer of gpm I found out that partly X can handle
->mouse protocols better and partly gpm. Why should we not join our work ?
-
-That sounds like a good idea.
-
->For example the X I use cannot init ps2 correclty, if synps2 was taken before.
->gpm can (1.20.0 and later).
->Who is the mouse maintainer in X, who may I contact ?
-
-The maintainer was Kazutaka Yokota ,
-although I haven't heard from him ina while.
-
-I'm also interested in the mouse driver, so if you can't get in contact
-with him, let me know.
-
-David
---
-David Dawes
-Release Engineer/Architect The XFree86 Project
-www.XFree86.org/~dawes
-
diff --git a/software/gpm/browse_source/gpm-1.20.2-broken/doc/support/mouse-maintainer-XFree.status b/software/gpm/browse_source/gpm-1.20.2-broken/doc/support/mouse-maintainer-XFree.status
deleted file mode 100644
index 9b7de197..00000000
--- a/software/gpm/browse_source/gpm-1.20.2-broken/doc/support/mouse-maintainer-XFree.status
+++ /dev/null
@@ -1 +0,0 @@
-Didn't get any answer from .
diff --git a/software/gpm/browse_source/gpm-1.20.2-broken/install-sh b/software/gpm/browse_source/gpm-1.20.2-broken/install-sh
deleted file mode 100644
index ab74c882..00000000
--- a/software/gpm/browse_source/gpm-1.20.2-broken/install-sh
+++ /dev/null
@@ -1,238 +0,0 @@
-#!/bin/sh
-#
-# install - install a program, script, or datafile
-# This comes from X11R5.
-#
-# Calling this script install-sh is preferred over install.sh, to prevent
-# `make' implicit rules from creating a file called install from it
-# when there is no Makefile.
-#
-# This script is compatible with the BSD install script, but was written
-# from scratch.
-#
-
-
-# set DOITPROG to echo to test this script
-
-# Don't use :- since 4.3BSD and earlier shells don't like it.
-doit="${DOITPROG-}"
-
-
-# put in absolute paths if you don't have them in your path; or use env. vars.
-
-mvprog="${MVPROG-mv}"
-cpprog="${CPPROG-cp}"
-chmodprog="${CHMODPROG-chmod}"
-chownprog="${CHOWNPROG-chown}"
-chgrpprog="${CHGRPPROG-chgrp}"
-stripprog="${STRIPPROG-strip}"
-rmprog="${RMPROG-rm}"
-mkdirprog="${MKDIRPROG-mkdir}"
-
-tranformbasename=""
-transform_arg=""
-instcmd="$mvprog"
-chmodcmd="$chmodprog 0755"
-chowncmd=""
-chgrpcmd=""
-stripcmd=""
-rmcmd="$rmprog -f"
-mvcmd="$mvprog"
-src=""
-dst=""
-dir_arg=""
-
-while [ x"$1" != x ]; do
- case $1 in
- -c) instcmd="$cpprog"
- shift
- continue;;
-
- -d) dir_arg=true
- shift
- continue;;
-
- -m) chmodcmd="$chmodprog $2"
- shift
- shift
- continue;;
-
- -o) chowncmd="$chownprog $2"
- shift
- shift
- continue;;
-
- -g) chgrpcmd="$chgrpprog $2"
- shift
- shift
- continue;;
-
- -s) stripcmd="$stripprog"
- shift
- continue;;
-
- -t=*) transformarg=`echo $1 | sed 's/-t=//'`
- shift
- continue;;
-
- -b=*) transformbasename=`echo $1 | sed 's/-b=//'`
- shift
- continue;;
-
- *) if [ x"$src" = x ]
- then
- src=$1
- else
- # this colon is to work around a 386BSD /bin/sh bug
- :
- dst=$1
- fi
- shift
- continue;;
- esac
-done
-
-if [ x"$src" = x ]
-then
- echo "install: no input file specified"
- exit 1
-else
- true
-fi
-
-if [ x"$dir_arg" != x ]; then
- dst=$src
- src=""
-
- if [ -d $dst ]; then
- instcmd=:
- else
- instcmd=mkdir
- fi
-else
-
-# Waiting for this to be detected by the "$instcmd $src $dsttmp" command
-# might cause directories to be created, which would be especially bad
-# if $src (and thus $dsttmp) contains '*'.
-
- if [ -f $src -o -d $src ]
- then
- true
- else
- echo "install: $src does not exist"
- exit 1
- fi
-
- if [ x"$dst" = x ]
- then
- echo "install: no destination specified"
- exit 1
- else
- true
- fi
-
-# If destination is a directory, append the input filename; if your system
-# does not like double slashes in filenames, you may need to add some logic
-
- if [ -d $dst ]
- then
- dst="$dst"/`basename $src`
- else
- true
- fi
-fi
-
-## this sed command emulates the dirname command
-dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
-
-# Make sure that the destination directory exists.
-# this part is taken from Noah Friedman's mkinstalldirs script
-
-# Skip lots of stat calls in the usual case.
-if [ ! -d "$dstdir" ]; then
-defaultIFS='
-'
-IFS="${IFS-${defaultIFS}}"
-
-oIFS="${IFS}"
-# Some sh's can't handle IFS=/ for some reason.
-IFS='%'
-set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'`
-IFS="${oIFS}"
-
-pathcomp=''
-
-while [ $# -ne 0 ] ; do
- pathcomp="${pathcomp}${1}"
- shift
-
- if [ ! -d "${pathcomp}" ] ;
- then
- $mkdirprog "${pathcomp}"
- else
- true
- fi
-
- pathcomp="${pathcomp}/"
-done
-fi
-
-if [ x"$dir_arg" != x ]
-then
- $doit $instcmd $dst &&
-
- if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi &&
- if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi &&
- if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi &&
- if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi
-else
-
-# If we're going to rename the final executable, determine the name now.
-
- if [ x"$transformarg" = x ]
- then
- dstfile=`basename $dst`
- else
- dstfile=`basename $dst $transformbasename |
- sed $transformarg`$transformbasename
- fi
-
-# don't allow the sed command to completely eliminate the filename
-
- if [ x"$dstfile" = x ]
- then
- dstfile=`basename $dst`
- else
- true
- fi
-
-# Make a temp file name in the proper directory.
-
- dsttmp=$dstdir/#inst.$$#
-
-# Move or copy the file name to the temp name
-
- $doit $instcmd $src $dsttmp &&
-
- trap "rm -f ${dsttmp}" 0 &&
-
-# and set any options; do chmod last to preserve setuid bits
-
-# If any of these fail, we abort the whole thing. If we want to
-# ignore errors from any of these, just make sure not to ignore
-# errors from the above "$doit $instcmd $src $dsttmp" command.
-
- if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi &&
- if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi &&
- if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi &&
- if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi &&
-
-# Now rename the file to the real destination.
-
- $doit $rmcmd -f $dstdir/$dstfile &&
- $doit $mvcmd $dsttmp $dstdir/$dstfile
-
-fi &&
-
-
-exit 0
diff --git a/software/gpm/browse_source/gpm-1.20.2-broken/m4/ITZ_CHECK_TYPE.m4 b/software/gpm/browse_source/gpm-1.20.2-broken/m4/ITZ_CHECK_TYPE.m4
deleted file mode 100644
index cfbe7350..00000000
--- a/software/gpm/browse_source/gpm-1.20.2-broken/m4/ITZ_CHECK_TYPE.m4
+++ /dev/null
@@ -1,9 +0,0 @@
-AC_DEFUN([ITZ_CHECK_TYPE],
-[AC_CACHE_CHECK([for $1],itz_cv_type_$1,
-AC_TRY_COMPILE([
-#include <$2>
-],[
-$1 dummy;
-return 0;
-],[itz_cv_type_$1=yes],[itz_cv_type_$1=no]))
-])
diff --git a/software/gpm/browse_source/gpm-1.20.2-broken/m4/ITZ_PATH_SITE_LISP.m4 b/software/gpm/browse_source/gpm-1.20.2-broken/m4/ITZ_PATH_SITE_LISP.m4
deleted file mode 100644
index 3737c437..00000000
--- a/software/gpm/browse_source/gpm-1.20.2-broken/m4/ITZ_PATH_SITE_LISP.m4
+++ /dev/null
@@ -1,9 +0,0 @@
-AC_DEFUN([ITZ_PATH_SITE_LISP],
-[AC_CACHE_CHECK([where to install Emacs Lisp files],itz_cv_path_site_lisp,
-[eval itz_cv_path_site_lisp=`${EMACS} -batch -l ${srcdir}/exec.el -exec "(mapcar 'print load-path)" 2>/dev/null |
-sed -e '/^$/d' | sed -n -e 2p`
-case x${itz_cv_path_site_lisp} in
-x*site-lisp*) ;;
-x*) itz_cv_path_site_lisp='${datadir}/emacs/site-lisp' ;;
-esac])
-])
diff --git a/software/gpm/browse_source/gpm-1.20.2-broken/m4/ITZ_SYS_ELF.m4 b/software/gpm/browse_source/gpm-1.20.2-broken/m4/ITZ_SYS_ELF.m4
deleted file mode 100644
index 860c4f88..00000000
--- a/software/gpm/browse_source/gpm-1.20.2-broken/m4/ITZ_SYS_ELF.m4
+++ /dev/null
@@ -1,17 +0,0 @@
-AC_DEFUN([ITZ_SYS_ELF],
-[AC_CACHE_CHECK([whether system is ELF],itz_cv_sys_elf,
-[AC_EGREP_CPP(win,
-[#ifdef __ELF__
-win
-#else
-lose
-#endif
-],[itz_cv_sys_elf=yes],[itz_cv_sys_elf=no])])
-if test ${itz_cv_sys_elf} = yes && test x${ac_cv_prog_gcc} = xyes ; then
- PICFLAGS="-DPIC -fPIC"
- SOLDFLAGS="-fPIC -shared -Wl,-soname,"
-else
- PICFLAGS=
- SOLDFLAGS=
-fi
-])
diff --git a/software/gpm/browse_source/gpm-1.20.2-broken/patches/done/applied/MS3-PATCH-ANDREW-rediffed.gz b/software/gpm/browse_source/gpm-1.20.2-broken/patches/done/applied/MS3-PATCH-ANDREW-rediffed.gz
deleted file mode 100644
index bf630ad0..00000000
Binary files a/software/gpm/browse_source/gpm-1.20.2-broken/patches/done/applied/MS3-PATCH-ANDREW-rediffed.gz and /dev/null differ
diff --git a/software/gpm/browse_source/gpm-1.20.2-broken/patches/done/applied/MS3-PATCH-ANDREW.gz b/software/gpm/browse_source/gpm-1.20.2-broken/patches/done/applied/MS3-PATCH-ANDREW.gz
deleted file mode 100644
index bf1a6d33..00000000
Binary files a/software/gpm/browse_source/gpm-1.20.2-broken/patches/done/applied/MS3-PATCH-ANDREW.gz and /dev/null differ
diff --git a/software/gpm/browse_source/gpm-1.20.2-broken/patches/done/applied/OPEN_MAX.gz b/software/gpm/browse_source/gpm-1.20.2-broken/patches/done/applied/OPEN_MAX.gz
deleted file mode 100644
index 98d577a9..00000000
Binary files a/software/gpm/browse_source/gpm-1.20.2-broken/patches/done/applied/OPEN_MAX.gz and /dev/null differ
diff --git a/software/gpm/browse_source/gpm-1.20.2-broken/patches/done/applied/VSXXX-AA-patch.gz b/software/gpm/browse_source/gpm-1.20.2-broken/patches/done/applied/VSXXX-AA-patch.gz
deleted file mode 100644
index de76a90f..00000000
Binary files a/software/gpm/browse_source/gpm-1.20.2-broken/patches/done/applied/VSXXX-AA-patch.gz and /dev/null differ
diff --git a/software/gpm/browse_source/gpm-1.20.2-broken/patches/done/applied/andreas_mohr_1.gz b/software/gpm/browse_source/gpm-1.20.2-broken/patches/done/applied/andreas_mohr_1.gz
deleted file mode 100644
index 969a4294..00000000
Binary files a/software/gpm/browse_source/gpm-1.20.2-broken/patches/done/applied/andreas_mohr_1.gz and /dev/null differ
diff --git a/software/gpm/browse_source/gpm-1.20.2-broken/patches/done/applied/andreas_mohr_2.gz b/software/gpm/browse_source/gpm-1.20.2-broken/patches/done/applied/andreas_mohr_2.gz
deleted file mode 100644
index 03d782e1..00000000
Binary files a/software/gpm/browse_source/gpm-1.20.2-broken/patches/done/applied/andreas_mohr_2.gz and /dev/null differ
diff --git a/software/gpm/browse_source/gpm-1.20.2-broken/patches/done/applied/andreas_mohr_3.gz b/software/gpm/browse_source/gpm-1.20.2-broken/patches/done/applied/andreas_mohr_3.gz
deleted file mode 100644
index 61655fbc..00000000
Binary files a/software/gpm/browse_source/gpm-1.20.2-broken/patches/done/applied/andreas_mohr_3.gz and /dev/null differ
diff --git a/software/gpm/browse_source/gpm-1.20.2-broken/patches/done/applied/diff_synaptics_12.gz b/software/gpm/browse_source/gpm-1.20.2-broken/patches/done/applied/diff_synaptics_12.gz
deleted file mode 100644
index d27fb356..00000000
Binary files a/software/gpm/browse_source/gpm-1.20.2-broken/patches/done/applied/diff_synaptics_12.gz and /dev/null differ
diff --git a/software/gpm/browse_source/gpm-1.20.2-broken/patches/done/applied/diff_synaptics_3rd-final?.tar.gz b/software/gpm/browse_source/gpm-1.20.2-broken/patches/done/applied/diff_synaptics_3rd-final?.tar.gz
deleted file mode 100644
index 2317ced5..00000000
Binary files a/software/gpm/browse_source/gpm-1.20.2-broken/patches/done/applied/diff_synaptics_3rd-final?.tar.gz and /dev/null differ
diff --git a/software/gpm/browse_source/gpm-1.20.2-broken/patches/done/applied/diff_synaptics_c_7.gz b/software/gpm/browse_source/gpm-1.20.2-broken/patches/done/applied/diff_synaptics_c_7.gz
deleted file mode 100644
index 0c0e799b..00000000
Binary files a/software/gpm/browse_source/gpm-1.20.2-broken/patches/done/applied/diff_synaptics_c_7.gz and /dev/null differ
diff --git a/software/gpm/browse_source/gpm-1.20.2-broken/patches/done/applied/evdev.patch.gz b/software/gpm/browse_source/gpm-1.20.2-broken/patches/done/applied/evdev.patch.gz
deleted file mode 100644
index 11cfee16..00000000
Binary files a/software/gpm/browse_source/gpm-1.20.2-broken/patches/done/applied/evdev.patch.gz and /dev/null differ
diff --git a/software/gpm/browse_source/gpm-1.20.2-broken/patches/done/applied/gpm-1.19.3-owl-warnings.diff.gz b/software/gpm/browse_source/gpm-1.20.2-broken/patches/done/applied/gpm-1.19.3-owl-warnings.diff.gz
deleted file mode 100644
index e09018f2..00000000
Binary files a/software/gpm/browse_source/gpm-1.20.2-broken/patches/done/applied/gpm-1.19.3-owl-warnings.diff.gz and /dev/null differ
diff --git a/software/gpm/browse_source/gpm-1.20.2-broken/patches/done/applied/gpm-1.19.4-syn_wmode-1.patch.gz b/software/gpm/browse_source/gpm-1.20.2-broken/patches/done/applied/gpm-1.19.4-syn_wmode-1.patch.gz
deleted file mode 100644
index 9c37a865..00000000
Binary files a/software/gpm/browse_source/gpm-1.20.2-broken/patches/done/applied/gpm-1.19.4-syn_wmode-1.patch.gz and /dev/null differ
diff --git a/software/gpm/browse_source/gpm-1.20.2-broken/patches/done/applied/gpm-1.19.6-rh-gpm-root.diff.gz b/software/gpm/browse_source/gpm-1.20.2-broken/patches/done/applied/gpm-1.19.6-rh-gpm-root.diff.gz
deleted file mode 100644
index ab2a7433..00000000
Binary files a/software/gpm/browse_source/gpm-1.20.2-broken/patches/done/applied/gpm-1.19.6-rh-gpm-root.diff.gz and /dev/null differ
diff --git a/software/gpm/browse_source/gpm-1.20.2-broken/patches/done/applied/gpm-1.19.6-to-blaise.diff.gz b/software/gpm/browse_source/gpm-1.20.2-broken/patches/done/applied/gpm-1.19.6-to-blaise.diff.gz
deleted file mode 100644
index 118b8572..00000000
Binary files a/software/gpm/browse_source/gpm-1.20.2-broken/patches/done/applied/gpm-1.19.6-to-blaise.diff.gz and /dev/null differ
diff --git a/software/gpm/browse_source/gpm-1.20.2-broken/patches/done/applied/gpm-1.20.0-wheel.patch.gz b/software/gpm/browse_source/gpm-1.20.2-broken/patches/done/applied/gpm-1.20.0-wheel.patch.gz
deleted file mode 100644
index ef7450ba..00000000
Binary files a/software/gpm/browse_source/gpm-1.20.2-broken/patches/done/applied/gpm-1.20.0-wheel.patch.gz and /dev/null differ
diff --git a/software/gpm/browse_source/gpm-1.20.2-broken/patches/done/applied/gpm-1.20.1-ceil.patch b/software/gpm/browse_source/gpm-1.20.2-broken/patches/done/applied/gpm-1.20.1-ceil.patch
deleted file mode 100644
index a8c3d391..00000000
--- a/software/gpm/browse_source/gpm-1.20.2-broken/patches/done/applied/gpm-1.20.1-ceil.patch
+++ /dev/null
@@ -1,116 +0,0 @@
-Hello,
-
- Gpm 1.20.1 fails to build for me for the mipsel-linux host. This happens
-because the platform only defines ceil() in libm (as expected), while a
-few others only work by an accident because they have an inline equivalent
-in . The failure also happens for these platforms if optimization
-is disabled in CFLAGS. Following is a fix that adds an autoconf test for
- and whether linking against libm is needed to make use of ceil().
-
- I've only tested the fix with autoconf 2.57 (I only use 2.5x for a long
-time), hence that's the required version. It may work with older
-versions; if not, fixing shouldn't be that difficult. Alternatively you
-may consider upgrading autoconf -- the current version is much cleaner and
-the transition should be painless as gpm's scripts seem to have no
-incompatible hacks.
-
- Please apply,
-
- Maciej
-
---
-+ Maciej W. Rozycki, Technical University of Gdansk, Poland +
-+--------------------------------------------------------------+
-+ e-mail: macro@ds2.pg.gda.pl, PGP key available +
-
-gpm-1.20.1-ceil.patch
-diff -up --recursive --new-file gpm-1.20.1.macro/configure.in gpm-1.20.1/configure.in
---- gpm-1.20.1.macro/configure.in 2002-12-24 22:57:16.000000000 +0000
-+++ gpm-1.20.1/configure.in 2003-01-19 03:27:16.000000000 +0000
-@@ -4,7 +4,7 @@ dnl Process this file with autoconf to p
- dnl written jan/1997 - T.E.Dickey
-
- AC_INIT(src/gpm.c)
--AC_PREREQ(2.12)
-+AC_PREREQ(2.57)
- AC_CONFIG_HEADER(src/headers/config.h)
-
- release=1.20.1
-@@ -112,6 +112,41 @@ No|no|N|n) SHARED_LIBS=-lc ;;
- LIBS=$SAVELIBS ;;
- esac
-
-+dnl ceil() may be an inline, so check with no libm first
-+AC_CHECK_HEADERS([math.h], , [AC_MSG_ERROR([a mandatory header is missing])])
-+AC_CACHE_CHECK([whether libm is needed for ceil], [gpm_cv_ceil_libm],
-+[ceil_found=no
-+for i in "" "-lm"; do
-+ SAVELIBS=$LIBS
-+ LIBS=$i
-+ AC_LINK_IFELSE([AC_LANG_PROGRAM(
-+[#ifdef HAVE_MATH_H
-+#include
-+#endif], [ceil(0.0);])], [ceil_found=yes])
-+ LIBS=$SAVELIBS
-+ if test x$ceil_found = xyes; then
-+ break
-+ fi
-+done
-+if test x$ceil_found = xno; then
-+ gpm_cv_ceil_libm=missing
-+elif test x$i = x-lm; then
-+ gpm_cv_ceil_libm=yes
-+else
-+ gpm_cv_ceil_libm=no
-+fi])
-+case $gpm_cv_ceil_libm in
-+no)
-+ LIBM=
-+ ;;
-+yes)
-+ LIBM=-lm
-+ ;;
-+*)
-+ AC_MSG_ERROR([a mandatory function is missing])
-+ ;;
-+esac
-+
- GPMXTERM=
- AC_SUBST(GPMXTERM)
- AC_SUBST(release)
-@@ -125,6 +160,7 @@ AC_SUBST(PICFLAGS)
- AC_SUBST(SOLDFLAGS)
- AC_SUBST(CURSES_OBJS)
- AC_SUBST(SHARED_LIBS)
-+AC_SUBST(LIBM)
- AC_SUBST(lispdir)
-
- CPPFLAGS='-I$(srcdir) $(DEFS) -include headers/config.h -Wall -DSYSCONFDIR="\"$(sysconfdir)\"" -DSBINDIR="\"$(sbindir)\""'
-diff -up --recursive --new-file gpm-1.20.1.macro/src/Makefile.in gpm-1.20.1/src/Makefile.in
---- gpm-1.20.1.macro/src/Makefile.in 2002-12-24 22:57:16.000000000 +0000
-+++ gpm-1.20.1/src/Makefile.in 2003-01-19 03:30:44.000000000 +0000
-@@ -70,6 +70,10 @@ prog/%: prog/%.o
- all: gpm lib/@SHLIB@ lib/libgpm.a $(PROG)
-
- gpm: $(GOBJ)
-+ $(CC) @LDFLAGS@ $(LDFLAGS) -o $@ $^ @LIBS@ @LIBM@ $(LIBS)
-+
-+prog/mouse-test: prog/mouse-test.o
-+ $(CC) @LDFLAGS@ $(LDFLAGS) -o $@ $^ @LIBS@ @LIBM@ $(LIBS)
-
- # construct dependings of sourcefiles and link sourcefiles
- $(DEPFILE) dep: prog/gpm-root.c
-diff -up --recursive --new-file gpm-1.20.1.macro/src/synaptics.c gpm-1.20.1/src/synaptics.c
---- gpm-1.20.1.macro/src/synaptics.c 2002-12-24 22:57:16.000000000 +0000
-+++ gpm-1.20.1/src/synaptics.c 2003-01-19 03:32:31.000000000 +0000
-@@ -209,7 +209,9 @@
- */
-
-
-+#ifdef HAVE_MATH_H
- #include /* ceil */
-+#endif
- #include
- #include
- #include
-
diff --git a/software/gpm/browse_source/gpm-1.20.2-broken/patches/done/applied/gpm-1.20.1-consolename.patch b/software/gpm/browse_source/gpm-1.20.2-broken/patches/done/applied/gpm-1.20.1-consolename.patch
deleted file mode 100644
index 6be5c52a..00000000
--- a/software/gpm/browse_source/gpm-1.20.2-broken/patches/done/applied/gpm-1.20.1-consolename.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-Hello,
-
- Currently option.consolename is reinitialized to NULL whenever Gpm_Open()
-is called. This leads to a crash due to a NULL pointer dereference for a
-second invocation of the function, beacuse consolename is only set up for
-the first one. I've discovered the bug with mc when switching back from
-the underlying shell (i.e. toggling the program's panels on) -- with
-1.20.1 it would always crash.
-
- Following is a trivial fix. Additionally it prevents a crash that might
-happen if Gpm_get_console() returned NULL and returns an error from
-Gpm_Open() instead. Finally, gpm_stack is now also checked for being
-non-NULL.
-
- Please apply,
-
- Maciej
-
---
-+ Maciej W. Rozycki, Technical University of Gdansk, Poland +
-+--------------------------------------------------------------+
-+ e-mail: macro@ds2.pg.gda.pl, PGP key available +
-
-gpm-1.20.1-consolename.patch
-diff -up --recursive --new-file gpm-1.20.1.macro/src/lib/liblow.c gpm-1.20.1/src/lib/liblow.c
---- gpm-1.20.1.macro/src/lib/liblow.c 2002-12-24 22:57:16.000000000 +0000
-+++ gpm-1.20.1/src/lib/liblow.c 2003-01-19 01:15:51.000000000 +0000
-@@ -199,8 +199,6 @@ int Gpm_Open(Gpm_Connect *conn, int flag
- Gpm_Stst *new = NULL;
- char* sock_name = 0;
-
-- option.consolename = NULL;
--
- gpm_report(GPM_PR_DEBUG,"VC: %d",flag);
-
- /*....................................... First of all, check xterm */
-@@ -242,6 +240,10 @@ int Gpm_Open(Gpm_Connect *conn, int flag
- if (new->next)
- conn->vc=new->next->info.vc; /* inherit */
- else {
-+ if (!option.consolename) {
-+ gpm_report(GPM_PR_ERR,"option.consolename null");
-+ goto err;
-+ }
- conn->vc=0; /* default handler */
- if (flag > 0) { /* forced vc number */
- conn->vc=flag;
-@@ -370,11 +372,11 @@ int Gpm_Open(Gpm_Connect *conn, int flag
- /*....................................... Error: free all memory */
- err:
- gpm_report(GPM_PR_ERR,"Oh, oh, it's an error! possibly I die! ");
-- do {
-+ while(gpm_stack) {
- new=gpm_stack->next;
- free(gpm_stack);
- gpm_stack=new;
-- } while(gpm_stack);
-+ };
- if (gpm_fd>=0) close(gpm_fd);
- if (sock_name) {
- unlink(sock_name);
-
diff --git a/software/gpm/browse_source/gpm-1.20.2-broken/patches/done/applied/gpm-1.20.1-contrib.patch b/software/gpm/browse_source/gpm-1.20.2-broken/patches/done/applied/gpm-1.20.1-contrib.patch
deleted file mode 100644
index 3a75f122..00000000
--- a/software/gpm/browse_source/gpm-1.20.2-broken/patches/done/applied/gpm-1.20.1-contrib.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-Hello,
-
- Since $(ELISP) includes two files and in subdirectories, they need to be
-properly handled for the "all" dependency and uninstallation. Here is an
-obvious fix. Please apply.
-
- Maciej
-
---
-+ Maciej W. Rozycki, Technical University of Gdansk, Poland +
-+--------------------------------------------------------------+
-+ e-mail: macro@ds2.pg.gda.pl, PGP key available +
-
-gpm-1.20.1-contrib.patch
-diff -up --recursive --new-file gpm-1.20.1.macro/contrib/Makefile.in gpm-1.20.1/contrib/Makefile.in
---- gpm-1.20.1.macro/contrib/Makefile.in 2002-12-24 22:57:16.000000000 +0000
-+++ gpm-1.20.1/contrib/Makefile.in 2003-01-18 23:12:12.000000000 +0000
-@@ -9,7 +9,7 @@ top_builddir = ..
-
- include $(top_builddir)/Makefile.include
-
--all: $(srcdir)/$(ELISP)
-+all: $(addprefix $(srcdir)/,$(ELISP))
-
- install: all
- if [ -n "$(ELISP)" ]; then for i in `echo $(ELISP)`; do \
-@@ -21,7 +21,7 @@ install: all
-
- uninstall:
- if [ -n "$(ELISP)" ]; then for i in `echo $(ELISP)`; do \
-- rm -f $(lispdir)/$$i ;\
-+ rm -f $(lispdir)/`basename $$i` ;\
- done; fi
-
- dist:
-
diff --git a/software/gpm/browse_source/gpm-1.20.2-broken/patches/done/applied/gpm-1.20.1-shlib.patch b/software/gpm/browse_source/gpm-1.20.2-broken/patches/done/applied/gpm-1.20.1-shlib.patch
deleted file mode 100644
index 1b0d2da9..00000000
--- a/software/gpm/browse_source/gpm-1.20.2-broken/patches/done/applied/gpm-1.20.1-shlib.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-Hello,
-
- There are bogus dependencies when one decides not to build a shared
-library. In this case "all" depends on "lib/" and programs depend on
-"lib/libgpm.so". Following is an obvious fix. Please apply.
-
- Maciej
-
---
-+ Maciej W. Rozycki, Technical University of Gdansk, Poland +
-+--------------------------------------------------------------+
-+ e-mail: macro@ds2.pg.gda.pl, PGP key available +
-
-gpm-1.20.1-shlib.patch
-diff -up --recursive --new-file gpm-1.20.1.macro/configure.in gpm-1.20.1/configure.in
---- gpm-1.20.1.macro/configure.in 2002-12-24 22:57:16.000000000 +0000
-+++ gpm-1.20.1/configure.in 2003-01-18 23:04:19.000000000 +0000
-@@ -83,7 +83,7 @@ fi
-
- ITZ_SYS_ELF
- if test ${itz_cv_sys_elf} = yes && test x${ac_cv_prog_gcc} = xyes ; then
-- SHLIB=libgpm.so
-+ SHLIB=lib/libgpm.so
- else
- SHLIB=
- fi
-diff -up --recursive --new-file gpm-1.20.1.macro/src/Makefile.in gpm-1.20.1/src/Makefile.in
---- gpm-1.20.1.macro/src/Makefile.in 2002-12-24 22:57:16.000000000 +0000
-+++ gpm-1.20.1/src/Makefile.in 2003-01-18 23:05:07.000000000 +0000
-@@ -67,7 +67,7 @@ prog/%: prog/%.o
- # | $(SED) '\''s/\($*\)\.o\([ :]*\)/\1.o \1.lo\2/g'\'' > $(DEPDIR)/$@'
-
- # Do it all!
--all: gpm lib/@SHLIB@ lib/libgpm.a $(PROG)
-+all: gpm @SHLIB@ lib/libgpm.a $(PROG)
-
- gpm: $(GOBJ)
-
-@@ -145,7 +145,7 @@ prog/gpm-root: prog/gpm-root.c
-
- prog/mouse-test: mice.o twiddler.o synaptics.o
-
--$(PROG): lib/libgpm.so lib/@SHLIB@ lib/libgpm.a
-+$(PROG): @SHLIB@ lib/libgpm.a
-
- # Subdirectory lib/
- lib/libgpm.a: $(LOBJ)
-
diff --git a/software/gpm/browse_source/gpm-1.20.2-broken/patches/done/applied/gpm-1.20.1.pts.patch b/software/gpm/browse_source/gpm-1.20.2-broken/patches/done/applied/gpm-1.20.1.pts.patch
deleted file mode 100644
index 7dd7d5ce..00000000
--- a/software/gpm/browse_source/gpm-1.20.2-broken/patches/done/applied/gpm-1.20.1.pts.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-diff -ruN gpm-1.20.1/src/headers/gpmInt.h gpm-1.20.1-pts/src/headers/gpmInt.h
---- gpm-1.20.1/src/headers/gpmInt.h 2002-12-25 00:56:54.000000000 +0200
-+++ gpm-1.20.1-pts/src/headers/gpmInt.h 2003-09-17 09:11:13.000000000 +0300
-@@ -82,6 +82,7 @@
- #define GPM_NULL_DEV "/dev/null"
- #define GPM_SYS_CONSOLE "/dev/console"
- #define GPM_DEVFS_CONSOLE "/dev/vc/0"
-+#define GPM_PTS_CONSOLE "/dev/pts/0"
- #define GPM_OLD_CONSOLE "/dev/tty0"
-
- /* for adding a mouse; add_mouse */
-diff -ruN gpm-1.20.1/src/tools.c gpm-1.20.1-pts/src/tools.c
---- gpm-1.20.1/src/tools.c 2002-12-25 00:56:54.000000000 +0200
-+++ gpm-1.20.1-pts/src/tools.c 2003-09-17 09:08:07.000000000 +0300
-@@ -46,6 +46,10 @@
- if (stat(GPM_DEVFS_CONSOLE,&buf) == 0)
- tmp = GPM_DEVFS_CONSOLE;
-
-+ /* May it be that we are on the network console? */
-+ else if(stat(GPM_PTS_CONSOLE,&buf) == 0)
-+ tmp = GPM_PTS_CONSOLE;
-+
- /* Failed, try OLD console */
- else if(stat(GPM_OLD_CONSOLE,&buf) == 0)
- tmp = GPM_OLD_CONSOLE;
diff --git a/software/gpm/browse_source/gpm-1.20.2-broken/patches/done/applied/gpm-1.20.1rc1-alt-fix_abi.patch.gz b/software/gpm/browse_source/gpm-1.20.2-broken/patches/done/applied/gpm-1.20.1rc1-alt-fix_abi.patch.gz
deleted file mode 100644
index e2c494a0..00000000
Binary files a/software/gpm/browse_source/gpm-1.20.2-broken/patches/done/applied/gpm-1.20.1rc1-alt-fix_abi.patch.gz and /dev/null differ
diff --git a/software/gpm/browse_source/gpm-1.20.2-broken/patches/done/applied/gpm-awksub.patch b/software/gpm/browse_source/gpm-1.20.2-broken/patches/done/applied/gpm-awksub.patch
deleted file mode 100644
index 5721e7c5..00000000
--- a/software/gpm/browse_source/gpm-1.20.2-broken/patches/done/applied/gpm-awksub.patch
+++ /dev/null
@@ -1,77 +0,0 @@
-2004-03-25 Stepan Kasal
-
- * doc/manpager: the first argument to gsub is constant regex,
- there is no need to give it as string; this also silences
- some gawk warnings.
-
-diff -u -r1.1 manpager
---- gpm/doc/manpager 27 May 2002 15:35:47 -0000 1.1
-+++ gpm/doc/manpager 25 Mar 2004 13:23:46 -0000
-@@ -32,20 +32,20 @@
- # (ARub, Oct 10 2000)
- /@b\{/ {
- #$0 = gensub(/@b\{([^}]+)\}/, "\\\\fB\\1\\\\fP","g");
-- gsub("@b\{","\\fB");
-- gsub("\}","\\fP");
-+ gsub(/@b\{/,"\\fB");
-+ gsub(/\}/,"\\fP");
- }
-
- /@var\{/ {
- #$0 = gensub(/@var\{([^}]+)\}/, "\\\\fI\\1\\\\fP","g");
-- gsub("@var\{","\\fB");
-- gsub("\}","\\fP");
-+ gsub(/@var\{/,"\\fB");
-+ gsub(/\}/,"\\fP");
- }
-
- /@(samp|code|file)\{/ {
- #$0 = gensub(/@(samp|code|file)\{([^}]+)\}/, "`\\2'","g");
-- gsub("@(samp|code|file)\{","");
-- gsub("\}","");
-+ gsub(/@(samp|code|file)\{/,"");
-+ gsub(/\}/,"");
- }
-
-
-@@ -54,8 +54,8 @@
- }
-
- /@ref\{.*\}/ {
-- gsub("@ref\{","");
-- gsub("\}","");
-+ gsub(/@ref\{/,"");
-+ gsub(/\}/,"");
- }
-
- /@\*/ {
-@@ -89,14 +89,14 @@
-
-
- {
-- gsub("[^\\\\]%.*$","");
-- gsub("\\%","%");
-+ gsub(/[^\\]%.*$/,"");
-+ gsub(/\%/,"%");
- }
-
-
- # remove leading blanks
-
--/^[ \t]/ {gsub("^[ \t]","");}
-+/^[ \t]/ {gsub(/^[ \t]/,"");}
-
- # put a .LP at blank lines
-
-@@ -112,9 +112,9 @@
-
- # Escape single slashes (e.g. in documentation for `-l' command line option)
-
-- {gsub("\\\\ ", "\\\\ ");}
-+ {gsub(/\\ /, "\\\\ ");}
-
-- {gsub("~", "~~");}
-+ {gsub(/~/, "~~");}
-
- {print > NAME}
-
diff --git a/software/gpm/browse_source/gpm-1.20.2-broken/patches/done/applied/gpm-no-makeinfo.patch b/software/gpm/browse_source/gpm-1.20.2-broken/patches/done/applied/gpm-no-makeinfo.patch
deleted file mode 100644
index d524aaa8..00000000
--- a/software/gpm/browse_source/gpm-1.20.2-broken/patches/done/applied/gpm-no-makeinfo.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-2004-03-25 Stepan Kasal
-
- * doc/Makefile.in: use @MAKEINFO@, not $(MAKEINFO), as the later
- one can never be equal to "no".
-
-diff -u -r1.2 Makefile.in
---- gpm/doc/Makefile.in 30 Nov 2002 13:20:07 -0000 1.2
-+++ gpm/doc/Makefile.in 25 Mar 2004 13:23:46 -0000
-@@ -48,7 +48,7 @@
-
- # INFO (makeinfo)
- %.info: %.texinfo
-- if [ "$(MAKEINFO)" != "no" ]; then $(MAKEINFO) $< -o $@; fi
-+ if [ "@MAKEINFO@" != "no" ]; then $(MAKEINFO) $< -o $@; fi
-
- # TXT (-)
- %.txt: %.info
diff --git a/software/gpm/browse_source/gpm-1.20.2-broken/patches/done/applied/gpm06122002-cvs-tty.patch.gz b/software/gpm/browse_source/gpm-1.20.2-broken/patches/done/applied/gpm06122002-cvs-tty.patch.gz
deleted file mode 100644
index fa16c22b..00000000
Binary files a/software/gpm/browse_source/gpm-1.20.2-broken/patches/done/applied/gpm06122002-cvs-tty.patch.gz and /dev/null differ
diff --git a/software/gpm/browse_source/gpm-1.20.2-broken/patches/done/applied/gpm_synaptic_diff.gtar.gz b/software/gpm/browse_source/gpm-1.20.2-broken/patches/done/applied/gpm_synaptic_diff.gtar.gz
deleted file mode 100644
index 6872e2b8..00000000
Binary files a/software/gpm/browse_source/gpm-1.20.2-broken/patches/done/applied/gpm_synaptic_diff.gtar.gz and /dev/null differ
diff --git a/software/gpm/browse_source/gpm-1.20.2-broken/patches/done/applied/gpm_unsigned_patch.gz b/software/gpm/browse_source/gpm-1.20.2-broken/patches/done/applied/gpm_unsigned_patch.gz
deleted file mode 100644
index 1f5b8862..00000000
Binary files a/software/gpm/browse_source/gpm-1.20.2-broken/patches/done/applied/gpm_unsigned_patch.gz and /dev/null differ
diff --git a/software/gpm/browse_source/gpm-1.20.2-broken/patches/done/applied/repeater-patch.gz b/software/gpm/browse_source/gpm-1.20.2-broken/patches/done/applied/repeater-patch.gz
deleted file mode 100644
index 4a590a94..00000000
Binary files a/software/gpm/browse_source/gpm-1.20.2-broken/patches/done/applied/repeater-patch.gz and /dev/null differ
diff --git a/software/gpm/browse_source/gpm-1.20.2-broken/patches/done/applied/repeater-patch.mail.gz b/software/gpm/browse_source/gpm-1.20.2-broken/patches/done/applied/repeater-patch.mail.gz
deleted file mode 100644
index 8232d220..00000000
Binary files a/software/gpm/browse_source/gpm-1.20.2-broken/patches/done/applied/repeater-patch.mail.gz and /dev/null differ
diff --git a/software/gpm/browse_source/gpm-1.20.2-broken/patches/done/applied/shlib-patch.gz b/software/gpm/browse_source/gpm-1.20.2-broken/patches/done/applied/shlib-patch.gz
deleted file mode 100644
index 54a5cc01..00000000
Binary files a/software/gpm/browse_source/gpm-1.20.2-broken/patches/done/applied/shlib-patch.gz and /dev/null differ
diff --git a/software/gpm/browse_source/gpm-1.20.2-broken/patches/done/need_update/gpm-1.19.3-serialconsole.patch b/software/gpm/browse_source/gpm-1.20.2-broken/patches/done/need_update/gpm-1.19.3-serialconsole.patch
deleted file mode 100644
index 65a54431..00000000
--- a/software/gpm/browse_source/gpm-1.20.2-broken/patches/done/need_update/gpm-1.19.3-serialconsole.patch
+++ /dev/null
@@ -1,40 +0,0 @@
---- gpm-1.19.3/gpm.c.serialconsole Fri Jan 5 14:10:46 2001
-+++ gpm-1.19.3/gpm.c Fri Jan 5 14:39:28 2001
-@@ -38,6 +38,7 @@
- #include /* struct sockaddr_un */
-
- #include /* VT_GETSTATE */
-+#include /* for serial console check */
- #include /* KDGETMODE */
- #include /* winsize */
-
-@@ -142,10 +143,25 @@
- static inline int open_console(const int mode)
- {
- int fd;
--
-- if ((fd=open(consolename, mode)) < 0)
-- oops(consolename);
-- return fd;
-+ struct stat sb;
-+ int maj, twelve=12;
-+ struct serial_struct si;
-+
-+ fd = open(consolename, mode);
-+ if (fd != -1) {
-+ fstat(fd, &sb);
-+ maj = major(sb.st_rdev);
-+ if (maj != 4 && (maj < 136 || maj > 143)) {
-+ if (ioctl (fd, TIOCLINUX, &twelve) < 0) {
-+ if (ioctl (fd, TIOCGSERIAL, &si) >= 0) {
-+ if (si.line > 0)
-+ oops("we seem to be on a serial console");
-+ }
-+ }
-+ }
-+ return fd;
-+ } else
-+ oops(consolename);
- }
-
- /*-------------------------------------------------------------------*/
diff --git a/software/gpm/browse_source/gpm-1.20.2-broken/patches/done/need_update/gpm-1.19.3-serialconsole.patch.gz b/software/gpm/browse_source/gpm-1.20.2-broken/patches/done/need_update/gpm-1.19.3-serialconsole.patch.gz
deleted file mode 100644
index 28865c75..00000000
Binary files a/software/gpm/browse_source/gpm-1.20.2-broken/patches/done/need_update/gpm-1.19.3-serialconsole.patch.gz and /dev/null differ
diff --git a/software/gpm/browse_source/gpm-1.20.2-broken/patches/done/need_update/gpm-diff-first b/software/gpm/browse_source/gpm-1.20.2-broken/patches/done/need_update/gpm-diff-first
deleted file mode 100644
index 5d3e01ab..00000000
--- a/software/gpm/browse_source/gpm-1.20.2-broken/patches/done/need_update/gpm-diff-first
+++ /dev/null
@@ -1,1047 +0,0 @@
-diff -u -w ../../gpm-1.19.6/src/debuglog.c ./debuglog.c
---- ../../gpm-1.19.6/src/debuglog.c Sun Dec 30 00:56:34 2001
-+++ ./debuglog.c Sat Dec 29 15:13:48 2001
-@@ -37,6 +37,7 @@
- # endif
- #endif
-
-+#include /* exit */
- #include
- #include
- #include