ReMoko
From Openmoko
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
Downloads
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':
Line 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 )
Line 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
- Careful with this bug: Ticket #1744;
- Require remoko_0.2;
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;
- Settings Profile
- Option to run the app in fullscreen mode or window mode;
- Option to set the sensitivity of the mouse scroll;
Known Issus
- In some images (last FSO) the keyboard only show up, if the app is in window mode;
- 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
- 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)
ScreenShots
File:Menu.png File:Mouse profile.png
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
Ideas for the application logo
-
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) - Done
- 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