John Wilund’s SrcEdit has had problems identifying the Treo 600′s 5way navigator – we managed to fix that a few days ago. John allowed me to share his routine with all of you:
Please have a look:
// From the Handspring headers // HsExtCommon.h
#ifndef hsFtrCreator
#define hsFtrCreator 'hsEx'
#endif
#ifndef hsFtrIDNavigationSupported // HsExtCommon.h
#define hsFtrIDNavigationSupported 14
#endif´
#ifndef sysFtrNumUIHardwareFlags // SystemMgr.h
#define sysFtrNumUIHardwareFlags 27
#endif
#ifndef sysFtrNumUIHardwareHas5Way // HsKeyCommon.h
#define sysFtrNumUIHardwareHas5Way 0x00000001
#endif
UInt32 val;
if (FtrGet (hsFtrCreator, hsFtrIDNavigationSupported, &val) == errNone)
// 5-Way Rocker
if (FtrGet (sysFileCSystem, sysFtrNumUIHardwareFlags, &val) == errNone)
{
if (val & sysFtrNumUIHardwareHas5Way)
// 5-Way Rocker
}
I just wonder what Treos the first and what Treos the second statement will find, respectively...
Related posts:

BTW this code has been updated in SrcEdit to better detect 5way. Check srcedit’s web site: http://trac.brainsware.org/srcedit/