The Symbian platform now includes AknLayoutUtils::PenEnabled() to
check for touch support at runtime to allow for reduced run-time memory consumption
if the device does not support touch.
Typical cases where AknLayoutUtils::PenEnabled() might
be useful include:
In the component’s constructor to skip the creation of touch-only component controls.
In the component’s HandleResourceChange, create
touch-only component controls if the layout is switched from a non-touchable
to a touchable one. Touch-only component controls should not be deleted.
In the component’s drawing code.
Note: AknLayoutUtils::PenEnabled() is supported from S60
3rd Edition, FP1, onwards.
void CMyAppContainer::ConstructL( const TRect& aRect )
{
CreateWindowL();
SetRect( aRect );
// If the device supports touch, construct long tap detector
if ( AknLayoutUtils::PenEnabled() )
{
iLongTapDetector = CAknLongTapDetector::NewL( this );
}
ActivateL();
}
Note: You cannot use AknLayoutUtils::PenEnabled() in .rss resource
files.