From ef3bc3e3aa0b9bf5129bdedf05402f289d768373 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Sun, 25 Jan 2004 17:23:20 +0000 Subject: initial commit git-svn-id: file:///home/lennart/svn/public/keyfuzz/trunk@3 e03e4fad-c0d1-0310-aabf-8987f8117c4c --- doc/Makefile.am | 36 ++++++++++++ doc/README.html.in | 163 +++++++++++++++++++++++++++++++++++++++++++++++++++++ doc/style.css | 32 +++++++++++ 3 files changed, 231 insertions(+) create mode 100644 doc/Makefile.am create mode 100644 doc/README.html.in create mode 100644 doc/style.css (limited to 'doc') diff --git a/doc/Makefile.am b/doc/Makefile.am new file mode 100644 index 0000000..52c789e --- /dev/null +++ b/doc/Makefile.am @@ -0,0 +1,36 @@ +# $Id$ + +# This file is part of keyfuzz. +# +# keyfuzz 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. +# +# keyfuzz 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 keyfuzz; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +noinst_DATA = README.html README +EXTRA_DIST = $(noinst_DATA) style.css README.html.in NEWDRIVERS + +MAINTAINERCLEANFILES = README README.html +CLEANFILES = + +if USE_LYNX +README: README.html + lynx --dump $^ | sed 's,file://localhost/.*/doc/README.html,README,' > $@ + +CLEANFILES += README +endif + +tidy: README.html + tidy -e < README.html + +.PHONY: tidy + diff --git a/doc/README.html.in b/doc/README.html.in new file mode 100644 index 0000000..6795046 --- /dev/null +++ b/doc/README.html.in @@ -0,0 +1,163 @@ + + + + + +keyfuzz @PACKAGE_VERSION@ + + + + +

keyfuzz @PACKAGE_VERSION@

+ +

Copyright 2004 Lennart Poettering <@PACKAGE_BUGREPORT@>

+ + + +

License

+ +

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.

+ +

News

+ +
Sun Jan 25 2004:
+ +

Version 0.1 released, initial release.

+ +

Overview

+ +

You may use keyfuzz to manipulate the scancode/keycode +translation tables of keyboard drivers supporting the Linux input +layer API (as included in Linux 2.6). This is useful for fixing the +translation tables of multimedia keyboards or laptop keyboards with +special keys. keyfuzz is not a daemon like Gnome +acme which reacts on special hotkeys but a tool to make +non-standard keyboards compatible with such daemons. keyfuzz +should be run once at boot time, the modifications it makes stay +active after the tool quits until reboot. keyfuzz does not interact +directly with XFree86. However, newer releases of the latter (4.1 and +above) rely on the Linux input API, so they take advantage of the +fixed translation tables.

+ +

The distribution includes a scancode table for the Medion 9580F +laptop, which maps the four special keys to XFree86 compatible +keycodes.

+ +

Status

+ +

Version @PACKAGE_VERSION@ is more or less stable and feature complete.

+ +

Documentation

+ +

Have a look on the man page keyfuzz(8). (An XSLT capable browser is required)

+ +

Scancode tables assign scancodes to keycodes. If you don't now what +scancodes or keycodes are, read about it in the relevant HOWTOs or FAQs +available from the Linux +Documentation Project.

+ +

The primary target of keyfuzz is to patch scancode/keycode +definitions for special multimedia keys into the current scancode +table of a device. An example for such a patch table is the following +file medion_9580f.keyfuzz, which is relevant for the Medion +9580F laptop which has four special multimedia keys:

+ +
# Mail
+0x67	155
+
+# World Wide Web
+0x63	150
+
+# Program #1
+0x66	148
+
+# Program #2
+0x69	149
+
+ +

Activate this file with the following command:

+ +
keyfuzz -s < medion_9580f.keyfuzz
+ +

This assigns the scancode 0x67 to the keycode 155 +and so on. For a list of available keycodes have look on the +KEY_xxx constant definitions in /usr/include/linux/input.h. The +scancodes are keyboard specific. You may use the (console specific) +utility showkey(1) to examine the scancode/keycode of a +key. Another way to get the scancodes of special keys is to look for +kernel debug messages like these if you press the relevant keys:

+ +
atkbd.c: Unknown key pressed (translated set 2, code 0x66 on isa0060/serio0).
+atkbd.c: Unknown key released (translated set 2, code 0x66 on isa0060/serio0).
+ +

Feel free to to send me patch tables for your hardware. I'll add them to my to distribution.

+ +

The keyfuzz distribution includes a SysV init script which +runs keyfuzz -s for all configured input devices depending on +files or symbolics links named after the devices in +/etc/keyfuzz. If you want to use this script, just create a symlink +/etc/keyfuzz/event0 to a scancode table file +(e.g. /etc/keyfuzz/medion_9580f.keyfuzz). The scancode +table of the device /dev/input/event0 is modified according +to the contents of that file on each boot:

+ +
cd /etc/keyfuzz
+ln -s medion_9580f.keyfuzz event0
+ +

The virtual file /proc/bus/input/devices lists all available input devices.

+ +

Requirements

+ +

keyfuzz requires a kernel supporting the Linux input layer, such as 2.6.1.

+ +

Installation

+ +

As this package is made with the GNU autotools you should run +./configure inside the distribution directory for configuring +the source tree. After that you should run make for +compilation and make install (as root) for installation of +keyfuzz.

+ +

Acknowledgements

+ +

None so far

+ +

Download

+ +

The newest release is always available from @PACKAGE_URL@

+ +

The current release is @PACKAGE_VERSION@

+ +

Get keyfuzz's development sources from the Subversion repository.

+ +

If you want to be notified whenever I release a new version of this software use the subscription feature of Freshmeat.

+ +
+
Lennart Poettering <@PACKAGE_BUGREPORT@>, January 2004
+ +
$Id$
+ + + diff --git a/doc/style.css b/doc/style.css new file mode 100644 index 0000000..997129d --- /dev/null +++ b/doc/style.css @@ -0,0 +1,32 @@ +/* $Id$ */ + +/*** + * This file is part of keyfuzz. + * + * keyfuzz 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. + * + * keyfuzz 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 keyfuzz; if not, write to the Free Software Foundation, + * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + ***/ + +body { color: black; background-color: white; margin: 0.5cm; } +a:link, a:visited { color: #900000; } +p { margin-left: 0.5cm; margin-right: 0.5cm; } +div.news-date { margin-left: 0.5cm; font-size: 80%; color: #4f0000; } +p.news-text { margin-left: 1cm; } +h1 { color: #00009F; } +h2 { color: #00009F; } +h3 { color: #00004F; margin-left: 0.5cm; } +ul { margin-left: .5cm; } +ol { margin-left: .5cm; } +pre { margin-left: .5cm; background-color: #f0f0f0; padding: 0.4cm;} +.grey { color: #afafaf; } -- cgit