ReMoko

From Openmoko

(Difference between revisions)
Jump to: navigation, search
(Known Issus)
(Wish List)
Line 109: Line 109:
 
* A MythTV remote would be handy, just a subset of a BT keyboard for common commands with a few nice icons rather than letters on (large) keys.
 
* A MythTV remote would be handy, just a subset of a BT keyboard for common commands with a few nice icons rather than letters on (large) keys.
 
* Avahi search for HTTP services labeled say "remote" via ethernet (BT/LAN or Wifi). MythTV/Elisa and OOPresentation can develop their own html/flash/javascript/etc. "remotes" to hearts content without fine-grain syncing every change of code/GUI/API with your "OpenMoko Remote App". Avahi/HTTP also lets desktop/laptop browsers to control "remotes"; this means a bigger community.
 
* Avahi search for HTTP services labeled say "remote" via ethernet (BT/LAN or Wifi). MythTV/Elisa and OOPresentation can develop their own html/flash/javascript/etc. "remotes" to hearts content without fine-grain syncing every change of code/GUI/API with your "OpenMoko Remote App". Avahi/HTTP also lets desktop/laptop browsers to control "remotes"; this means a bigger community.
 +
* Have one Neo work as a keyboard for another Neo (which becomes the screen)! (should be possible even now i guess)
 
* '''Add your wish here'''
 
* '''Add your wish here'''
  

Revision as of 07:10, 10 August 2008

Contents

About

  • Openmoko remote controller is a SoC 08 project, that aims to write a application that can make Openmoko-powered devices appear to be a mixed Bluetooth keyboard-and-mouse device.
  • Student: Valério Valério
  • Mentor: Daniel Willmann

ReMoko v0.1

Downloads

ReMoko Packages

Install Instructions

  • FSO Milestone 2
    • The FSO images built before 20080807 have a bug in the framework bluetooth system, to use remoko in a older FSO image you will need to change the lines below in '/usr/lib/python2.5/site-packages/framework/subsystems/ousaged/generic.py':
      • 98
        • - proxy = self.bus.get_object( "org.freesmartphone.Device", "/org/freesmartphone/Device/PowerControl/" + self.name )
        • + proxy = self.bus.get_object( "org.freesmartphone.odeviced", "/org/freesmartphone/Device/PowerControl/" + self.name )
      • 209
        • - genericUsageControl.addResource( DummyResource( genericUsageControl, "Bluetooth" ) )
        • + genericUsageControl.addResource( ODeviceDResource( genericUsageControl, "Bluetooth" ) )

after that you will need to restart the framework (kill the process and start it again or simply restart the device).

  • ASU 2008.08
    • The User must power on the bluetooth before run ReMoko, because ASU don't have the OpenMoko framework yet - careful with this bug: Ticket #1744;
    • Require remoko_0.1.1;
    • Keyboard not working at the moment, because ASU don't have the illume keyboard yet;

Usage

  • Linux
    • Start the remoko app in the neo;
    • In a shell type 'hidd --connect <neo_bt_addr>' (need root privileges) or use a user interface to choose the neo as a bluetooth keyboard;
  • Windows XP and Media Center Edition
    • Start the remoko app in the neo;
    • Go to the bluetooth preferences and choose 'Add a new device';
    • Choose the neo (default name is 'BlueZ (0)') and choose 'no password';

Features

  • Connection
    • Connection to the majority of the bluetooth stacks;
    • Connection status daemon (possibility to connect to the remote device when the connection are closed);
    • Information about the remote device;
  • Mouse Profile
    • 3 button's mouse;
    • Left button mouse holding (for drawing for example);
    • Tapping functionality, like a touchpad;
    • Vertical Scroll;
  • Keyboard Profile
    • Full qwerty keyboard;
    • Numeric keyboard;
    • Holding for Capslock, Shift, Control, Alt and Control + Alt;
    • Mouse area with tapping functionality;

Known Issus

  • The 'backslash' key is wrong mapped;
  • In illume keyboard in the FSO milestone 2 have some bug's yet in the default profile and in the numbers profile;
  • Connection problems with Symbian S60 devices with BT-HID keyboard app provided by Nokia;

Tested Bluetooth Stacks

  • Working
    • Linux BlueZ Stack
    • Windows XP SP2
    • Windows Media Center Edition (Toshiba Bluetooth Stack)
  • Not Working
    • Symbian Nokia's S60 - tested with Nokia Navigator (probably a BlueZ SDP bug)

TODO

  • Presentation profile;
  • Multimedia profile;
  • Games profile;
  • Accelerometer profile:

Need help in:

  • Application logo (Tag name: ReMoko);
  • Set of menu icon related to the neo (Icons in use are from the Gnome project, enlightenment project and Nenadgrujicic. ReMoko icon made by Fradeve11)

Ideas for the application name

  • MokoRemote
  • BlueRemote
  • ReMoko or ReMoto (maybe some character that's a combination of t and k, at least in the splash/logo)
  • Mokomote
  • Mokomo (shorter)
  • FreeMote (Builds on freerunner and remote) -- +1 vote
  • MokoKeyMouse (It can be a bit too long, so you can make it shorter as: MKM)
  • Add your idea here

  • Mokomote.png
    svg source avaiable, contact me --Fradeve11 15:14, 27 April 2008 (CEST)
  • Add your idea here

Wish List

  • Possibility to control presentations easily (few buttons, PG-UP, PG-DOWN for example) - In progress
    • maybe even navigation via gestures
    • possibly use the touchscreen similar to a touchpad (mouse) - Done
      • maybe it is too much, but if you manage to make the touchpad, you could get a small screenshot of the big screen (it is useful for presentations if you want to draw/write something without quality).
  • ideally generic GUI that loads controls from some xml config file to make it fully customizable for different purposes (media remote, presenter stick, ...)
  • Connect as a Bluetooth remote to a Sony Playstation 3 for Bluray/DVD playback. (JReese)
  • Make use of profiles to change the interface easy and fast (interface for mouse, keyboard, a mix of those two, presentations, remote controller for videos and music, ...) - In progress
  • Top part of screen as touch-pad, row of three mouse buttons across middle and whichever keyboard the user usually uses on the phone popped-up at the bottom as when adding text in any other app. - In progress
  • A MythTV remote would be handy, just a subset of a BT keyboard for common commands with a few nice icons rather than letters on (large) keys.
  • Avahi search for HTTP services labeled say "remote" via ethernet (BT/LAN or Wifi). MythTV/Elisa and OOPresentation can develop their own html/flash/javascript/etc. "remotes" to hearts content without fine-grain syncing every change of code/GUI/API with your "OpenMoko Remote App". Avahi/HTTP also lets desktop/laptop browsers to control "remotes"; this means a bigger community.
  • Have one Neo work as a keyboard for another Neo (which becomes the screen)! (should be possible even now i guess)
  • Add your wish here

Roadmap

  • 1- Write a HID BlueZ driver that can enable the Openmoko to be seen as a mixed keyboard and mouse in the three major OS's. - Done
  • 2- Map keys and mouse gestures to the USB HID usage tables. - Done
  • 3- Write the UI and some other features. - In progress
Personal tools

About

  • Openmoko remote controller is a SoC 08 project, that aims to write a application that can make Openmoko-powered devices appear to be a mixed Bluetooth keyboard-and-mouse device.
  • Student: Valério Valério
  • Mentor: Daniel Willmann

ReMoko v0.1

Downloads

ReMoko Packages

Install Instructions

  • FSO Milestone 2
    • The FSO images built before 20080807 have a bug in the framework bluetooth system, to use remoko in a older FSO image you will need to change the lines below in '/usr/lib/python2.5/site-packages/framework/subsystems/ousaged/generic.py':
      • 98
        • - proxy = self.bus.get_object( "org.freesmartphone.Device", "/org/freesmartphone/Device/PowerControl/" + self.name )
        • + proxy = self.bus.get_object( "org.freesmartphone.odeviced", "/org/freesmartphone/Device/PowerControl/" + self.name )
      • 209
        • - genericUsageControl.addResource( DummyResource( genericUsageControl, "Bluetooth" ) )
        • + genericUsageControl.addResource( ODeviceDResource( genericUsageControl, "Bluetooth" ) )

after that you will need to restart the framework (kill the process and start it again or simply restart the device).

  • ASU 2008.08
    • The User must power on the bluetooth before run ReMoko, because ASU don't have the OpenMoko framework yet - careful with this bug: Ticket #1744;
    • Require remoko_0.1.1;
    • Keyboard not working at the moment, because ASU don't have the illume keyboard yet;

Usage

  • Linux
    • Start the remoko app in the neo;
    • In a shell type 'hidd --connect <neo_bt_addr>' (need root privileges) or use a user interface to choose the neo as a bluetooth keyboard;
  • Windows XP and Media Center Edition
    • Start the remoko app in the neo;
    • Go to the bluetooth preferences and choose 'Add a new device';
    • Choose the neo (default name is 'BlueZ (0)') and choose 'no password';

Features

  • Connection
    • Connection to the majority of the bluetooth stacks;
    • Connection status daemon (possibility to connect to the remote device when the connection are closed);
    • Information about the remote device;
  • Mouse Profile
    • 3 button's mouse;
    • Left button mouse holding (for drawing for example);
    • Tapping functionality, like a touchpad;
    • Vertical Scroll;
  • Keyboard Profile
    • Full qwerty keyboard;
    • Numeric keyboard;
    • Holding for Capslock, Shift, Control, Alt and Control + Alt;
    • Mouse area with tapping functionality;

Known Issus

  • The 'backslash' key is wrong mapped;
  • In illume keyboard in the FSO milestone 2 have some bug's yet in the default profile and in the numbers profile;
  • Connection problems with Symbian S60 devices with BT-HID keyboard app provided by Nokia;

Tested Bluetooth Stacks

  • Working
    • Linux BlueZ Stack
    • Windows XP SP2
    • Windows Media Center Edition (Toshiba Bluetooth Stack)
  • Not Working
    • Symbian Nokia's S60 - tested with Nokia Navigator (probably a BlueZ SDP bug)

TODO

  • Presentation profile;
  • Multimedia profile;
  • Games profile;
  • Accelerometer profile:

Need help in:

  • Application logo (Tag name: ReMoko);
  • Set of menu icon related to the neo (Icons in use are from the Gnome project, enlightenment project and Nenadgrujicic. ReMoko icon made by Fradeve11)

Ideas for the application name

  • MokoRemote
  • BlueRemote
  • ReMoko or ReMoto (maybe some character that's a combination of t and k, at least in the splash/logo)
  • Mokomote
  • Mokomo (shorter)
  • FreeMote (Builds on freerunner and remote) -- +1 vote
  • MokoKeyMouse (It can be a bit too long, so you can make it shorter as: MKM)
  • Add your idea here

  • Mokomote.png
    svg source avaiable, contact me --Fradeve11 15:14, 27 April 2008 (CEST)
  • Add your idea here

Wish List

  • Possibility to control presentations easily (few buttons, PG-UP, PG-DOWN for example) - In progress
    • maybe even navigation via gestures
    • possibly use the touchscreen similar to a touchpad (mouse) - Done
      • maybe it is too much, but if you manage to make the touchpad, you could get a small screenshot of the big screen (it is useful for presentations if you want to draw/write something without quality).
  • ideally generic GUI that loads controls from some xml config file to make it fully customizable for different purposes (media remote, presenter stick, ...)
  • Connect as a Bluetooth remote to a Sony Playstation 3 for Bluray/DVD playback. (JReese)
  • Make use of profiles to change the interface easy and fast (interface for mouse, keyboard, a mix of those two, presentations, remote controller for videos and music, ...) - In progress
  • Top part of screen as touch-pad, row of three mouse buttons across middle and whichever keyboard the user usually uses on the phone popped-up at the bottom as when adding text in any other app. - In progress
  • A MythTV remote would be handy, just a subset of a BT keyboard for common commands with a few nice icons rather than letters on (large) keys.
  • Avahi search for HTTP services labeled say "remote" via ethernet (BT/LAN or Wifi). MythTV/Elisa and OOPresentation can develop their own html/flash/javascript/etc. "remotes" to hearts content without fine-grain syncing every change of code/GUI/API with your "OpenMoko Remote App". Avahi/HTTP also lets desktop/laptop browsers to control "remotes"; this means a bigger community.
  • Have one Neo work as a keyboard for another Neo (which becomes the screen)! (should be possible even now i guess)
  • Add your wish here

Roadmap

  • 1- Write a HID BlueZ driver that can enable the Openmoko to be seen as a mixed keyboard and mouse in the three major OS's. - Done
  • 2- Map keys and mouse gestures to the USB HID usage tables. - Done
  • 3- Write the UI and some other features. - In progress