bluetoothengine/bthid/keyboard/src/keyboard.cpp
branchRCL_3
changeset 16 b23265fb36da
parent 14 f7fbeaeb166a
child 39 5a89845f78e2
--- a/bluetoothengine/bthid/keyboard/src/keyboard.cpp	Wed Apr 14 16:09:00 2010 +0300
+++ b/bluetoothengine/bthid/keyboard/src/keyboard.cpp	Tue Apr 27 16:49:44 2010 +0300
@@ -140,7 +140,7 @@
 
     if (iComboDevice)
         {
-        RProperty::Set( KPSUidBthidSrv, KBTMouseCursorState, ECursorHide );
+        RProperty::Set( KPSUidBthidSrv, KBTMouseCursorState, ECursorNotInitialized );
         }
 
     if (iSettings)
@@ -288,7 +288,7 @@
     CancelAllKeys();
     if (iComboDevice)
         {
-        RProperty::Set( KPSUidBthidSrv, KBTMouseCursorState, ECursorHide );
+        RProperty::Set( KPSUidBthidSrv, KBTMouseCursorState, ECursorNotInitialized );
         }
     }
 
@@ -343,10 +343,16 @@
                     {
                     TInt mouseStatus;
                     TInt err = RProperty::Get( KPSUidBthidSrv, KBTMouseCursorState, mouseStatus );
-                    if ( !err && (static_cast<THidMouseCursorState>(mouseStatus) == ECursorHide) )
+                    if ( !err &&
+                        ((static_cast<THidMouseCursorState>(mouseStatus) == ECursorRedraw)|| 
+                         (static_cast<THidMouseCursorState>(mouseStatus) == ECursorReset)) )
                         {
                         err = RProperty::Set( KPSUidBthidSrv, KBTMouseCursorState, ECursorShow );
+                        DBG(RDebug::Print(
+                                 _L("[BTHID]\tCHidKeyboardDriver::DataIn() ECursorRedraw ||ECursorReset ")) );
                         }
+
+                    CursorRedraw();
                     }
                 InterruptData(aPayload);
                 }
@@ -462,6 +468,7 @@
             iButton2Down = ETrue;
             TRawEvent rawEvent;
             rawEvent.Set(TRawEvent::EKeyDown, EStdKeyApplication0);
+            CursorRedraw();
             UserSvr::AddEvent(rawEvent);
             }
         }
@@ -472,6 +479,7 @@
             iButton2Down = EFalse;
             TRawEvent rawEvent;
             rawEvent.Set(TRawEvent::EKeyUp, EStdKeyApplication0);
+            CursorRedraw();
             UserSvr::AddEvent(rawEvent);
             }
         }
@@ -1929,4 +1937,18 @@
     CancelAllKeys();
     }
 
+void CHidKeyboardDriver::CursorRedraw()
+    {
+    TInt mouseStatus;
+
+    TInt err = RProperty::Get( KPSUidBthidSrv, KBTMouseCursorState, mouseStatus );
+    if ( !err )
+        {
+        err = RProperty::Set( KPSUidBthidSrv, KBTMouseCursorState, ECursorRedraw );
+        DBG(RDebug::Print(
+             _L("[BTHID]\tCHidKeyboardDriver::CursorRedraw() X->ECursorRedraw") ) );
+        }
+    }
+
+// ----------------------------------------------------------------------
 // End of file