<?xml version="1.0" ?> <!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.1.2-Based Variant V1.0//EN" "dtd/kdex.dtd" [ <!-- Define an entity for your application if it is not part of KDE CVS --> <!ENTITY kbthandsfree "<application>KBTHandsfree</application>"> <!ENTITY kappname "&kbthandsfree;"><!-- replace kmyapplication here do *not* replace kappname--> <!ENTITY package "kde-module"><!-- kdebase, kdeadmin, etc. Leave this unchanged if your application is not maintained in KDE CVS --> <!ENTITY % addindex "IGNORE"> <!ENTITY % English "INCLUDE"> <!-- ONLY If you are writing non-English original documentation, change the language here --> <!ENTITY Fred.Schaettgen "<firstname>Fred</firstname><surname>Schättgen</surname>"> <!ENTITY Fred.Schaettgen.mail "<email>kdebluetooth@0xF.de</email>"> <!-- Do not define any other entities; instead, use the entities from entities/general.entities and $LANG/user.entities. --> ]> <!-- kdoctemplate v0.9 January 10 2003 Changes to comments to clarify entity usage January 10 2003 Minor update to "Credits and Licenses" section on August 24, 2000 Removed "Revision history" section on 22 January 2001 Changed to Installation/Help menu entities 18 October 2001 Other minor cleanup and changes 18 October 2001 FPI change and minor changes November 2002 --> <!-- This template was designed by: David Rugge davidrugge@mindspring.com with lots of help from: Eric Bischoff ebisch@cybercable.tm.fr and Frederik Fouvry fouvry@sfs.nphil.uni-tuebingen.de of the KDE DocBook team. You may freely use this template for writing any sort of KDE documentation. If you have any changes or improvements, please let us know. Remember: - in XML, the case of the <tags> and attributes is relevant ; - also, quote all attributes. Please don't forget to remove all these comments in your final documentation, thanks ;-). --> <!-- ................................................................ --> <!-- The language must NOT be changed here. --> <!-- If you are writing original documentation in a language other --> <!-- than English, change the language above ONLY, not here --> <book lang="&language;"> <!-- This header contains all of the meta-information for the document such as Authors, publish date, the abstract, and Keywords --> <bookinfo> <title>The &kappname; Handbook</title> <authorgroup> <author> <!-- This is just put in as an example. For real documentation, please define a general entity in entities/contributor.entities, e.g. and use `&George.N.Ugnacious; &George.N.Ugnacious.mail;' in the author element. --> &Fred.Schaettgen; <affiliation> <address> <email>kdebluetooth@schaettgen.de</email> </address> </affiliation> </author> </authorgroup> <!-- TRANS:ROLES_OF_TRANSLATORS --> <copyright> <year>2003</year> <holder>&Fred.Schaettgen;</holder> </copyright> <!-- Translators: put here the copyright notice of the translation --> <!-- Put here the FDL notice. Read the explanation in fdl-notice.docbook and in the FDL itself on how to use it. --> <legalnotice>&FDLNotice;</legalnotice> <!-- Date and version information of the documentation Don't forget to include this last date and this last revision number, we need them for translation coordination ! Please respect the format of the date (YYYY-MM-DD) and of the version (V.MM.LL), it could be used by automation scripts. Do NOT change these in the translation. --> <date>2003-10-26</date> <releaseinfo>0.0</releaseinfo> <!-- Abstract about this handbook --> <abstract> <para> &kappname; is tool to use your computer as a handsfree for your Bluetooth-enabled mobile phone. </para> </abstract> <!-- This is a set of Keywords for indexing by search engines. Please at least include KDE, the KDE package it is in, the name of your application, and a few relevant keywords. --> <keywordset> <keyword>KDE</keyword> <keyword>kdenetwork</keyword> <keyword>kbthandsfree</keyword> <keyword>handsfree</keyword> <keyword>headset</keyword> <keyword>Bluetooth</keyword> </keywordset> </bookinfo> <!-- The contents of the documentation begin here. Label each chapter so with the id attribute. This is necessary for two reasons: it allows you to easily reference the chapter from other chapters of your document, and if there is no ID, the name of the generated HTML files will vary from time to time making it hard to manage for maintainers and for the CVS system. Any chapter labelled (OPTIONAL) may be left out at the author's discretion. Other chapters should not be left out in order to maintain a consistent documentation style across all KDE apps. --> <chapter id="introduction"> <title>Introduction</title> <para> &kappname; allows you to use your phone as a handsfree for your Bluetooth mobile phone. You can see who's calling, accept or reject an incoming call, place calls yourself. All conversations which are held using the computer can be recorded as stereo ogg/vorbis-files. &kappname; supports number completion using the information stored in the KDE address book. </para> </chapter> <chapter id="using-kapp"> <title>Using &kappname;</title> <!-- This chapter should tell the user how to use your app. You should use as many sections (Chapter, Sect1, Sect3, etc...) as is necessary to fully document your application. --> <para> To start &kappname; make sure your mobile phone is in discoverable mode, then open konqueror and enter <ulink url="sdp:/">sdp:/</ulink> in the URL line. Your phone should appear after a few seconds. Click it, then select the Handsfree entry. </para> <para> At the moment, &kappname; won't search for devices on its own, nor can you save the selected device as a shortcut. This will be added soon. </para> <!-- Note that all graphics should be in .png format. Use no gifs because of patent issues. --> <!--<screenshot> <para> <screeninfo>Here's a screenshot of &kmyapplication;</screeninfo> <mediaobject> <imageobject> <imagedata fileref="screenshot.png" format="PNG"/> </imageobject> <imageobject> <imagedata fileref="screenshot.eps" format="EPS"/> </imageobject> <textobject> <phrase>Screenshot</phrase> </textobject> </mediaobject> </screenshot> </para>--> <sect1 id="kapp-features"> <title>More &kappname; features</title> <para> </para> </sect1> </chapter> <chapter id="commands"> <title>Command Reference</title> <!-- (OPTIONAL, BUT RECOMMENDED) This chapter should list all of the application windows and their menubar and toolbar commands for easy reference. Also include any keys that have a special function but have no equivalent in the menus or toolbars. This may not be necessary for small apps or apps with no tool or menu bars. --> <sect1 id="kapp-mainwindow"> <title>The main &kappname; window</title> <sect2> <title>The File Menu</title> <para> <variablelist> <varlistentry> <term><menuchoice> <guimenu>File</guimenu> <guimenuitem>Close</guimenuitem> </menuchoice></term> <listitem><para><action>Quits</action> the application.</para></listitem> </varlistentry> </variablelist> </para> </sect2> <sect2> <title>The Call Menu</title> <para> <variablelist> <varlistentry> <term><menuchoice> <guimenu>Call</guimenu> <guimenuitem>Dial</guimenuitem> </menuchoice></term> <listitem><para><action>Dials</action> the entered number.</para></listitem> </varlistentry> <varlistentry> <term><menuchoice> <guimenu>Call</guimenu> <guimenuitem>Accept</guimenuitem> </menuchoice></term> <listitem><para><action>Accepts</action> an incoming call.</para></listitem> </varlistentry> <varlistentry> <term><menuchoice> <guimenu>Call</guimenu> <guimenuitem>Reject</guimenuitem> </menuchoice></term> <listitem><para><action>Rejects</action> an incoming call. The caller be get a busy tone or will be redirected to your mailbox</para></listitem> </varlistentry> <varlistentry> <term><menuchoice> <guimenu>Call</guimenu> <guimenuitem>Hangup</guimenuitem> </menuchoice></term> <listitem><para><action>Ends</action> an ongoing call.</para></listitem> </varlistentry> <varlistentry> <term><menuchoice> <guimenu>Call</guimenu> <guimenuitem>Audio connection</guimenuitem> </menuchoice></term> <listitem><para><action>Switches</action> the audio path from your computer to the mobile phone or vice versa.</para></listitem> </varlistentry> </variablelist> </para> </sect2> <sect2> <title>The Call Menu</title> <para> <variablelist> <varlistentry> <term><menuchoice> <guimenu>Settings</guimenu> <guimenuitem>Configure shortcuts</guimenuitem> </menuchoice></term> <listitem><para>Lets you change the keyboard shortcuts for several functions.</para></listitem> </varlistentry> <varlistentry> <term><menuchoice> <guimenu>Settings</guimenu> <guimenuitem>Configure notifications</guimenuitem> </menuchoice></term> <listitem><para>Here you can change to sound of the ring tone etc. </para></listitem> </varlistentry> <varlistentry> <term><menuchoice> <guimenu>Settings</guimenu> <guimenuitem>Configure &kappname;</guimenuitem> </menuchoice></term> <listitem><para>Opens the main configuration dialog. </para></listitem> </varlistentry> </variablelist> </para> </sect2> <sect2> <title>The <guimenu>Help</guimenu> Menu</title> <!-- Assuming you have a standard help menu (help, what's this, about --> <!-- &kmyapplication;, about KDE) then the documentation is already written. --> <!-- The following entity is valid anywhere that a variablelist is --> <!-- valid. --> &help.menu.documentation; </sect2> </sect1> </chapter> <chapter id="developers"> <title>Developer's Guide to &kappname;</title> <!-- (OPTIONAL) A Programming/Scripting reference chapter should be used for apps that use plugins or that provide their own scripting hooks and/or development libraries. --> <para> At the moment, &kappname; doesn't provide a scripting interface. It is planned to add one later to be able to program answering machine scripts and the like. </para> <!-- Use refentries to describe APIs. Refentries are fairly complicated and you should consult the docbook reference for further details. The example below was taken from that reference and shortened a bit for readability. --> <!--<refentry id="re-1007-unmanagechildren-1"> <refmeta> <refentrytitle>XtUnmanageChildren</refentrytitle> <refmiscinfo>Xt - Geometry Management</refmiscinfo> </refmeta> <refnamediv> <refname>XtUnmanageChildren </refname> <refpurpose>remove a list of children from a parent widget's managed list. <indexterm id="ix-1007-unmanagechildren-1"><primary>widgets</primary><secondary>removing</secondary></indexterm> <indexterm id="ix-1007-unmanagechildren-2"><primary>XtUnmanageChildren</primary></indexterm> </refpurpose> </refnamediv> <refsynopsisdiv> <refsynopsisdivinfo> <date>4 March 1996</date> </refsynopsisdivinfo> <synopsis> void XtUnmanageChildren(<replaceable class="parameter">children</replaceable>, <replaceable class="parameter">num_children</replaceable>) WidgetList <replaceable class="parameter">children</replaceable>; Cardinal <replaceable class="parameter">num_children</replaceable>; </synopsis> <refsect2 id="r2-1007-unmanagechildren-1"> <title>Inputs</title> <variablelist> <varlistentry> <term><replaceable class="parameter">children</replaceable> </term> <listitem> <para>Specifies an array of child widgets. Each child must be of class RectObj or any subclass thereof. </para> </listitem> </varlistentry> <varlistentry> <term><replaceable class="parameter">num_children</replaceable> </term> <listitem> <para>Specifies the number of elements in <replaceable class="parameter">children</replaceable>. </para> </listitem> </varlistentry> </variablelist> </refsect2></refsynopsisdiv> <refsect1 id="r1-1007-unmanagechildren-1"> <title>Description </title> <para><function>XtUnmanageChildren()</function> unmaps the specified widgets and removes them from their parent's geometry management. The widgets will disappear from the screen, and (depending on its parent) may no longer have screen space allocated for them. </para> <para>Each of the widgets in the <replaceable class="parameter">children</replaceable> array must have the same parent. </para> <para>See the “Algorithm” section below for full details of the widget unmanagement procedure. </para> </refsect1> --> </chapter> <chapter id="faq"> <title>Questions and Answers</title> <!-- (OPTIONAL but recommended) This chapter should include all of the silly (and not-so-silly) newbie questions that fill up your mailbox. This chapter should be reserved for BRIEF questions and answers! If one question uses more than a page or so then it should probably be part of the "Using this Application" chapter instead. You should use links to cross-reference questions to the parts of your documentation that answer them. This is also a great place to provide pointers to other FAQ's if your users must do some complicated configuration on other programs in order for your application work. --> &reporting.bugs; &updating.documentation; <qandaset id="faqlist"> <qandaentry> <question> <para>My Mouse doesn't work. How do I quit &kappname;?</para> </question> <answer> <para>You silly goose! Check out the <link linkend="commands">Commands Section</link> for the answer.</para> </answer> </qandaentry> <qandaentry> <question> <para>Why can't I twiddle my documents?</para> </question> <answer> <para>You can only twiddle your documents if you have the foobar.lib installed.</para> </answer> </qandaentry> </qandaset> </chapter> <chapter id="credits"> <!-- Include credits for the programmers, documentation writers, and contributors here. The license for your software should then be included below the credits with a reference to the appropriate license file included in the KDE distribution. --> <title>Credits and License</title> <para> &kappname; </para> <para> Program copyright 2003 &Fred.Schaettgen; &Fred.Schaettgen.mail; </para> <!--<para> Contributors: <itemizedlist> <listitem><para>Konqui the KDE Dragon <email>konqui@kde.org</email></para> </listitem> <listitem><para>Tux the Linux Penguin <email>tux@linux.org</email></para> </listitem> </itemizedlist> </para>--> <para> Documentation Copyright © &Fred.Schaettgen; &Fred.Schaettgen.mail; </para> <!-- TRANS:CREDIT_FOR_TRANSLATORS --> &underFDL; <!-- FDL: do not remove --> <!-- Determine which license your application is licensed under, and delete all the remaining licenses below: (NOTE: All documentation are licensed under the FDL, regardless of what license the application uses) --> &underGPL; <!-- GPL License --> </chapter> <appendix id="installation"> <title>Installation</title> <sect1 id="getting-kapp"> <title>How to obtain &kappname;</title> <para> </para> <!-- This first entity contains boiler plate for applications that are part of KDE CVS. You should remove it if you are releasing your application --> <!--&install.intro.documentation;--> </sect1> <sect1 id="requirements"> <title>Requirements</title> <!-- List any special requirements for your application here. This should include: .Libraries or other software that is not included in kdesupport, kdelibs, or kdebase. .Hardware requirements like amount of RAM, disk space, graphics card capabilities, screen resolution, special expansion cards, etc. .Operating systems the app will run on. If your app is designed only for a specific OS, (you wrote a graphical LILO configurator for example) put this information here. --> <para> To actually talk using a headset or similar, &kappname; will need to open a SCO connection to your mobile phone. While BlueZ's support for Rfcomm, which is used to send commands to the phone is pretty stable since some time, support for voice over SCO is still not complete. At least until kernel 2.4.22 you'll need to apply a patch to make it work. For 2.4.22 this would be -mh1. You can find these patches on <ulink url="http://www.holtmann.org/linux/kernel/"> http://www.holtmann.org/linux/kernel/</ulink>. </para> <para> Also your luck will depend on the bluetooth adaptor you're using. I can't tell you a rule here. <command>hciconfig hci0 features</command> should list <computeroutput>SCO link</computeroutput>, but I have tried an old Mitsumi adaptor which claimed to support SCO, but still the sound wasn't acceptable. Newer adaptors based on CSR's chipset should work though. </para> </sect1> <sect1 id="compilation"> <title>Compilation and Installation</title> <para> KBTHandsfree is part of the KDE Bluetooth package. Please refer to the installation readme for the whole KDE Bluetooth distribution. </para> </sect1> <sect1 id="configuration"> <title>Configuration</title> <para> For voice support, your bluetooth adaptor's voice setting must be set to 0x0060. This is currently the default for BlueZ, but you should check if with <command>hciconfig hci0 voice</command> (as root). If the setting is different from 0x0060, you can change it to the corrent value with <command>hciconfig hci0 voice 0x0060</command>. </para> <para> If you only want to start the handsfree client manually from your computer, there is nothing left to do. Some phones like Sony/Ericssons T68i (but unlike Nokia's 3650 for example) try to connect to the handsfree - which is your computer - automatically when someone calls you. Therefore, &kappname; also acts as a server that waits for incoming bluetooth connections. To save resources, &kappname; doesn't run all the time, but is started automatically the kbluetoothd upon an incoming connection. You can enable/disable this server functionality in the control center (Network/Bluetooth). </para> <para> To make server mode work, your phone must be set up correctly. With the T68i, the computer must be the first item in the list of paired devices and it must be set up to use the handsfree (in the Bluetooth settings menu). </para> <para> The T68i won't recognize your phone as handsfree capable until you change the device class of you bluetooth adaptor from "Computer" to "Handsfree". To do this, you'll have to edit BlueZ's <filename>hcid.conf</filename>. In the device section, change the "class" line to <screen>class 0x00700408;</screen> and restart hcid. When you pair your computer again with your phone, the computer should appear with a headset icon instead of a computer now. AFAIK this shouldn't cause any problems with other common bluetooth applications like obex push etc, except for the changed icon. </para> </sect1> </appendix> &documentation.index; </book> <!-- Local Variables: mode: xml sgml-minimize-attributes:nil sgml-general-insert-case:lower sgml-indent-step:0 sgml-indent-data:nil End: vim:tabstop=2:shiftwidth=2:expandtab -->