<?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>nRF52840 USB HID Keyboard dropping keys</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/55628/nrf52840-usb-hid-keyboard-dropping-keys</link><description>I&amp;#39;ve been using the USB HID Composite example along with the advice from this thread https://devzone.nordicsemi.com/f/nordic-q-a/38271/writing-words-to-usb-composite-keyboard-in-usbd_hid_composite/147826#147826 to develop a virtual keyboard. 
 I am able</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 18 Dec 2019 00:57:03 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/55628/nrf52840-usb-hid-keyboard-dropping-keys" /><item><title>RE: nRF52840 USB HID Keyboard dropping keys</title><link>https://devzone.nordicsemi.com/thread/225995?ContentTypeID=1</link><pubDate>Wed, 18 Dec 2019 00:57:03 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e3d48ce1-6e49-4736-9d56-5ef057363b3a</guid><dc:creator>Yifan</dc:creator><description>&lt;p&gt;So to clarify, what&amp;#39;s the expected behavior of&amp;nbsp;app_usbd_hid_kbd_key_control()?&lt;/p&gt;
&lt;p&gt;If I call it multiple times (&amp;lt; 8) then all the keys should show up in the same report right?&lt;/p&gt;
&lt;p&gt;If I call it after&amp;nbsp;&lt;span&gt;APP_USBD_HID_USER_EVT_IN_REPORT_DONE, it should send a new report? Is there another way to force a new HID report other than waiting for that event?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;I&amp;#39;m not too familiar with USB HID but I noticed when connected to a Mac (OSX),&amp;nbsp;APP_USBD_HID_USER_EVT_IN_REPORT_DONE is seen&amp;nbsp;at an interval even without any calls to&amp;nbsp;app_usbd_hid_kbd_key_control. On Linux and Windows (VM), I see it only after I call&amp;nbsp;app_usbd_hid_kbd_key_control.&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF52840 USB HID Keyboard dropping keys</title><link>https://devzone.nordicsemi.com/thread/225983?ContentTypeID=1</link><pubDate>Tue, 17 Dec 2019 21:10:16 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3962ecb9-f0da-45ef-a7a9-741d6a79dd22</guid><dc:creator>Kenneth</dc:creator><description>&lt;p&gt;The chip markings are good.&lt;/p&gt;
&lt;p&gt;I recommend to get yourself an nRF52840-DK, then you will have a ready made hardware and software that work out of the box. I can&amp;#39;t really think of anything that fails the way you describe.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;br /&gt;Kenneth&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF52840 USB HID Keyboard dropping keys</title><link>https://devzone.nordicsemi.com/thread/225763?ContentTypeID=1</link><pubDate>Mon, 16 Dec 2019 21:30:58 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6044e5dc-6efd-4684-9d77-9c767a321c7a</guid><dc:creator>Yifan</dc:creator><description>&lt;p&gt;This is the&amp;nbsp;nRF52840 Dongle (pca10059)&amp;nbsp;(I will provide chip markings when I get home). It is not the DK. I ported the example for&amp;nbsp;pca10056 with minor changes in the config.h. The example code itself works (USB HID device enumerates and key press works).&lt;/p&gt;
&lt;p&gt;Unfortunately, I do not currently own a nRF52840-DK.&lt;/p&gt;
&lt;p&gt;EDIT: Markings NS2840 QIAAD0 1929AW&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF52840 USB HID Keyboard dropping keys</title><link>https://devzone.nordicsemi.com/thread/225761?ContentTypeID=1</link><pubDate>Mon, 16 Dec 2019 20:19:23 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:8071f2df-7edc-49b1-b0f3-0aae08bb2d66</guid><dc:creator>Kenneth</dc:creator><description>&lt;p&gt;Some more questions for debugging:&lt;/p&gt;
&lt;p&gt;Can you provide detailed chip markings of the nRF52840?&lt;/p&gt;
&lt;p&gt;Is this your own hardware or nRF52840-DK?&lt;/p&gt;
&lt;p&gt;Do you experience the same if you use an nRF52840-DK with the nRF5 SDK example project as-is with no modifications?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF52840 USB HID Keyboard dropping keys</title><link>https://devzone.nordicsemi.com/thread/225739?ContentTypeID=1</link><pubDate>Mon, 16 Dec 2019 16:59:31 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:2dce1d8d-9948-4191-ac6e-c9e19da34eb1</guid><dc:creator>Yifan</dc:creator><description>&lt;p&gt;In one approach I tried calling&amp;nbsp;app_usbd_hid_kbd_key_control on the next character as soon as I receive the&amp;nbsp;&lt;span&gt;APP_USBD_HID_USER_EVT_IN_REPORT_DONE event for the last character. In a second approach, I tried calling it in a 200ms app timer. In a third approach, I tried querying a&amp;nbsp;&amp;quot;sent key&amp;quot; flag&amp;nbsp;in a 200ms app timer (the atomic flag set after&amp;nbsp;APP_USBD_HID_USER_EVT_IN_REPORT_DONE) and send the key after seeing the flag.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;In all three cases, I see about one dropped key event (key up or down) in about every 3 sent.&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF52840 USB HID Keyboard dropping keys</title><link>https://devzone.nordicsemi.com/thread/225657?ContentTypeID=1</link><pubDate>Mon, 16 Dec 2019 13:31:29 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:38bd6800-5de8-4ff2-a802-42d95ff06c7b</guid><dc:creator>Kenneth</dc:creator><description>&lt;p&gt;What delay do you have between the individual characters in &amp;quot;hello&amp;quot;?&lt;/p&gt;
&lt;p&gt;Best regards,&lt;br /&gt;Kenneth&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>