<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://devzone.nordicsemi.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Changing ble_app_hids_mouse for trackpad application</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/93705/changing-ble_app_hids_mouse-for-trackpad-application</link><description>Hello guys. I&amp;#39;m helping a customer to work with a trackpad application using the nRF52840 and the nRF5_SDK_17.0.2_d674dde. 
 For this customer, she wants to use Microchip&amp;#39;s touchpad solution (like https://www.microchip.com/en-us/solutions/machine-learning</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 22 Nov 2022 17:04:46 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/93705/changing-ble_app_hids_mouse-for-trackpad-application" /><item><title>RE: Changing ble_app_hids_mouse for trackpad application</title><link>https://devzone.nordicsemi.com/thread/397000?ContentTypeID=1</link><pubDate>Tue, 22 Nov 2022 17:04:46 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7907f9c5-98f0-407f-823e-85287ef5fbce</guid><dc:creator>Matthew K</dc:creator><description>&lt;p&gt;Hi Edvin. Luckily, I found a old nRF51 example sending volume up/down&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/Rallare/nrf51_ble_app_hids_kbd_consumercontrol/blob/eb9253685fe097f9b0c88212bb51c5e5ff3f7e08/main.c#L220"&gt;https://github.com/Rallare/nrf51_ble_app_hids_kbd_consumercontrol/blob/eb9253685fe097f9b0c88212bb51c5e5ff3f7e08/main.c#L220&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;consumer_control_send(CONSUMER_CTRL_VOL_UP)&lt;/p&gt;
&lt;p&gt;consumer_control_send(RELEASE_KEY) //&amp;nbsp;&lt;span&gt;not pressed&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;where the ENUM (consumer_control_t) was following the usage order from the&amp;nbsp;report_map_data[]:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;0x09, 0xCD,&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;//&amp;nbsp; &amp;nbsp; &amp;nbsp;Usage (Play/Pause) =&amp;nbsp;CONSUMER_CTRL_PLAY 0x01&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;0x0A, 0x83, 0x01,&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;//&amp;nbsp; &amp;nbsp; &amp;nbsp;Usage (AL Consumer Control Configuration) =&amp;nbsp;CONSUMER_CTRL_ALCCC 0x02&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;0x09, 0xB5,&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;//&amp;nbsp; &amp;nbsp; &amp;nbsp;Usage (Scan Next Track) =&amp;nbsp;CONSUMER_CTRL_SCAN_NEXT_TRACK 0x04&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;0x09, 0xB6,&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;//&amp;nbsp; &amp;nbsp; &amp;nbsp;Usage (Scan Previous Track) =&amp;nbsp;CONSUMER_CTRL_SCAN_PREV_TRACK 0x08&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;0x09, 0xEA,&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;//&amp;nbsp; &amp;nbsp; &amp;nbsp;Usage (Volume Down) =&amp;nbsp;CONSUMER_CTRL_VOL_DW 0x10&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;0x09, 0xE9,&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;//&amp;nbsp; &amp;nbsp; &amp;nbsp;Usage (Volume Up) =&amp;nbsp;CONSUMER_CTRL_VOL_UP 0x20&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;0x0A, 0x25, 0x02,&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;//&amp;nbsp; &amp;nbsp; &amp;nbsp;Usage (AC Forward) =&amp;nbsp;CONSUMER_CTRL_AC_FORWARD 0x40&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;0x0A, 0x24, 0x02,&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;//&amp;nbsp; &amp;nbsp; &amp;nbsp;Usage (AC Back) =&amp;nbsp;CONSUMER_CTRL_AC_BACK 0x80&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Now I understood so let&amp;#39;s close this ticket. Thanks for the help!&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Changing ble_app_hids_mouse for trackpad application</title><link>https://devzone.nordicsemi.com/thread/396912?ContentTypeID=1</link><pubDate>Tue, 22 Nov 2022 13:03:20 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a6aacaa6-18ea-49b7-93b3-c468969c6fc7</guid><dc:creator>Edvin</dc:creator><description>&lt;p&gt;What I tried to say is that these are more generic USB questions than Nordic related questions.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Perhaps you want to have a look at the Zephyr sample found in NCS\zephyr\samples\subsys\usb\hid-cnc&lt;/p&gt;
&lt;p&gt;Look in the main.c file, in the function ascii_to_hid, and you will see the enum from NCS\zephyr\include\zephyr\usb\class\hid.h.&lt;/p&gt;
&lt;p&gt;This is an enum (that should have been used in our samples as well). It doesn&amp;#39;t cover volume control, but you can look in usb_audio.h.&lt;/p&gt;
&lt;p&gt;Perhaps something like this is what you are looking for:&lt;/p&gt;
&lt;p&gt;&lt;a href="https://usb.org/sites/default/files/hut1_3_0.pdf"&gt;https://usb.org/sites/default/files/hut1_3_0.pdf&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Scroll down to page 91, and search for &amp;quot;volume&amp;quot;.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Edvin&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Changing ble_app_hids_mouse for trackpad application</title><link>https://devzone.nordicsemi.com/thread/396860?ContentTypeID=1</link><pubDate>Tue, 22 Nov 2022 11:00:15 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a0b79366-7c87-4b67-b537-8eb0d39c0fc2</guid><dc:creator>Matthew K</dc:creator><description>&lt;p&gt;Thank you Edvin. Then back to my last original question&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;I want to check how to send a volume key in the mouse example.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Is it&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;uint8_t media_buffer[INPUT_REP_MEDIA_PLAYER_LEN] = {0xEA} // from&amp;nbsp;rep_map_data[] Volume Down ?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;ble_hids_inp_rep_send(&amp;amp;m_hids,&amp;nbsp;&lt;/span&gt;&lt;span&gt;INPUT_REP_MPLAYER_INDEX,&amp;nbsp;&lt;/span&gt;&lt;span&gt;INPUT_REP_MEDIA_PLAYER_LEN,&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;media_buffer,&amp;nbsp;m_conn_handle&lt;/span&gt;&lt;span&gt;) ?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;I wasn&amp;#39;t sure what value should I send for Volume Down.&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Changing ble_app_hids_mouse for trackpad application</title><link>https://devzone.nordicsemi.com/thread/396850?ContentTypeID=1</link><pubDate>Tue, 22 Nov 2022 10:06:10 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:8904d764-d645-4b05-8ba2-1e433a6a1ac4</guid><dc:creator>Edvin</dc:creator><description>[quote user="MatthewKYEO"]Is a double touch something similar to a mouse double click where the HID&amp;nbsp;&lt;span&gt;rep_map_data[] has to change?&lt;/span&gt;[/quote]
&lt;p&gt;I would think. This is probably something you would want to reach out to USB to know for sure. But a double click is just two single clicks from the nRF&amp;#39;s point of view, if I remember correctly.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Unfortunately, from a USB HID point of view, we deliver the framework, but as you see, the samples are unfortunately a bit limited, and so is the &lt;a href="https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/libraries/bluetooth_services/services/hids.html#hids-readme"&gt;documentation&lt;/a&gt;.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;So I think you should look elsewhere for how the report maps work, and then use what we provide to send the reports.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Edvin&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Changing ble_app_hids_mouse for trackpad application</title><link>https://devzone.nordicsemi.com/thread/396741?ContentTypeID=1</link><pubDate>Mon, 21 Nov 2022 16:33:06 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3970d6f3-781d-445e-83b8-5bce3237350e</guid><dc:creator>Matthew K</dc:creator><description>&lt;p&gt;Hi Edvin. Yes, the SPI driver handles:&lt;/p&gt;
&lt;p&gt;x y coordinates -&amp;nbsp;&lt;span class="pl-en"&gt;touchpad_get_touch_coordinate()&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;read single touch / click -&amp;nbsp;&lt;span&gt;touchpad_get_event_state(), I need to implement double touch on my own&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;gesture (zoom in/out, two finger touch for mouse right click) - touchpad_get_gesture_type()&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Is a double touch something similar to a mouse double click where the HID&amp;nbsp;&lt;span&gt;rep_map_data[] has to change?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Thanks for your help&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Changing ble_app_hids_mouse for trackpad application</title><link>https://devzone.nordicsemi.com/thread/396627?ContentTypeID=1</link><pubDate>Mon, 21 Nov 2022 11:48:54 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1d2009e6-553a-4144-be59-e6e7dc19e41f</guid><dc:creator>Edvin</dc:creator><description>&lt;p&gt;So what do you see when you apply the SPI driver? I assume it will be able to provide you with x and y coordinates, but is it supposed to handle double touch? How about clicks? Does it handle that at all, or is that something that you need to implement on your own?&lt;/p&gt;
&lt;p&gt;BR,&lt;/p&gt;
&lt;p&gt;Edvin&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Changing ble_app_hids_mouse for trackpad application</title><link>https://devzone.nordicsemi.com/thread/396482?ContentTypeID=1</link><pubDate>Fri, 18 Nov 2022 17:34:16 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:526d8fb5-4d90-4781-a8f9-f81d8e5c25b5</guid><dc:creator>Matthew K</dc:creator><description>&lt;p&gt;Thank you Edvin. Then back to my original questions,&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;I want to check how to send a volume key in the mouse example.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Is it&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;uint8_t media_buffer[INPUT_REP_MEDIA_PLAYER_LEN] = {0xEA} // from&amp;nbsp;rep_map_data[] Volume Down ?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;ble_hids_inp_rep_send(&amp;amp;m_hids,&amp;nbsp;&lt;/span&gt;&lt;span&gt;INPUT_REP_MPLAYER_INDEX,&amp;nbsp;&lt;/span&gt;&lt;span&gt;INPUT_REP_MEDIA_PLAYER_LEN,&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;media_buffer,&amp;nbsp;m_conn_handle&lt;/span&gt;&lt;span&gt;) ?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;I wasn&amp;#39;t sure what value should I send for Volume Down.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Back to your Microchip touchpad driver part,&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;a id="" href="https://github.com/MikroElektronika/mikrosdk_click_v2/blob/master/clicks/touchpad/lib/src/touchpad.c"&gt;https://github.com/MikroElektronika/mikrosdk_click_v2/blob/master/clicks/touchpad/lib/src/touchpad.c&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;just like this code, the drivers I found were SPI drivers.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;The input on the touchpad was sent to a microcontroller using SPI.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;In that case, I can simply use that SPI data to map the mouse data (x_delta and y_delta) and&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;send it using&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;ble_hids_inp_rep_send(INPUT_REP_MOVEMENT_INDEX, INPUT_REP_MOVEMENT_LEN)&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;right?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Or do I still need to modify the&amp;nbsp;rep_map_data[] in this case?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Thank you so much for your help!&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Changing ble_app_hids_mouse for trackpad application</title><link>https://devzone.nordicsemi.com/thread/396417?ContentTypeID=1</link><pubDate>Fri, 18 Nov 2022 13:07:15 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b78bba71-0bcf-40c4-a3e3-7f261f18e5cd</guid><dc:creator>Edvin</dc:creator><description>&lt;p&gt;Oh, sorry. Yes. Well, this sample only shows moving the mouse. So each packet consists of a move in x,y directions. Mouses only send changes in position, and not speed, so there is no need to send a message saying it is no longer moving. If you do mouse clicking (left mouse button and right mouse button, for instance), then you need to send a new message with the button no longer being pressed. If not, it will think that the mouse button is being held down forever.&lt;/p&gt;
&lt;p&gt;I don&amp;#39;t remember the values for mouse button clicks, but you can use bt_hids_inp_rep_send, with rep_index =&amp;nbsp;INPUT_REP_BUTTONS_INDEX (= 0)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Changing ble_app_hids_mouse for trackpad application</title><link>https://devzone.nordicsemi.com/thread/396400?ContentTypeID=1</link><pubDate>Fri, 18 Nov 2022 12:23:52 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:33ff1f5c-7e38-4857-90d8-7d86f44d2c70</guid><dc:creator>Matthew K</dc:creator><description>&lt;p&gt;Thank you Edvin. Then do you mean the mouse example is not sending 0&amp;nbsp;&lt;span&gt;(not pressed)?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Shouldn&amp;#39;t there be a code for sending 0 in the mouse example?&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Changing ble_app_hids_mouse for trackpad application</title><link>https://devzone.nordicsemi.com/thread/396389?ContentTypeID=1</link><pubDate>Fri, 18 Nov 2022 11:35:39 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:71e66523-0c26-4adb-af49-18a91bc9de9a</guid><dc:creator>Edvin</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;In the ble_app_hids_keyboard sample, you can see how they do it. They use the function hid_kbd_state_key_clear() to set the internal state of the key to 0 (not pressed), and then it actually sends the keyboard state using key_report_con_send() -&amp;gt; bt_hids_in_rep_send().&lt;/p&gt;
&lt;p&gt;BR,&lt;/p&gt;
&lt;p&gt;Edvin&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Changing ble_app_hids_mouse for trackpad application</title><link>https://devzone.nordicsemi.com/thread/396201?ContentTypeID=1</link><pubDate>Thu, 17 Nov 2022 12:37:26 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3d1477ff-2a98-4bb8-accb-7afbdcaf0b83</guid><dc:creator>Matthew K</dc:creator><description>&lt;p&gt;Hi Edvin. Yes, I think that&amp;#39;s what it meant by 0 mask as you have discribed.&lt;/p&gt;
&lt;p&gt;I can&amp;#39;t find the code doing this 0 masking from the&amp;nbsp;ble_app_hids_mouse (SDK v17) example.&lt;/p&gt;
&lt;p&gt;May I ask for your help how to send that &amp;quot;no keys are pressed&amp;quot; HID message?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Changing ble_app_hids_mouse for trackpad application</title><link>https://devzone.nordicsemi.com/thread/396193?ContentTypeID=1</link><pubDate>Thu, 17 Nov 2022 12:20:04 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a92462d8-e7c0-4716-9a35-f324d6879ad0</guid><dc:creator>Edvin</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;I am not sure what the customer from the phrase meant by 0 mask. Perhaps it is a HID message saying that no keys are pressed. If you don&amp;#39;t do it, it will look like the user is holding the last keypress forever.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;BR,&lt;br /&gt;Edvin&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Changing ble_app_hids_mouse for trackpad application</title><link>https://devzone.nordicsemi.com/thread/396106?ContentTypeID=1</link><pubDate>Thu, 17 Nov 2022 02:48:20 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:fdb795a6-e812-4b13-9f54-d32e17c224a8</guid><dc:creator>Matthew K</dc:creator><description>&lt;p&gt;Sorry I accidentally pressed VERIFY ANSWER. Here&amp;#39;s the Nordic Devzone Thread 8 years ago&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/5480/hid-keyboard-example---what-does-the-buffer-do-and-why-it-needs-to-be-dequeued/19123"&gt;RE: HID keyboard example - What does the buffer do and why it needs to be dequeued?&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;There&amp;#39;s a phrase&lt;/p&gt;
&lt;p&gt;&amp;quot;&lt;span&gt;After that I send 0 mask at BLE_EVT_TX_COMPLETE event and I did not call buffer_dequeue.&amp;quot;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;May I ask what this is about?&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Changing ble_app_hids_mouse for trackpad application</title><link>https://devzone.nordicsemi.com/thread/395545?ContentTypeID=1</link><pubDate>Mon, 14 Nov 2022 12:37:57 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:60e972f6-819a-44d5-a51b-9abdf30e1d48</guid><dc:creator>Edvin</dc:creator><description>[quote user="MatthewKYEO"]Is it true that DIS - PnP characteristic is mandatory for wireless trackpad/mouse/keyboard applications?[/quote]
&lt;p&gt;I believe it is, yes. But please verify with USB.&lt;/p&gt;
[quote user="MatthewKYEO"]I read that I have to send a &amp;quot;mask&amp;quot; value to stop increasing or decreasing the volume so I need your help how to do this properly.[/quote]
&lt;p&gt;Where did you read that?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;BR,&lt;br /&gt;Edvin&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Changing ble_app_hids_mouse for trackpad application</title><link>https://devzone.nordicsemi.com/thread/395162?ContentTypeID=1</link><pubDate>Thu, 10 Nov 2022 15:27:36 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:01e0b49b-9ba9-4628-b768-2c2b62d2f749</guid><dc:creator>Matthew K</dc:creator><description>&lt;p&gt;Thank you Edvin. While I search for the drivers, can you answer my original questions please?&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Is it true that DIS - PnP characteristic is mandatory for wireless trackpad/mouse/keyboard applications?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Lastly, I want to check how to send a volume key. Is it&amp;nbsp;ble_hids_inp_rep_send(INPUT_REP_MPLAYER_INDEX, INPUT_REP_MEDIA_PLAYER_LEN)&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;when I use the same report map?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;I read that I have to send a &amp;quot;mask&amp;quot; value to stop increasing or decreasing the volume so I need your help how to do this properly.&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Changing ble_app_hids_mouse for trackpad application</title><link>https://devzone.nordicsemi.com/thread/395133?ContentTypeID=1</link><pubDate>Thu, 10 Nov 2022 13:46:43 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f57eea21-7262-4a8d-8bf0-539ea9ce59d4</guid><dc:creator>Edvin</dc:creator><description>&lt;p&gt;That is a good question.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Strictly speaking, you shouldn&amp;#39;t use any of them. You should use your own Vendor ID:&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.usb.org/getting-vendor-id"&gt;https://www.usb.org/getting-vendor-id&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In the mean time, you can use either of them. The USB report map would originate from Microchip, while the USB protocol stack would be Nordic&amp;#39;s / Zephyrs.&lt;/p&gt;
&lt;p&gt;BR,&lt;br /&gt;Edvin&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Changing ble_app_hids_mouse for trackpad application</title><link>https://devzone.nordicsemi.com/thread/395081?ContentTypeID=1</link><pubDate>Thu, 10 Nov 2022 11:15:38 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b7796896-2ae4-495f-8109-945cc7bf8ea5</guid><dc:creator>Matthew K</dc:creator><description>&lt;p&gt;Thank you for replying Edvin. I think the USB HID spec is the document that describes how report maps are built.&lt;/p&gt;
&lt;p&gt;Let me search for the Microchip driver.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Come to think of it, if I use Microchip&amp;rsquo;s USB HID report map for this BLE trackpad application, do I have to use Microchip&amp;rsquo;s vendor ID for the DIS PnP characteristic?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Changing ble_app_hids_mouse for trackpad application</title><link>https://devzone.nordicsemi.com/thread/394928?ContentTypeID=1</link><pubDate>Wed, 09 Nov 2022 13:41:24 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:92342a8e-4b63-4e7f-bdb7-87008a373821</guid><dc:creator>Edvin</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;This sounds like a solution that would require a driver from Microchip. I think you should reach out to them to ask what usb report maps they intended to be used with the trackpad that you are using.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;If they don&amp;#39;t have anything to share, this is a more generic USB question than a Nordic Specific. Trust me, if I knew exactly how you needed to set up this report map, I would tell you, but I think you need to look at how report maps are built up and how they are used.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Edvin&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>