1. 程式人生 > >nRF52832 — 基於HID實現滑鼠的左擊、右擊和滾輪

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

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

XX  作       者:ZHS(文化人)

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

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

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

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

相關推薦

nRF52832基於HID實現滑鼠滾輪

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XX  作       者:ZHS(文化人) XX  聯絡方式:文章末尾Chat快問(或進群:471144274)

連線連線內連結(自然連線)

前兩天面試時被問到資料庫左連線,原題是:A、B表中各有4條資料,A表左連線B表時會顯示多少條資料?當時腦殘的說了句:16條!唉~悲催的。。。一下子體現了自己在資料庫方面的弱項,回來之後補習了一下,在此記錄一下個人學習之後的總結: 1、左連線 左連線基本格式為A left join B

C語言 算術邏輯

下面有幾個是注意的地方: 1. 不管是算術左右移和邏輯左右移,最好是unsigned型別,因為這樣算術與邏輯是一樣的結果。 2. C編譯器,預設是算術移位,如是signed型別,這一點一定要把握好。 3. 程式設計過程中,一定要注意右移操作,注意signed 和unsi

Windows 模擬使用者點選桌面圖示(雙

前言:2014-04-22記錄在hi baidu上,現移過來。 思路:1、獲取指定圖示的座標;2、傳送右擊、雙擊操作; 第一步: 獲取座標 /* * Purpose: 獲取32位桌面圖示座標 * Arguments: * h

前端特效:導航 個人中心滑出(上滑下滑)效果實現

效果圖: 直接列出實現程式碼: 1.html <div class="left_slide_center_nav"> <!--蒙層--> <d

RecyclerView實現條目拖拽,滑移除效果

對於android開發者來說RecyclerView應該已經很熟悉了,專案中基本都是使用RecyclerView來實現列表效果,這裡要實現的是RecyclerView的條目拖拽、左滑、右滑移除效果,這些效果都是在RecyclerView列表基礎上來實現的,所以還是先簡單的實現RecyclerVi

Flask學習筆記之——藍圖基於DBUtils實現資料庫連線池上下文管理等

面向物件知識回顧 子類繼承父類的三種方式 class Dog(Animal): #子類 派生類 def __init__(self,name,breed, life_value,aggr): # Animal.__init__(self

Flask學習【第3篇】:藍圖基於DBUtils實現資料庫連線池上下文管理等 基於DBUtils實現資料庫連線池

基於DBUtils實現資料庫連線池 小知識: 1、子類繼承父類的三種方式 class Dog(Animal): #子類 派生類 def

基於MySQL實現按距離排序範圍查詢geoHash

簡介 現在幾乎所有的O2O應用中都會存在“按範圍搜素、離我最近、顯示距離”等等類似的功能,那這樣的功能是怎麼實現的呢?本文提供了基於MySQL的實現方式,同樣適用於其它資料庫。本文不分析,只講怎麼實現,有關分析的文章可以看參考連結。 實現 為了方便下面說明,先給出一個初始

Unity實現UGUI中按鈕的單機中鍵點選的判定

直接上程式碼吧,把這個程式碼繫結到Unity的相應Button上即可實現。 public class RightClick : MonoBehaviour, IPointerClickHandler

cocos2dx實現精靈單級拖拽分別處理

標頭檔案TouchTest.h #include <iostream>   #include "cocos2d.h"           const int minSwipdistance=100;   const int minSwiptime=1000;  

Cocos2D-X2.2.3學習筆記8(處理精靈單三連事件)

屏幕 () rtu cati 輸出 public exit 什麽是 avi 我們依據上一次介紹的觸屏事件和事件隊列等知識來實現觸屏的單擊,雙擊,三連擊事件。 下圖為我們實現的效果圖: 單擊精靈跳躍一個高度, 雙擊精靈跳躍的高度比單擊的高 三連擊精靈跳躍的跟高

C語言

16px 不能 操作 b- 存在 text 記錄 右值 i++ 左值就是在賦值中可以放在賦值操作符兩邊的值 右值則是只可以放在賦值操作符右邊的值 ++i是直接給i變量加1,然後返回i本身,因為i是變量,所以可以被賦值,因此是左值表達式i++現產生一個臨時變量,記錄i的值,而

(九)數據結構之簡單排序算法實現:冒泡排序插入排序選擇排序

html lan 獎章 tmx 4tb wot 數據結構 lec get d59FG8075P7伊http://www.zcool.com.cn/collection/ZMTg2NTU2NjQ=.html 312V畏蝗淤ZP哦睬http://www.zcool.com.c

WPF ListBoxItem雙事件分別處理

class frame != timers 單擊事件 nta end log handler 1      private void listBox_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)

位運算符按位與按位或按位非原碼反碼補碼

位運算符 位數 是我 計算機 基礎上 個數字 部分 普通 bsp 位運算符的基本規則1,位運算符都是針對整數的二進制數字形式而進行的。2,按位與運算基本規則(規則表):1 & 1 ==> 11 & 0 ==> 00 & 1 ==>

Appium 之上劃下劃,

android 左劃 touch public bsp down client AI manage 聽說appium Java-client 新版本不支持swipe了,網上沒找到完整可用的,今天正好整理出用TouchAction替換的腳本,記錄一下,嘻嘻…… import

[轉載][C++]C++11 值引用詳解

找到 延長 引用 () 字面量 別名 賦值 例子 左值 我之前以為左值就是等號左邊的值,右值就是等號右邊的值。 我 太天真 ?_? 原文地址:https://blog.csdn.net/hyman_yx/article/details/52044632 (侵刪 ------

eNSP實現OSPF默認直連靜態路由重發布

port 技術 網絡 .com 8.4 -i ima 直連 perm 一、網絡拓撲圖:二、實驗目的:通過OSPF協議,實現全網互通三、實驗步驟:1、規劃好每段IP地址,配置PC機的IP及網關。2、按照上圖配置IP地址3、如下圖,配置OSPF區域,命令如下:AR7[Huawe

SQL查詢連線連線內連線

1、左連線的定義:是以左表為基礎,根據ON後給出的兩表的條件將兩表連線起來。結果會將左表所有的查詢資訊列出,而右表只列出ON後條件與左表滿足的部分。左連線全稱為左外連線,是外連線的一種。 下邊以A表和B表為例子,A、B之間的左連線條件為:ano=bno;查詢語句為:SELECT * FROM `