Archived:Camera shutter key (EKeyCamera events) cannot be used in 3rd party applications (Known Issue)
The camera shutter key cannot be used for capturing images, because it is reserved for the system camera application.
Article Metadata
Tested with
Devices without AutoFocus capability
Compatibility
S60 3rd Edition
Article
Description
The SDK header eikon.hrh lists the key code for the camera shutter key (EKeyCamera). However, key events from EKeyCamera are consumed and sent to the system camera application only, and cannot be captured by 3rd parties.
Solution
No solution available (for EKeyCamera events).
Devices with AutoFocus capability:
Devices that have a camera with AutoFocus capability use a different key code for the shutter key. Events from this key can be captured if the application has SwEvent capability.
#define EKeyCameraShutter 0xf883
#define EKeyCameraShutter2 0xf849 // S60 3rd Ed, FP2
Events from this key need to be explicitly requested from the window server:
// Capture events from the camera shutter key
// (SwEvent capability required)
iCameraKeyHandle =
iCoeEnv->RootWin().CaptureKey( EKeyCameraShutter, 0, 0 );
The return value iCameraKeyHandle (TInt32) is used for canceling the key capture request, typically when exiting the application:
if ( iCameraKeyHandle >= 0 )
{
iCoeEnv->RootWin().CancelCaptureKey(iCameraKeyHandle);
}
Focus key events:
Pressing the shutter key halfway down generates separate key events. EEventKeyDown and EEventKeyUp events from this key can be detected with the following scan code:
#define EStdKeyCameraFocus 0xe2
#define EStdKeyCameraFocus2 0xeb // S60 3rd Ed, FP2


Stolik - Belle needs CaptureKeyUpAndDowns
In Belle capturing up and down of focus/shutter keys is needed for avoiding start of built-in camera app. see:
http://www.developer.nokia.com/Community/Wiki/Camera_key_handling_in_Symbian_Bellestolik 12:46, 16 February 2012 (EET)