ReMoko

From Openmoko

(Difference between revisions)
Jump to: navigation, search
(Instructions)
(Instructions)
Line 13: Line 13:
 
** 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 this lines in ....:
 
** 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 this lines in ....:
  
98
+
**98
-        proxy = self.bus.get_object( "org.freesmartphone.Device", "/org/freesmartphone/Device/PowerControl/" + self.name )
+
***-        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 )
+
***+        proxy = self.bus.get_object( "org.freesmartphone.odeviced", "/org/freesmartphone/Device/PowerControl/" + self.name )
  
209
+
**209
-    genericUsageControl.addResource( DummyResource( genericUsageControl, "Bluetooth" ) )
+
***-    genericUsageControl.addResource( DummyResource( genericUsageControl, "Bluetooth" ) )
+    genericUsageControl.addResource( ODeviceDResource( 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).
 
after that you will need to restart the framework (kill the process and start it again or simply restart the device).

Revision as of 19:29, 7 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.3

Instructions

  • Pre-requisites
    • Remoko depends on the Openmoko framework;
    • 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 this lines in ....:
    • 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).

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;

Known Bugs

  • 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)

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.
  • 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.3

Instructions

  • Pre-requisites
    • Remoko depends on the Openmoko framework;
    • 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 this lines in ....:

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).

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;

Known Bugs

  • 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)

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.
  • 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