1187 TEventCode aType) |
1187 TEventCode aType) |
1188 { |
1188 { |
1189 TRACE_INFO( (_L("[HID]\tCHidKeyboardDriver::WindowGroupForKeyEvent: type %d, kc 0x%08x, sc 0x%08x, mod 0x%06x, rep %d]"), |
1189 TRACE_INFO( (_L("[HID]\tCHidKeyboardDriver::WindowGroupForKeyEvent: type %d, kc 0x%08x, sc 0x%08x, mod 0x%06x, rep %d]"), |
1190 aType, aKeyEvent.iCode, aKeyEvent.iScanCode, |
1190 aType, aKeyEvent.iCode, aKeyEvent.iScanCode, |
1191 aKeyEvent.iModifiers, aKeyEvent.iRepeats)); |
1191 aKeyEvent.iModifiers, aKeyEvent.iRepeats)); |
|
1192 _LIT(KBackDrop, "*EiksrvBackdrop*"); |
|
1193 |
|
1194 if (EStdKeyApplication0 == aKeyEvent.iScanCode && (EEventKeyDown == aType |
|
1195 || EEventKeyUp == aType)) |
|
1196 { |
|
1197 // Application key up/down events go to the Eikon server |
|
1198 // Use this old way for application key |
|
1199 TInt result = iWsSession.FindWindowGroupIdentifier(0, KBackDrop); //This was in A2.x __EIKON_SERVER_NAME |
|
1200 DBG(if (KErrNotFound == result) RDebug::Print(_L("[HID]\tCHidKeyboardDriver::WindowGroupForKeyEvent(): BackDropWindowGroup Name not found!"))); |
|
1201 return result; |
|
1202 } |
1192 |
1203 |
1193 if (EKeyDevice2 == aKeyEvent.iCode && EEventKey == aType) |
1204 if (EKeyDevice2 == aKeyEvent.iCode && EEventKey == aType) |
1194 { |
1205 { |
1195 // Power key press events go to SysAp |
1206 // Power key press events go to SysAp |
1196 TApaTaskList taskList( iWsSession ); |
1207 TApaTaskList taskList( iWsSession ); |
1367 //---------------------------------------------------------------------------- |
1378 //---------------------------------------------------------------------------- |
1368 // |
1379 // |
1369 void CHidKeyboardDriver::LaunchApplicationL(TInt aAppUid) |
1380 void CHidKeyboardDriver::LaunchApplicationL(TInt aAppUid) |
1370 { |
1381 { |
1371 TRACE_INFO( (_L("[HID]\tCHidKeyboardDriver::LaunchApplication: UID 0x%08x"), aAppUid)); |
1382 TRACE_INFO( (_L("[HID]\tCHidKeyboardDriver::LaunchApplication: UID 0x%08x"), aAppUid)); |
1372 |
1383 |
1373 //KeyLock or phone auto lock is on, refuse to continue |
|
1374 if (iKeyLock.IsKeyLockEnabled()) |
|
1375 { |
|
1376 TRACE_INFO( _L("[HID]\tCHidKeyboardDriver::LaunchApplicationL() SKIPPED BECAUSE OF KEYLOCK")); |
|
1377 return; |
|
1378 } |
|
1379 |
|
1380 TInt devLockStatus( EAutolockStatusUninitialized ); |
|
1381 TInt err = RProperty::Get( KPSUidCoreApplicationUIs, KCoreAppUIsAutolockStatus, devLockStatus ); |
|
1382 |
|
1383 if (!err) |
|
1384 { |
|
1385 if ( EAutolockOff != devLockStatus && EAutolockStatusUninitialized != devLockStatus) |
|
1386 { |
|
1387 //Auto lock is on, refuse to continue |
|
1388 TRACE_INFO( _L("[HID]\tCHidKeyboardDriver::LaunchApplicationL() SKIPPED BECAUSE OF AUTO LOCK")); |
|
1389 return; |
|
1390 } |
|
1391 } |
|
1392 else |
|
1393 { |
|
1394 //failed to get AUTO LOCK status |
|
1395 TRACE_INFO( _L("[HID]\tCHidKeyboardDriver::LaunchApplicationL() SKIPPED BECAUSE OF FAILED TO GET AUTO LOCK STATUS")); |
|
1396 return; |
|
1397 } |
|
1398 |
|
1399 TApaTaskList taskList(iWsSession); |
1384 TApaTaskList taskList(iWsSession); |
1400 TUid uid = TUid::Uid(aAppUid); |
1385 TUid uid = TUid::Uid(aAppUid); |
1401 TApaTask task = taskList.FindApp(uid); |
1386 TApaTask task = taskList.FindApp(uid); |
1402 if (task.Exists()) |
1387 if (task.Exists()) |
1403 { |
1388 { |