Pytriloquist is a Python-based Bluetooth remote control app for S60 5th Edition devices. I developed this app in two weekends while exploring my brand new smartphone, a Nokia 5800 Xpress Music.
Author: | Daniel Fernandes Martins <daniel@destaquenet.com> |
---|---|
Company: | Destaquenet Technology Solutions |
- Multi-lingual interface (English and Brazilian Portuguese);
- Configurable applications and commands;
- Full touchpad support.
Warning
This app is just a prototype; it's not intended to be used "in production". If you do so, do at your own risk.
- Linux operating system with Bluetooth card;
- Python 2.5+;
- Python Bluetooth stack (like PyBluez);
- xautomation (used to reproduce the mouse gestures on the X11 server).
Run the following command to start up the server:
$ python src/server/pytriloquist.py [-c CONFIG_MODULE]
- S60 5th Edition device with touch support;
- Python for S60 1.9.7+;
- Translate-toolkit package;
To be able to package the client app to a .sis file, you need to download and extract Python for S60 to your computer.
Then, open Makeconf
and change the PYS60_DIR
variable to make it point
to that directory.
Finally, run make
to build two packages:
- A .sis package (unsigned);
- A .sisx package (signed with the built-in certificates).
Just upload the appropriate package to your device to install it.
On your device, open the Applications menu and launch Pytriloquist from there.
Python for S60 has some serious issues with btsocket.bt_discover()
,
which is the function used to perform Bluetooth device/service lookup. Thus,
you are required to configure the server address manually using the Settings
dialog. Run hcitool dev
on the server to find out the address of your
bluetooth card.
Once configured, you can use the input touchpad and add commands to be executed on the server.
The three mouse buttons are located on the bottom-left corner of the screen, and the light gray rectangles are the scrollbars.
It works pretty much like a laptop's touchpad. The only exception is the drag and drop gesture; touch the mouse button, move the finger/stylus outside the button area and release to start dragging. Touch the button again to stop.
Yes, although you can easily modify the server script to make it work with other operating systems as well. But that's up to you.
The Python port for the S60 platform is a work in progress, so expect lots of bugs and shortcomings. If you pretend to create professional apps for S60, do it in C++.