Emanoil Kotsev
c95a429826
|
2 years ago | |
---|---|---|
debian | 2 years ago | |
doc | 2 years ago | |
src | 2 years ago | |
translations | 2 years ago | |
.gitignore | 6 years ago | |
.gitmodules | 2 years ago | |
CMakeL10n.txt | 2 years ago | |
CMakeLists.txt | 2 years ago | |
COPYING | 2 years ago | |
ConfigureChecks.cmake | 2 years ago | |
Doxyfile | 2 years ago | |
INSTALL | 2 years ago | |
LICENSE | 6 years ago | |
README.md | 2 years ago | |
VERSION | 2 years ago | |
config.h.cmake | 2 years ago |
README.md
Overview
A set of applications to provide modern Bluetooth functionality to TDE.
Originally it was introduced around 2008 in SUSE, but it was not included in the main KDE3 set of applications.
Due to the major API change from Bluez4 to Bluez5 in Linux it was necessary to completely rewrite most of the applications while adding new and removing old parts of the functionality that were obsoleted.
Lack of devices for testing and differences in hardware standards make testing even more difficult and suggest unexpected behavior and issues. Please test and report back so that we can improve the application and its components.
Applications and libraries
tdebluez
This is the main application that provides the main functionality.
-
Requires at least bluez 5.43
-
It provides agent for pairing.
-
Allows to configure bluetooth adapters and devices.
-
User must be member of group netdev for /dev/rfkill access. This is required to make BT adapter switch on/off to work.
-
pulseaudio-module-bluetooth needs to be installed for a2dp to work
-
Tray icon
-
Adapter (device) configuration
-
Discovering devices
-
Device setup wizard
-
Pairing agent implements BlueZ D-Bus Agent API (example pairing with PIN)
-
Connect services (profiles)
libtdebluez
Almost complete rewrite for BlueZ 5 D-Bus API. This is the main library providing the core functionality.
libtdeobex
New for BlueZ 5 D-Bus API.
tdebluezioclient
This is an openobex command line client using tdeio_obex from libtdeobex.
Here is an example
tdebluezioclient ls obexopp:/[50:xx:xx:xx:xx:xx]:/Music
tdebluezauth
This is helper application that can be run stand alone, but it is usually started from tdebluez. It provides agent for authentication utilizing several DBus interfaces.
bluez-obexd
This can be seen as third party application that can be started as stand alone application or by tdebluez. It provides Obex FTP, OPP, Message Access, PSE.
- ObexFTP is working per default in ~/Download directory. If you want to change this, open .trinity/share/config/tdebluezrc and add/modify entry downloadDir=Downloads You can use absolute or relative path. Both absolute and relative can be used, but relative paths are assumed to be relative to user $HOME folder. Default $HOME/Downloads.
openobex
This is third party library providing functionality for SyncML like used in SyncEvolution. Please, note that only v1.5 works. v1.7 is broken.
Configuration
The configuration file is ~/.trinity/share/config/tdebluezrc
Here is an example
[20:xx:xx:xx:xx:xx]
profile=0000110a-0000-1000-8000-00805f9b34fb,0000111f-0000-1000-8000-00805f9b34fb
[38:xx:xx:xx:xx:xx]
profile=0000110a-0000-1000-8000-00805f9b34fb,0000111f-0000-1000-8000-00805f9b34fb
[3A:xx:xx:xx:xx:xx]
profile=0000110b-0000-1000-8000-00805f9b34fb
[50:xx:xx:xx:xx:xx]
profile=0000110b-0000-1000-8000-00805f9b34fb,00001108-0000-1000-8000-00805f9b34fb
[55:xx:xx:xx:xx:xx]
profile=0000110b-0000-1000-8000-00805f9b34fb,0000111e-0000-1000-8000-00805f9b34fb
[General]
authAgent=true
autoStart=true
downloadDir=Downloads
obexSrv=true
obexSrvExe[$e]=/usr/libexec/bluetooth/obexd
[Notification Messages]
systemtrayquitTDEBluetooth=false
Known issues
Please report back your experience, so that we can improve the code.
-
At the moment support for only one adapter was tested.
-
Due to lack of HID devices, the code was tested only with ** mobile phones (Android, Sailfish OS) ** headset ** head phones
-
The ioslaves support only file/directory listing.
Improvements
14.1 TODO List
- fix the Async error while pairing (and connecting) [done]
- Async error is OK and correct
- some profiles are not compatible with other profiles (can not be connected simultaniusly)
- Connecting now works with more than one device
- it can connect one device at a time
- some profiles are allowed to connect only once
- Async error is OK and correct
- flip the mouse press button on the tray icon [done]
- fix the wizard when pairing (test with Android phone and non Android also with Headsets) [done]
- add some logic so that sub-processes are killed in case tdebluez crashes
After the 14.1 release
- add obexFTP/OPP support
- add support for multiple adapters
- add autoconnect option
- Port the UUID logic from https://codebrowser.dev/qt5/qtconnectivity/src/bluetooth/qbluetoothuuid.h.html