Move keyboard programming instructions to the Devel Guide.
Cleanup up a bunch of bits that don't belong in a book.
diff --git a/documentation/configuring.sgml b/documentation/configuring.sgml
index dfc3ed7..3713a4d 100644
--- a/documentation/configuring.sgml
+++ b/documentation/configuring.sgml
@@ -169,12 +169,8 @@
script called <command>winecheck</command>, to be found
in Wine's tools/ directory. It tries to check your
configuration's correctness by checking for some popular
- problems.
-
- The latest version can always be found at
- <ulink url="http://home.arcor.de/andi.mohr/download/winecheck">http://home.arcor.de/andi.mohr/download/winecheck</ulink>.
-
- To run it, run in a <glossterm>terminal</glossterm> in the Wine source tree directory:
+ problems. To run it, run in a <glossterm>terminal</glossterm>
+ in the Wine source tree directory:
</para>
<screen>
<prompt>$ </><userinput>cd tools</>
@@ -182,9 +178,8 @@
</screen>
<para>
The winecheck output will be a percentage score indicating Wine
- configuration correctness.
- Note that winecheck is only alpha, so it's not very complete or
- 100% accurate.
+ configuration correctness. Please note that winecheck is not
+ 100% accurate.
</para>
<para>
@@ -2830,196 +2825,12 @@
</programlisting>
</sect1>
-<sect1 id="config-keyboard">
-<title>Keyboard</title>
-
-<para>
-Wine now needs to know about your keyboard layout. This
-requirement comes from a need from many apps to have the
-correct scancodes available, since they read these directly,
-instead of just taking the characters returned by the X
-server. This means that Wine now needs to have a mapping from
-X keys to the scancodes these programs expect.
-</para>
-<para>
-On startup, Wine will try to recognize the active X layout by
-seeing if it matches any of the defined tables. If it does,
-everything is alright. If not, you need to define it.
-</para>
-<para>
-To do this, open the file
-<filename>dlls/x11drv/keyboard.c</filename> and take a look
-at the existing tables. Make a backup copy of it, especially
-if you don't use CVS.
-</para>
-<para>
-What you really would need to do, is find out which scancode
-each key needs to generate. Find it in the
-<function>main_key_scan</function> table, which looks like
-this:
-</para>
-<programlisting>
-static const int main_key_scan[MAIN_LEN] =
-{
-/* this is my (102-key) keyboard layout, sorry if it doesn't quite match yours */
-0x29,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,
-0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1A,0x1B,
-0x1E,0x1F,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x2B,
-0x2C,0x2D,0x2E,0x2F,0x30,0x31,0x32,0x33,0x34,0x35,
-0x56 /* the 102nd key (actually to the right of l-shift) */
-};
-</programlisting>
-<para>
-Next, assign each scancode the characters imprinted on the
-keycaps. This was done (sort of) for the US 101-key keyboard,
-which you can find near the top in
-<filename>keyboard.c</filename>. It also shows that if there
-is no 102nd key, you can skip that.
-</para>
-<para>
-However, for most international 102-key keyboards, we have
-done it easy for you. The scancode layout for these already
-pretty much matches the physical layout in the
-<function>main_key_scan</function>, so all you need to do is
-to go through all the keys that generate characters on your
-main keyboard (except spacebar), and stuff those into an
-appropriate table. The only exception is that the 102nd key,
-which is usually to the left of the first key of the last line
-(usually <keycap>Z</keycap>), must be placed on a separate
-line after the last line.
-</para>
-<para>
-For example, my Norwegian keyboard looks like this
-</para>
-<screen>
-§ ! " # ¤ % & / ( ) = ? ` Back-
-| 1 2@ 3£ 4$ 5 6 7{ 8[ 9] 0} + \´ space
-
-Tab Q W E R T Y U I O P Å ^
- ¨~
- Enter
-Caps A S D F G H J K L Ø Æ *
-Lock '
-
-Sh- > Z X C V B N M ; : _ Shift
-ift < , . -
-
-Ctrl Alt Spacebar AltGr Ctrl
-</screen>
-<para>
-Note the 102nd key, which is the <keycap><></keycap> key, to
-the left of <keycap>Z</keycap>. The character to the right of
-the main character is the character generated by
-<keycap>AltGr</keycap>.
-</para>
-<para>
-This keyboard is defined as follows:
-</para>
-<programlisting>
-static const char main_key_NO[MAIN_LEN][4] =
-{
-"|§","1!","2\"@","3#£","4¤$","5%","6&","7/{","8([","9)]","0=}","+?","\\´",
-"qQ","wW","eE","rR","tT","yY","uU","iI","oO","pP","åÅ","¨^~",
-"aA","sS","dD","fF","gG","hH","jJ","kK","lL","øØ","æÆ","'*",
-"zZ","xX","cC","vV","bB","nN","mM",",;",".:","-_",
-"<>"
-};
-</programlisting>
-<para>
-Except that " and \ needs to be quoted with a backslash, and
-that the 102nd key is on a separate line, it's pretty
-straightforward.
-</para>
-<para>
-After you have written such a table, you need to add it to the
-<function>main_key_tab[]</function> layout index table. This
-will look like this:
-</para>
-<programlisting>
-static struct {
-WORD lang, ansi_codepage, oem_codepage;
-const char (*key)[MAIN_LEN][4];
-} main_key_tab[]={
-...
-...
-{MAKELANGID(LANG_NORWEGIAN,SUBLANG_DEFAULT), 1252, 865, &main_key_NO},
-...
-</programlisting>
-<para>
-After you have added your table, recompile Wine and test that
-it works. If it fails to detect your table, try running
-</para>
-<screen>
-wine --debugmsg +key,+keyboard >& key.log
- </screen>
- <para>
- and look in the resulting <filename>key.log</filename> file to
- find the error messages it gives for your layout.
- </para>
- <para>
- Note that the <constant>LANG_*</constant> and
- <constant>SUBLANG_*</constant> definitions are in
- <filename>include/winnls.h</filename>, which you might need to
- know to find out which numbers your language is assigned, and
- find it in the debugmsg output. The numbers will be
- <literal>(SUBLANG * 0x400 + LANG)</literal>, so, for example
- the combination <literal>LANG_NORWEGIAN (0x14)</literal> and
- <literal>SUBLANG_DEFAULT (0x1)</literal> will be (in hex)
- <literal>14 + 1*400 = 414</literal>, so since I'm Norwegian, I
- could look for <literal>0414</literal> in the debugmsg output
- to find out why my keyboard won't detect.
- </para>
- <para>
- Once it works, submit it to the Wine project. If you use CVS,
- you will just have to do
- </para>
- <screen>
-cvs -z3 diff -u dlls/x11drv/keyboard.c > layout.diff
- </screen>
- <para>
- from your main Wine directory, then submit
- <filename>layout.diff</filename> to
- <email>wine-patches@winehq.org</email> along with a brief note
- of what it is.
- </para>
- <para>
- If you don't use CVS, you need to do
- </para>
- <screen>
-diff -u the_backup_file_you_made dlls/x11drv/keyboard.c > layout.diff
- </screen>
- <para>
- and submit it as explained above.
- </para>
- <para>
- If you did it right, it will be included in the next Wine
- release, and all the troublesome programs (especially
- remote-control programs) and games that use scancodes will
- be happily using your keyboard layout, and you won't get those
- annoying fixme messages either.
- </para>
- <para>
- Good luck.
- </para>
- </sect1>
-
<sect1 id="config-scsi-support">
<title>SCSI Support</title>
<para>
This file describes setting up the Windows ASPI interface.
- </para>
-
- <para>
- <warning><title>Warning/Warning/Warning!!!!!!</title>
- <para>This may trash your system if used incorrectly. It may
- even trash your system when used <emphasis>correctly</>!
- </para>
- </warning>
- </para>
-
- <para>
- Now that I have said that. ASPI is a direct link to SCSI devices from
- windows programs. ASPI just forwards the SCSI commands that programs send
+ ASPI is a direct link to SCSI devices from windows programs.
+ ASPI just forwards the SCSI commands that programs send
to it to the SCSI bus.
</para>
<para>
@@ -3033,22 +2844,17 @@
have their permissions set as restricted as possible!
</para>
- <para>
- Cookbook for setting up scanner: (At least how mine is to work)
- (well, for other devices such as CD burners, MO drives, ..., too)
- </para>
-
<sect2>
<title>Windows requirements</title>
<orderedlist>
<listitem>
<para>
- The scanner software needs to use the "Adaptec"
+ The software needs to use the "Adaptec"
compatible drivers (ASPI). At least with Mustek, they
allow you the choice of using the built-in card or the
"Adaptec (AHA)" compatible drivers. This will not work
any other way. Software that accesses the scanner via a
- DOS ASPI driver (e.g. ASPI2DOS) is supported, too. [AM]
+ DOS ASPI driver (e.g. ASPI2DOS) is supported, too.
</para>
</listitem>
<listitem>
@@ -3136,28 +2942,9 @@
</sect2>
<sect2>
- <title>General Information</title>
- <para>
- The mustek scanner I have was shipped with a package
- "ipplus". This program uses the TWAIN driver specification
- to access scanners.
- </para>
- <para>
- (TWAIN MANAGER)
- </para>
- <para>
- <programlisting>
-ipplus.exe <-> (TWAIN INTERFACE) <-> (TWAIN DATA SOURCE.ASPI) -> WINASPI
- </programlisting>
- </para>
- </sect2>
-
- <sect2>
- <title>NOTES/BUGS</title>
+ <title>Notes</title>
<para>
The biggest drawback is that it only works under Linux at the moment.
- </para>
- <para>
The ASPI code has only been tested with:
</para>
<itemizedlist>
@@ -3181,19 +2968,13 @@
</para>
</listitem>
</itemizedlist>
- <para>
- I make no warranty to the ASPI code. It makes my scanner
- work. Your devices may explode. I have no way of determining
- this. I take zero responsibility!
- </para>
</sect2>
</sect1>
<sect1 id="config-odbc">
<title>Using ODBC</title>
<para>
- This section describes how ODBC works within Wine and how to configure
- it to do what you want (if it can do what you want).
+ This section describes how ODBC works within Wine and how to configure it.
</para>
<para>
The ODBC system within Wine, as with the printing system, is designed