nRF52832 — 基於HID實現鼠標的左擊、右擊和滾輪

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

XX  作       者:ZHS(文化人)

XX  聯繫方式:文章末尾Chat快問(或進羣:471144274

XX  版權聲明:原創文章,歡迎評論和轉載~轉載時能告訴我一聲就最好了

XX  要說的話:作者水平有限,難免有不足之處,懇請指正!

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

文章索引1:https://blog.csdn.net/Augusdi/article/details/4177221

文章索引2:https://blog.csdn.net/dfysy/article/details/5914863

文章索引3:https://blog.csdn.net/weixin_40204595/article/details/81179361

文章索引4:https://devzone.nordicsemi.com/f/nordic-q-a/7703/what-can-i-do-if-i-want-to-send-left-or-right-button-data

1、目的:

       在鼠標移動的例程中,實現鼠標的左右中按鍵;

2、平臺:

      SDK版本:SDK_12.2.0

      硬件平臺:艾克姆nRF52832開發板

      官方例程:examples\ble_peripheral\ble_app_hids_mouse\pca10040\s132\arm5_no_packs

3、步驟:

static void mouse_buttons_send(int8_t click, int8_t wheel, int8_t pan)
{
    uint32_t err_code;

	uint8_t buffer[INPUT_REP_BUTTONS_LEN];

	APP_ERROR_CHECK_BOOL(INPUT_REP_BUTTONS_LEN == 3);
	
	NRF_LOG_INFO("mouse_buttons_send\r\n");
	buffer[0] = click;
	buffer[1] = wheel;
	buffer[2] = pan;

	err_code = ble_hids_inp_rep_send(&m_hids, INPUT_REP_BUTTONS_INDEX, INPUT_REP_BUTTONS_LEN, buffer);

    if ((err_code != NRF_SUCCESS) &&
        (err_code != NRF_ERROR_INVALID_STATE) &&
        (err_code != BLE_ERROR_NO_TX_PACKETS) &&
        (err_code != BLE_ERROR_GATTS_SYS_ATTR_MISSING)
       )
    {
        APP_ERROR_HANDLER(err_code);
    }
}

     mouse_buttons_send(1, 0, 0);//left

     mouse_buttons_send(2, 0, 0);//right

     mouse_buttons_send(4, 0, 0);//middle

     mouse_buttons_send(0, 0, 0);//cancel

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章