===============
Cyph's EZX-OPIE
===============
SUMMARY
OPIE compiled with a modified QT library to allow it to get events from a EZX event proxy program. Basically this means that you can now run OPIE simultaneously with normal phone apps. No more killing the entire application stack just to boot up OPIE. Able to answer calls and receive SMSes while in OPIE too.
DESCRIPTION
The heart of this package consists of an EZX program called opieproxy (opie/bin/op). Its a very simple application that creates a fullscreen window(which is painted a solid yellow) and uses that window to capture mouse and key events. These events will then be sent to a UNIX socket (/tmp/opieproxy).
Meanwhile, OPIE running on a modified QT library will connect to that socket and retrieve mouse and key events. Instead of opening the touchpanel and keypad devices, it will open one socket connection and use that as its source of events.
All OPIE applications will open the framebuffer as usual. Since the opieproxy opens a fullscreen window, EZX applications will not paint on the framebuffer. However, when an EZX application grabs the focus (e.g. A call is coming in), opieproxy will lose focus and send a command to OPIE's modified QT to cease drawing on the screen.
Switching between EZX and OPIE is handled by another EZX program, opieproxycommand (opie/bin/opc). This uses a QCopChannel to talk to opieproxy to either go fullscreen or hide itself.
This package automatically mounts a cramfs image on the SD/MMC using loopback. It also sets up a 64MB swap file, because running EZX and OPIE together causes both to crawl (trust me).
USAGE
You will need:
- SD/MMC with about 100MB free
- E680i (not tested with other EZX phones)
- LinLoader
- Patience
To start off:
1. Unzip ezx-opie.zip
2. Copy the opie directory into the root of your SD/MMC
3. In the phone's file manager, go to the opie directory and click on startopie.lin
4. Your phone's screen will be painted a solid yellow. Wait. Starting OPIE for the first time takes around 1min. The script will create the swapfile and OPIE has to do first time initializations.
To switch from OPIE to EZX:
Under "Applications", click on "Resume EZX".
OR
Lock and unlock the phone.
To switch from EZX to OPIE:
Run resumeopie.lin
To exit OPIE:
Click on the OPIE icon and click "Logout"
Even when you have exited OPIE, the SD/MMC cannot be ejected. This is because startopie.lin keeps the loopback and swap active. Before ejecting the SD/MMC run beforeject.lin to turn off swap and free the loopback device.
BUGS
- Sound does not work.
- Tapping at the top of the screen sometimes cause the opieproxy window to be moved.