×

Discussion Board

Results 1 to 8 of 8
  1. #1
    Registered User
    Join Date
    Jul 2007
    Posts
    18

    Amora: PyS60 app to control Linux

    Dear friends

    I'm not sure if the forum can be used to announce opensource projects using PyS60... but I wish to talk about a little project that I'm working in my spare time.

    Its name is Amora (A mobile remote assistant) and its main objective is to make possible to use your S60 cellphone to control mouse and keyboard events in Linux desktop.

    == History ==

    The primary focus of this project is easy of use and it was created to answer my need of an easy way to control slides/movies in my Linux machine.

    Around 4 months ago, I tested the alternatives available at time, but all them fitted in one of the cases:

    - Windows only (or poor support for Linux)

    - Abandoned, no longer maintained

    - Unstable/bad performance

    - Confusing user interface

    As an opensource project, you can check the code in
    http://code.google.com/p/amora.


    == Features ==

    Mouse drag, double clicking, mouse left button and some common keyboard keys are supported (ENTER, ESC, SPACE, F5, Arrow key left/right, 'F', etc).

    It has a feature that makes possible to take a screen shot of the active window in your desktop and see the thumbnail in the cellphone. In the models tested (Nokia N93 and E61) it looks really nice.


    == Architecture ==

    The communication is over bluetooth, and the speed is quite good too. The application is compounded of 2 parts:

    - Client: written in Python (PyS60), runs in the cellphone

    - Server: written in ANSI C, runs in the Linux computer


    == Status ==

    It is already quite stable, the performance is really good and it can handle some extreme cases pretty well (e.g. the server can detect when cellphone is turned off, client can detect when the server stopped running, server only starts if there is a bluetooth dongle plugged, both applications can be started individually, etc).

    To run the client, you will need Python 1.4 or 1.3 installed in your Nokia S60. Instructions to compile the server side are available (http://code.google.com/p/amora/wiki/projectDetails), but it really is just a matter of runnning: ./configure; make; ./amora

    Still there are some bugs lurking around, the interface still needs some features. It was tested mainly in Ubuntu environment (6.04, 6.10, 7.04 in both 32bits and 64bits modes) but should compile and run fine in other distributions.


    == Final remarks ==

    The whole idea is not original (in fact, not only already exists some projects for linux as also there are some commercial softwares for Windows that does the same), but my focus is to make something that is simple and just works. The primary platform target is Linux and I have plans to port the server for other Unix O.S (FreeBSD, Solaris, Mac OSX). MS-Windows port is *not* in the plans, because it really is not needed.

    If you have some spare time and can test it, great! New features requests, bug reports, code and icon/wallpaper art are both welcomed.



    Best regards


    Savago

  2. #2
    Registered User
    Join Date
    Jun 2005
    Posts
    386

    Re: Amora: PyS60 app to control Linux

    Whoa! That's a very nice application.

    Thank you very much for your effort. Such open source projects should be supported in any possible way by the community.

    Keep it up!

  3. #3
    Registered User
    Join Date
    Feb 2007
    Posts
    20

    Re: Amora: PyS60 app to control Linux

    Thanks guys! Your the greatest! These two apps i've been searching for! Yak's Ped is the greatest text editor ever! Just waiting for the 3rd edition sis!

    And i tried a million remotecontrol apps with ubuntu, never got any of them working properly! Hope yours is better(easier) savago?Can't wait getting home and try it out...

  4. #4
    Registered User
    Join Date
    Feb 2007
    Posts
    20

    Thumbs up Re: Amora: PyS60 app to control Linux

    Good work Savago + 'team!'

    Tried out Amaro and its on the right track! really looks good!
    Hope you keep this up!
    pretty easy to get running...
    only problem i had ->

    did this (on Ubuntu feisty-fawn)
    ---------------------------------------------------------------------------------------------------
    $sudo apt-get install gcc libxext-dev libbluetooth2-dev libimlib2-dev
    $mkdir build
    $cd build
    $../configure

    bla,bla...
    .......
    ...
    checking for LIBBLUEZ... yes
    checking for LIBX11... yes
    checking for LIBXTST... no
    configure: error: "*** Xtst developement files not found! You need it to build Amora Server. ***"
    -------------------------------------------------------------------------------------------------

    so i did this...

    -----------------------------------------------------------------------------------------------
    $ sudo apt-get install libxtst-dev
    $../configure
    bla,bla...
    ........
    ........
    config.status: creating config.h
    config.status: executing depfiles commands

    Amora Server 0.8 configuration:
    -----------------------------
    Source code location: ..
    Host System Type: i686-pc-linux-gnu
    Compiler: gcc
    CFLAGS: -g -O2
    Libraries: -lbluetooth -lX11 -lXtst -lImlib2
    Install path (prefix): /usr/local

    Now type 'make' to build Amora Server 0.8.

    $make

    voila!

    :~/Desktop/amora_server-0.8/build$ ./amora

    Initialization done, waiting cellphone connection...

    Entering main loop...

    Accepted connection. Client is 00:18:47:ÖB:17:8E

    and everything seem to work?
    Im really a newbie so hope i did something right

  5. #5
    Registered User
    Join Date
    Apr 2004
    Posts
    5

    Re: Amora: PyS60 app to control Linux

    Thanks for this really cool app! It does exactly what I wanted to implement for a long time already

    Tested it on a Nokia E65 (PyS60 1.4.0) plus Debian lenny, it works as a charm.

    Still, several feature requests come to my mind:
    • configurable keyboard bindings: send the raw keypress events from the client and make a server-side mapping, which can be changed at run-time. this would allow controlling any desired X11 app
    • joystick cursor mode (like in scummvm) - the E65 is a slider, so I can't go <back> in a presentation in slider-closed mode
    • relative mouse pointer movement: only report position changes from client to server. this would fix this bug and scrolling off-screen (you can scroll to x=-100 and have to scroll all the way back), also you would be able to use mouse and cell phone without jumpy cursors
    • optional screenshot zoom: snapshot at 1:1 from current cursor position / whole window
    • auto-connect to the default host on app start + automatically start the session
    • a bug-tracking system not requiring Yet Another Single Logon System Account...


    I'd really love to see this project evolve!
    Last edited by ge0rg; 2007-09-28 at 16:02. Reason: added auto-connect feature request

  6. #6
    Registered User
    Join Date
    Jul 2007
    Posts
    18

    Re: Amora: PyS60 app to control Linux

    Friends

    Thanks for the nice comments.

    Jabi78, I forgot to include in the instructions how to install libXTest, thanks for your comments I already added this to project wiki. My machine is already tainted, since it has almost any 'devel' package available...

    By reading your description, I think you got it working. You should being able to capture screenshots using keyboard '2' key. Use the cellphone’s joystick to move the mouse cursor (further keymapping information can be checked on the ‘help’ windows *before* connecting to computer).

    geOrg: up until now, I had not tested Amora client in a slide cellphone... what a shame!

    Once (a long time...) I installed scummvm, but can't remember what exactly is 'joystick cursor mode'. Could you please elaborate more on this idea?
    :-)

    Mouse cursor moving is one area I'm planing to work on next release. The planned fixes includes the relative position movement and other minor bugs.

    Screenshot displaying is another area that I have some ideas... but those will need to wait. Fixing bugs first is my priority (to have a software that *really* works!).

    Concerning a discussion forum, most of OSS/Free projects require an account creation together with login. But google code was not projected to host discussion forums, maybe I should create a Sourceforge account and use their forum resources.


    Best regards


    Savago

  7. #7
    Registered User
    Join Date
    Apr 2004
    Posts
    5

    Re: Amora: PyS60 app to control Linux

    What I meant with joystick cursor mode is basically the possibility to change the cell phone joystick from mouse mode to cursor mode:

    mouse mode = move mouse with joystick
    cursor mode = emulate cursor keys with joystick

    This change should be bound to a key (or even a key combination) so you can control your mouse or your cursor keys, depending on the situation you are in.

  8. #8
    Registered User
    Join Date
    Jul 2007
    Posts
    18

    Re: Amora: PyS60 app to control Linux

    ge0rg

    Now I understood. In fact, it is a really nice feature to implement for slider devices (and also I think its preatty easy to code it too).

    Best regards


    Savago

Similar Threads

  1. Replies: 0
    Last Post: 2006-06-12, 12:25
  2. Run PyS60 App from a SMS
    By aymanshamma in forum Symbian
    Replies: 2
    Last Post: 2006-04-13, 09:30
  3. New Linux driver (1.06) for Nokia D211 now available!
    By Nokia_D211_Support in forum Multimodecards
    Replies: 0
    Last Post: 2003-05-19, 12:47
  4. Linux WLAN driver control for C110 and/or D211
    By Jmanner in forum Multimodecards
    Replies: 0
    Last Post: 2002-07-05, 10:29
  5. D211
    By arleth in forum Multimodecards
    Replies: 7
    Last Post: 1970-01-01, 02:00

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •