Original Thread: http://forum.xda-developers.com/showthread.php?t=412491
Different approach by writing an own touch.dll: http://forum.xda-developers.com/showthread.php?t=450256
This Software lets the phone vibrate when the touchscreen is touched. This feature is knwon from the Samsung Omnia Phone for example. It gives a better response and feeling for a finger tip on the screen.
It consists of two parts. The first one is VOA aka vibrate.exe (which is already mentioned in different threads) by Const and a configuration part VOAConfig by Kisja.
VOA is not developed anymore and the sources are not availible. To optimize the reaction and some other things (see TODO later) we need to rewrite VOA. Since I have not enough time for it, we need someone who has experience in development. I could help with some ideas, since I know how VOA works. Send mit a PN or simply reply on this thread!
Current version with VOA 01.10.2008 and VOAConfig v1.5: Vibration_Feedback_1.5_01.10.2008_volume fix.cab
VOA by Const
It's a little application which runs in background and reacts on user activities with vibration.
- Vibrate always on touch events (mouse down, or mouse up)
- Vibrate only if SIP is active
- Vibrate on Key press (hardware keys)
- Adjustable vibration (duration in ms)
- configuration over command line parameters
- fully event based, so only battery consumption while vibrating
- No runtimes needed (pure C++ application)
- Works with WM 5+ (not 2003)
Command Line Parameters:
-nled: Which nled to use (1 on Diamond)
-len: vibration duration in milliseconds
-ondown: 0 - on mouse up, 1 - on mouse down
-onsip: 0 - handle every touch event, 1 - vibrate only if SIP (or phone) is active
-keyon: 1 - Vibrate on Key press (is not affected by onsip!)
01.10.2008 - Fix for volume buttons (HTC Diamond), the keyboard part of the code is completely disabled if onkey 0 is set 10.09.2008 - improved vibration length/strength - With short values (10-30) is the vibration like in Teeter - Phone Dialpad support if onsip 1 is set 08.09.2008 - support for HTC Diamond
- lags while fast typing (vibration doesn't stop or no input possible while vibrating, seems to be ROM or Phone dependent)
- Volume keys are blocked on HTC Diamond if onkey is set to 1. Don't use key vibration or enable the default windows volume bubble to have workung response and volume keys (Use Diamond Tweak for example).
- vibrates during an active call, if dialpad vibration is enabled
VOA*.zip contains VOA.EXE and an exaple VOA.LNK file for launching VOA with desired parameters
With volume buttons fix: VOA_01.10.2008_volume_fix.zip
With Dialpad support: VOA_10.09.2008_Dialpad.zip
Without Dialpad support: VOA_10.09.2008.zip
VOAConfig by Kisja
This application makes the configuration of VOA more simple.
- Choose activity mode (always/SIP only) (-onsip 0/1)
- Enable Vibration on Keys (-onkey 0/1)
- Enable VOA on startup (autostart)
- Choose vibration duration/strength (-len x)
- Start/Stop VOA
- Saves settings in registry
- Source code open (VisualBasic .NET/VS 2008 Solution)
- .NET 2.0/3.5 Runtime needed
1) Adjust settings as desired
2) Tap on "Save" to save settings to registry and create new startup link
3) Tap on "Start/Stop" twice to restart VOA or reset device
- Restart VOA automatically after saving configuration
16.09.2008 v.1.5 - vibration strength costumization optimized. Select between "low", "middle", "high" and adjust more prcise with the slider - "Advanced Options" in "Options" menu: - select NLED Interface (-nled option in VOA) - select Event to react on (-ondown option in VOA) - VOA is started using CreateProcess Call from coredll.dll (see "help needed" please!) 10.09.2008 v.1.4 - Startup folder not hardcoded anymore, instead a localized path is used (Environment.GetFolderPath)
The CAB file includes both applications in a single install file.
The version number reflects the version of VOAConfig and the Date stands for the release Date of VOA.
V 1.5 with current VOA in a cab: Vibration_Feedback_1.5_01.10.2008_volume fix.cab
Source (VS 2008 VB .NET Solution): VOAConfig_1.5_Source.zip
What it does not do
and what will possibly never be implemented:
- hook in other applications. VOA uses a systemwide activity timer to recognize events and does not communicate directly with other applications. This causes sometimes a little lag between the touch event and the vibration. Hooking into other applications would speed it up, but most applications do not have public events to react on.
- reduce touch screen area (for which vibration is activated) to windows borders or something else (think of SIP). VOA reacts on touch events on the whole touch screen.