OSDN Git Service

Don't send a dummy 0 HID event when connection is closed
authorMike J. Chen <mjchen@google.com>
Fri, 14 Feb 2014 02:17:56 +0000 (18:17 -0800)
committerMike J. Chen <mjchen@google.com>
Fri, 14 Feb 2014 02:20:04 +0000 (18:20 -0800)
This was put there by Broadcom to try to handle held keys
on disconnect, but the best place to do that is in InputManager.
There's no guarantee that a report_id 1 is keyboard, and
in particular it causes game controllers to get a false
joystick move event to 0,0.

Bug 12785130

Change-Id: I85fbafa44d927082def3848132344550e8b94bb0
Signed-off-by: Mike J. Chen <mjchen@google.com>
btif/src/btif_hh.c

index d41cdb1..e1b2f69 100644 (file)
@@ -857,12 +857,6 @@ static void btif_hh_upstreams_evt(UINT16 event, char* p_param)
             p_dev = btif_hh_find_connected_dev_by_handle(p_data->dev_status.handle);
             if (p_dev != NULL) {
                 BTIF_TRACE_DEBUG2("%s: uhid fd = %d", __FUNCTION__, p_dev->fd);
-                if (p_dev->fd >= 0){
-                    UINT8 hidreport[9];
-                    memset(hidreport,0,9);
-                    hidreport[0]=1;
-                    bta_hh_co_write(p_dev->fd , hidreport, sizeof(hidreport));
-                }
                 if(p_dev->vup_timer_active)
                 {
                     btif_hh_stop_vup_timer(&(p_dev->bd_addr));