<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: SDK_2.0 No num lock, scroll lock, and caps lock LED USB control info received.    in Kinetis Software Development Kit</title>
    <link>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/SDK-2-0-No-num-lock-scroll-lock-and-caps-lock-LED-USB-control/m-p/461855#M3418</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Matt&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;ADDRESS&gt;I did analyse one of the solutions but they change quite a lot between releases so there is no version management or real compatibility. The code is not easy to follow because it is based on call-back tables which are difficult to follow and the host SETUP frames were passed (in the said case) to the application not when they were received but only when the returned zero data frame was acknowledged, which made it even more difficult to follow.&lt;/ADDRESS&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It depends on what is more important for you, either your main interest is in repairing/extending the examples that are given or in&amp;nbsp; developing a reliable product. If you are no allowed to purchase solutions you are welcome to have a complimentaty project license for the uTasker project as long as you don't need personal professional support (which is what the fee is mainly for) - free support is still available either here or on the uTasker forum. This may be more intersting for your company in case you prefer a complete working solution that operates on any Kinetis parts with USB (no porting required) and can be used with any of the popular tools (IAR, Kein, KDS, CW, Crossworks, Atollic, Green Hills etc.) and also allows you to simulate the complete USB operation with an accurate USB engine simulator in Visual Studio. Typically project development, testing and debugging of this part and complete projects can be performed with a level of efficiency and quality several times greater than using traditional techniques. The USB solution has a track record of 8 years on Freescale Coldfire and Kinetis devices so proven reliability and efficiency in many industrial products, which may also prove valuable in comparison to basing designs on examples that may or may not be fully operational.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;P.S. You can also get some more details about composite device operation and keyboard testing, including its capability to generate keystroke sequences from code or files at up to 1'000 strokes a second or with controllable inter-stroke timing: &lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.freescale.com/external-link.jspa?url=http%3A%2F%2Fwww.utasker.com%2Fkinetis%2FUSB_Device.html" rel="nofollow" target="_blank"&gt;http://www.utasker.com/kinetis/USB_Device.html&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Mark&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 13 May 2016 20:23:55 GMT</pubDate>
    <dc:creator>mjbcswitzerland</dc:creator>
    <dc:date>2016-05-13T20:23:55Z</dc:date>
    <item>
      <title>SDK_2.0 No num lock, scroll lock, and caps lock LED USB control info received.  </title>
      <link>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/SDK-2-0-No-num-lock-scroll-lock-and-caps-lock-LED-USB-control/m-p/461851#M3414</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN style="color: #1f497d;"&gt;In the Kientis expert SDK_2.0 generated examples code there is a USB mouse &amp;amp; keyboard composite example.&amp;nbsp; The USB stack does not provide a way to receive the num lock, scroll lock, and caps lock LED control info from&amp;nbsp; the host. The keyboard example in SDK 1.3 does receive data receive data from the host for&amp;nbsp; numlock, scroll lock, and caps lock LED control.&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #1f497d; font-size: 11.0pt; font-family: 'Calibri','sans-serif';"&gt; Is there a newer version of SDK_2.0 that has actually “fixes” the issue with receiving the num lock, scroll lock, and caps lock LED control issue on for the USB mouse &amp;amp; keyboard composite example?&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #1f497d; font-size: 11.0pt; font-family: 'Calibri','sans-serif';"&gt;Matt&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 11 May 2016 15:49:59 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/SDK-2-0-No-num-lock-scroll-lock-and-caps-lock-LED-USB-control/m-p/461851#M3414</guid>
      <dc:creator>mwais</dc:creator>
      <dc:date>2016-05-11T15:49:59Z</dc:date>
    </item>
    <item>
      <title>Re: SDK_2.0 No num lock, scroll lock, and caps lock LED USB control info received.  </title>
      <link>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/SDK-2-0-No-num-lock-scroll-lock-and-caps-lock-LED-USB-control/m-p/461852#M3415</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;STRONG&gt;SDK_1.3_MKL27Z256xxx4 or SDK_1.3_MKL43Z256xxx4&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Will receive LED (rpt buffer) data via callback from host as shown.(this callback occurs if caps lock status changes)&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;uint8_t USB_App_Class_Callback(&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; uint8_t request,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; uint16_t value,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; uint8_t ** data,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; uint32_t* size,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; void* arg&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; )&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;case USB_HID_SET_REPORT_REQUEST:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (index = 0; index &amp;lt; (*size); index++)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { /* copy the report sent by the host */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //g_keyboard.rpt_buf[index] = *(*data + index);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *size = 0;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;SDK_2.0_MKL27Z256xxx4 or SDK_2.0_MKL43Z256xxx4&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Will not receive data via callback from host (callback never occurs if caps lock status changes)&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;usb_status_t USB_DeviceHidKeyboardCallback(class_handle_t handle, uint32_t event, void *param)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; usb_status_t error = kStatus_USB_Error;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; switch (event)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case kUSB_DeviceHidEventSendResponse:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (s_UsbDeviceComposite-&amp;gt;attach)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&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;&amp;nbsp; return USB_DeviceHidKeyboardAction();&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case kUSB_DeviceHidEventGetReport:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case kUSB_DeviceHidEventSetReport:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case kUSB_DeviceHidEventRequestReportBuffer:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; error = kStatus_USB_InvalidRequest;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case kUSB_DeviceHidEventGetIdle:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case kUSB_DeviceHidEventGetProtocol:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case kUSB_DeviceHidEventSetIdle:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case kUSB_DeviceHidEventSetProtocol:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; default:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return error;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;I chose&amp;nbsp; use the SDK_2.0&amp;nbsp; framework because it already has the composite USB device for Keyboard &amp;amp; mouse example code.&amp;nbsp; SDK_1.3 does not.&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;​Matt&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 11 May 2016 16:38:17 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/SDK-2-0-No-num-lock-scroll-lock-and-caps-lock-LED-USB-control/m-p/461852#M3415</guid>
      <dc:creator>mwais</dc:creator>
      <dc:date>2016-05-11T16:38:17Z</dc:date>
    </item>
    <item>
      <title>Re: SDK_2.0 No num lock, scroll lock, and caps lock LED USB control info received.</title>
      <link>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/SDK-2-0-No-num-lock-scroll-lock-and-caps-lock-LED-USB-control/m-p/461853#M3416</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;There may have been a similar discussion at&lt;/P&gt;&lt;P&gt;&lt;A _jive_internal="true" href="https://community.nxp.com/message/540167#comment-540167" title="https://community.freescale.com/message/540167#comment-540167"&gt;https://community.freescale.com/message/540167#comment-540167&lt;/A&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you don't find a solution you can simply use the uTasker USB project which includes keyboard/mouse/CDC/RNDIS/MSD/audio composites (and any mixture of these) as a complete solution rather than just examples.&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;You may find a reference that directly runs on your board at &lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.freescale.com/external-link.jspa?url=http%3A%2F%2Fwww.utasker.com%2Fkinetis.html" rel="nofollow" target="_blank"&gt;http://www.utasker.com/kinetis.html&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Mark&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 13 May 2016 13:32:27 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/SDK-2-0-No-num-lock-scroll-lock-and-caps-lock-LED-USB-control/m-p/461853#M3416</guid>
      <dc:creator>mjbcswitzerland</dc:creator>
      <dc:date>2016-05-13T13:32:27Z</dc:date>
    </item>
    <item>
      <title>Re: SDK_2.0 No num lock, scroll lock, and caps lock LED USB control info received.  </title>
      <link>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/SDK-2-0-No-num-lock-scroll-lock-and-caps-lock-LED-USB-control/m-p/461854#M3417</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Mark,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you for comment. However, I had already reviewed the discussion you mention above.&amp;nbsp; My issue is with SDK 2.0&amp;nbsp; that specifically has the USB keyboard &amp;amp; mouse composite example.&amp;nbsp; The&amp;nbsp; "lock" led status is available via&amp;nbsp; "&lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; font-size: 14px;"&gt;g_keyboard.rpt_buf[index] " as indicated above &lt;/SPAN&gt;on the standalone keyboard examples using SDK 1.3 or SDK 1.2.&amp;nbsp; It appears the "&lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; font-size: 14px;"&gt;USB_App_Class_Callback" was eliminated or replaced with a callback that doesn't provide access to the&amp;nbsp; "&lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; font-size: 14px;"&gt;g_keyboard.rpt_buf[index] ".&amp;nbsp; Also, I have dug deep into the bowls of the USB stack that comes with SDK 2.0 and it appears there is no mechanism that monitors input from the host control endpoint when configured as a HID device.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;It appears the "uTasker" solutions have costs associated with them.&amp;nbsp; This is not an option.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;Regards,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;Matt&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 13 May 2016 16:21:02 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/SDK-2-0-No-num-lock-scroll-lock-and-caps-lock-LED-USB-control/m-p/461854#M3417</guid>
      <dc:creator>mwais</dc:creator>
      <dc:date>2016-05-13T16:21:02Z</dc:date>
    </item>
    <item>
      <title>Re: SDK_2.0 No num lock, scroll lock, and caps lock LED USB control info received.</title>
      <link>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/SDK-2-0-No-num-lock-scroll-lock-and-caps-lock-LED-USB-control/m-p/461855#M3418</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Matt&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;ADDRESS&gt;I did analyse one of the solutions but they change quite a lot between releases so there is no version management or real compatibility. The code is not easy to follow because it is based on call-back tables which are difficult to follow and the host SETUP frames were passed (in the said case) to the application not when they were received but only when the returned zero data frame was acknowledged, which made it even more difficult to follow.&lt;/ADDRESS&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It depends on what is more important for you, either your main interest is in repairing/extending the examples that are given or in&amp;nbsp; developing a reliable product. If you are no allowed to purchase solutions you are welcome to have a complimentaty project license for the uTasker project as long as you don't need personal professional support (which is what the fee is mainly for) - free support is still available either here or on the uTasker forum. This may be more intersting for your company in case you prefer a complete working solution that operates on any Kinetis parts with USB (no porting required) and can be used with any of the popular tools (IAR, Kein, KDS, CW, Crossworks, Atollic, Green Hills etc.) and also allows you to simulate the complete USB operation with an accurate USB engine simulator in Visual Studio. Typically project development, testing and debugging of this part and complete projects can be performed with a level of efficiency and quality several times greater than using traditional techniques. The USB solution has a track record of 8 years on Freescale Coldfire and Kinetis devices so proven reliability and efficiency in many industrial products, which may also prove valuable in comparison to basing designs on examples that may or may not be fully operational.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;P.S. You can also get some more details about composite device operation and keyboard testing, including its capability to generate keystroke sequences from code or files at up to 1'000 strokes a second or with controllable inter-stroke timing: &lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.freescale.com/external-link.jspa?url=http%3A%2F%2Fwww.utasker.com%2Fkinetis%2FUSB_Device.html" rel="nofollow" target="_blank"&gt;http://www.utasker.com/kinetis/USB_Device.html&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Mark&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 13 May 2016 20:23:55 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/SDK-2-0-No-num-lock-scroll-lock-and-caps-lock-LED-USB-control/m-p/461855#M3418</guid>
      <dc:creator>mjbcswitzerland</dc:creator>
      <dc:date>2016-05-13T20:23:55Z</dc:date>
    </item>
    <item>
      <title>Re: SDK_2.0 No num lock, scroll lock, and caps lock LED USB control info received.</title>
      <link>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/SDK-2-0-No-num-lock-scroll-lock-and-caps-lock-LED-USB-control/m-p/461856#M3419</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Matt,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have checked with the USB stack team, and they provided the following solution for your issue, please refer to it for details.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;SPAN style="color: #993366;"&gt;For set report request, &lt;/SPAN&gt;&lt;SPAN style="color: #1f497d;"&gt;there &lt;/SPAN&gt;&lt;SPAN style="color: #993366;"&gt;are two events, &lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; font-family: Consolas; color: #0000c0;"&gt;kUSB_DeviceHidEventRequestReportBuffer and kUSB_DeviceHidEventSetReport, &lt;/SPAN&gt;&lt;SPAN style="color: #1f497d;"&gt;can be used to implement the corresponding functionality.&lt;/SPAN&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;SPAN style="color: #993366;"&gt;&lt;BR /&gt; The event &lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; font-family: Consolas; color: #0000c0;"&gt;kUSB_DeviceHidEventRequestReportBuffer&lt;/SPAN&gt; &lt;SPAN style="color: #993366;"&gt;will be received at first when the host sends a set report request&lt;/SPAN&gt;&lt;SPAN style="color: #1f497d;"&gt;, it is used by the stack&lt;/SPAN&gt;&lt;SPAN style="color: #993366;"&gt; to get the buffer&lt;/SPAN&gt;&lt;SPAN style="color: #1f497d;"&gt; from application&lt;/SPAN&gt;&lt;SPAN style="color: #993366;"&gt; to receiv&lt;/SPAN&gt;&lt;SPAN style="color: #1f497d;"&gt;e&lt;/SPAN&gt;&lt;SPAN style="color: #993366;"&gt; the report data sent by the host. &lt;/SPAN&gt;&lt;SPAN style="color: #1f497d;"&gt;Along with this event, a parameter (type is void*) is provided, and this parameter needs to be cast to a pointer to &lt;/SPAN&gt;&lt;SPAN style="color: #993366;"&gt;usb_device_hid_report_struct_t. The report data length is kept in field usb_device_hid_report_struct_t::reportLength. &lt;/SPAN&gt;&lt;SPAN style="color: #1f497d;"&gt;Users need to fill in a valid buffer address to &lt;/SPAN&gt;&lt;SPAN style="color: #993366;"&gt;usb_device_hid_report_struct_t::&lt;/SPAN&gt;&lt;/EM&gt; &lt;EM style="color: #993366;"&gt;reportBuffer&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;SPAN style="color: #993366;"&gt;And then the event &lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; font-family: Consolas; color: #0000c0;"&gt;kUSB_DeviceHidEventSetReport&lt;/SPAN&gt;&lt;SPAN style="color: #993366;"&gt; will be received&lt;/SPAN&gt;&lt;SPAN style="color: #1f497d;"&gt; after&lt;/SPAN&gt;&lt;SPAN style="color: #993366;"&gt; the report data is received&lt;/SPAN&gt;&lt;SPAN style="color: #1f497d;"&gt;, same as before, a parameter is provided and need to be cast to a pointer to &lt;/SPAN&gt;&lt;SPAN style="color: #993366;"&gt;usb_device_hid_report_struct_t, the &lt;/SPAN&gt;&lt;SPAN style="color: #1f497d;"&gt;report &lt;/SPAN&gt;&lt;SPAN style="color: #993366;"&gt;data is kept in field usb_device_hid_report_struct_t::&lt;/SPAN&gt;&lt;/EM&gt; &lt;EM style="color: #993366;"&gt;reportBuffer.&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM style="color: #993366;"&gt;The detail information please refer to the description of the structure usb_device_hid_report_struct_t.&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;EM style="color: #993366;"&gt;I drafted a simple code for these two events. &lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="margin-left: 36.0pt;"&gt;&lt;EM style="color: #993366;"&gt;static usb_device_hid_report_struct_t* g_output_report; /* Global variable */&lt;/EM&gt;&lt;/P&gt;&lt;P style="margin-left: 36.0pt;"&gt;&lt;EM style="color: #993366;"&gt;static uint8_t s_UsbDeviceHidReportBuffer[HS_HID_KEYBOARD_INTERRUPT_IN_PACKET_SIZE];&lt;/EM&gt;&lt;/P&gt;&lt;P style="margin-left: 18.0pt;"&gt;&lt;/P&gt;&lt;P style="margin-left: 18.0pt;"&gt;&lt;EM style="color: #993366;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case kUSB_DeviceHidEventRequestReportBuffer:&lt;/EM&gt;&lt;/P&gt;&lt;P style="margin-left: 18.0pt;"&gt;&lt;EM style="color: #993366;"&gt; if (s_UsbDeviceComposite-&amp;gt;attach)&lt;/EM&gt;&lt;/P&gt;&lt;P style="margin-left: 18.0pt;"&gt;&lt;EM style="color: #993366;"&gt; {&lt;/EM&gt;&lt;/P&gt;&lt;P style="margin-left: 18.0pt;"&gt;&lt;EM style="color: #993366;"&gt; g_output_report = (usb_device_hid_report_struct_t *)param;&lt;/EM&gt;&lt;/P&gt;&lt;P style="margin-left: 18.0pt;"&gt;&lt;EM style="color: #993366;"&gt; if (g_output_report-&amp;gt;reportLength &amp;lt;= sizeof(s_UsbDeviceHidReportBuffer))&lt;/EM&gt;&lt;/P&gt;&lt;P style="margin-left: 18.0pt;"&gt;&lt;EM style="color: #993366;"&gt; {&lt;/EM&gt;&lt;/P&gt;&lt;P style="margin-left: 18.0pt;"&gt;&lt;EM style="color: #993366;"&gt; g_output_report-&amp;gt;reportBuffer = &amp;amp;s_UsbDeviceHidReportBuffer[0];&lt;/EM&gt;&lt;/P&gt;&lt;P style="margin-left: 18.0pt;"&gt;&lt;EM style="color: #993366;"&gt; error = kStatus_USB_Success;&lt;/EM&gt;&lt;/P&gt;&lt;P style="margin-left: 18.0pt;"&gt;&lt;EM style="color: #993366;"&gt; }&lt;/EM&gt;&lt;/P&gt;&lt;P style="margin-left: 18.0pt;"&gt;&lt;EM style="color: #993366;"&gt; else&lt;/EM&gt;&lt;/P&gt;&lt;P style="margin-left: 18.0pt;"&gt;&lt;EM style="color: #993366;"&gt; {&lt;/EM&gt;&lt;/P&gt;&lt;P style="margin-left: 18.0pt;"&gt;&lt;EM style="color: #993366;"&gt; error = kStatus_USB_InvalidRequest;&lt;/EM&gt;&lt;/P&gt;&lt;P style="margin-left: 18.0pt;"&gt;&lt;EM style="color: #993366;"&gt; }&lt;/EM&gt;&lt;/P&gt;&lt;P style="margin-left: 18.0pt;"&gt;&lt;EM style="color: #993366;"&gt; }&lt;/EM&gt;&lt;/P&gt;&lt;P style="margin-left: 18.0pt;"&gt;&lt;EM style="color: #993366;"&gt; break;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="margin-left: 18.0pt;"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #993366;"&gt;case kUSB_DeviceHidEventSetReport:&lt;/SPAN&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P style="margin-left: 18.0pt;"&gt;&lt;EM style="color: #993366;"&gt; if (s_UsbDeviceComposite-&amp;gt;attach)&lt;/EM&gt;&lt;/P&gt;&lt;P style="margin-left: 18.0pt;"&gt;&lt;EM style="color: #993366;"&gt; {&lt;/EM&gt;&lt;/P&gt;&lt;P style="margin-left: 18.0pt;"&gt;&lt;EM style="color: #993366;"&gt; uint32_t index = 0;&lt;/EM&gt;&lt;/P&gt;&lt;P style="margin-left: 18.0pt;"&gt;&lt;EM style="color: #993366;"&gt; uint8_t *buff = NULL;&lt;/EM&gt;&lt;/P&gt;&lt;P style="margin-left: 18.0pt;"&gt;&lt;/P&gt;&lt;P style="margin-left: 18.0pt;"&gt;&lt;EM style="color: #993366;"&gt; g_output_report = (usb_device_hid_report_struct_t *)param;&lt;/EM&gt;&lt;/P&gt;&lt;P style="margin-left: 18.0pt;"&gt;&lt;EM style="color: #993366;"&gt; buff = g_output_report-&amp;gt;reportBuffer;&lt;/EM&gt;&lt;/P&gt;&lt;P style="margin-left: 18.0pt;"&gt;&lt;EM style="color: #993366;"&gt; printf("kUSB_DeviceHidEventSetReport!\r\n");&lt;/EM&gt;&lt;/P&gt;&lt;P style="margin-left: 18.0pt;"&gt;&lt;EM style="color: #993366;"&gt; printf("Report ID: %d\r\n", g_output_report-&amp;gt;reportId);&lt;/EM&gt;&lt;/P&gt;&lt;P style="margin-left: 18.0pt;"&gt;&lt;EM style="color: #993366;"&gt; printf("Report Type: %d\r\n", g_output_report-&amp;gt;reportType);&lt;/EM&gt;&lt;/P&gt;&lt;P style="margin-left: 18.0pt;"&gt;&lt;EM style="color: #993366;"&gt; printf("Printing %d received data:\r\n", (uint8_t)g_output_report-&amp;gt;reportLength);&lt;/EM&gt;&lt;/P&gt;&lt;P style="margin-left: 18.0pt;"&gt;&lt;EM style="color: #993366;"&gt; for (index = 0; index &amp;lt; g_output_report-&amp;gt;reportLength; index++) {&lt;/EM&gt;&lt;/P&gt;&lt;P style="margin-left: 18.0pt;"&gt;&lt;EM style="color: #993366;"&gt; printf(" 0x%X ", buff[index]);&lt;/EM&gt;&lt;/P&gt;&lt;P style="margin-left: 18.0pt;"&gt;&lt;EM style="color: #993366;"&gt; }&lt;/EM&gt;&lt;/P&gt;&lt;P style="margin-left: 18.0pt;"&gt;&lt;EM style="color: #993366;"&gt; printf("\r\n");&lt;/EM&gt;&lt;/P&gt;&lt;P style="margin-left: 18.0pt;"&gt;&lt;EM style="color: #993366;"&gt; error = kStatus_USB_Success;&lt;/EM&gt;&lt;/P&gt;&lt;P style="margin-left: 18.0pt;"&gt;&lt;EM style="color: #993366;"&gt; }&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM style="color: #993366;"&gt; break;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope that helps,&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Have a great day,&lt;BR /&gt;Kan&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-----------------------------------------------------------------------------------------------------------------------&lt;BR /&gt;Note: If this post answers your question, please click the Correct Answer button. Thank you!&lt;BR /&gt;-----------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 16 May 2016 09:01:21 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/SDK-2-0-No-num-lock-scroll-lock-and-caps-lock-LED-USB-control/m-p/461856#M3419</guid>
      <dc:creator>Kan_Li</dc:creator>
      <dc:date>2016-05-16T09:01:21Z</dc:date>
    </item>
    <item>
      <title>Re: SDK_2.0 No num lock, scroll lock, and caps lock LED USB control info received.  </title>
      <link>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/SDK-2-0-No-num-lock-scroll-lock-and-caps-lock-LED-USB-control/m-p/461857#M3420</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Kan,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you for your feedback.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Unfortunately, this will not resolve the issue.&amp;nbsp; However, adding&amp;nbsp; this code will work for retrieving the control endpoint event. should it actually get to the usb_status_t USB_DeviceHidEvent(void *handle, uint32_t event, void *param) function. Setting a break point or doing a printf(); in this function to capture a "LOCK" event from the&amp;nbsp; host never occurs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;To verify use use your normal keyboard press anyone of the "lock" keys(numlock, scrolllock, or capslock) this will cause the host to broadcast down the control endpoint to all attached keyboards the "lock" led status.&amp;nbsp; This event never occurs in the SDK 2.0 USB stack.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Matt &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 17 May 2016 05:09:22 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/SDK-2-0-No-num-lock-scroll-lock-and-caps-lock-LED-USB-control/m-p/461857#M3420</guid>
      <dc:creator>mwais</dc:creator>
      <dc:date>2016-05-17T05:09:22Z</dc:date>
    </item>
    <item>
      <title>Re: SDK_2.0 No num lock, scroll lock, and caps lock LED USB control info received.</title>
      <link>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/SDK-2-0-No-num-lock-scroll-lock-and-caps-lock-LED-USB-control/m-p/461858#M3421</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Matt,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This patch has been tested with the demo of usb_device_composite_hid_mouse_hid_keyboard\bm\iar on frdm-k66f, and it works well on my side, so if you still have issue with it, would you please provide more details regarding your issue?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks for your patience!&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Have a great day,&lt;BR /&gt;Kan&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-----------------------------------------------------------------------------------------------------------------------&lt;BR /&gt;Note: If this post answers your question, please click the Correct Answer button. Thank you!&lt;BR /&gt;-----------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 17 May 2016 07:00:18 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/SDK-2-0-No-num-lock-scroll-lock-and-caps-lock-LED-USB-control/m-p/461858#M3421</guid>
      <dc:creator>Kan_Li</dc:creator>
      <dc:date>2016-05-17T07:00:18Z</dc:date>
    </item>
    <item>
      <title>Re: SDK_2.0 No num lock, scroll lock, and caps lock LED USB control info received.</title>
      <link>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/SDK-2-0-No-num-lock-scroll-lock-and-caps-lock-LED-USB-control/m-p/461859#M3422</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Kan,&lt;/P&gt;&lt;P&gt;Generated project using Kinetis Expert for windows: see vault below:&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_0.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/59012iA3BFD12B3190F4C2/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_0.png" alt="pastedImage_0.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;Unzipped SDK 2.0&amp;nbsp; to this folder: C:\Freescale\SDK_2.0_MKL43Z256xxx4&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Using FRDM-KL43Z board.&amp;nbsp; Imported project: dev_composite_hid_mouse_hid_keyboard_bm_frdmkl43z&lt;/P&gt;&lt;P&gt;located at:&lt;/P&gt;&lt;P&gt;C:\Freescale\SDK_2.0_MKL43Z256xxx4\boards\frdmkl43z\usb_examples\usb_device_composite_hid_mouse_hid_keyboard&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Added your code above to hid_keyboard.c:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;usb_status_t USB_DeviceHidKeyboardCallback(class_handle_t handle, uint32_t event, void *param)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;.....&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case kUSB_DeviceHidEventSetReport:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (s_UsbDeviceComposite-&amp;gt;attach)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; uint32_t index = 0;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; uint8_t *buff = NULL;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; g_output_report = (usb_device_hid_report_struct_t *)param;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; buff = g_output_report-&amp;gt;reportBuffer;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf("kUSB_DeviceHidEventSetReport!\r\n");&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf("Report ID: %d\r\n", g_output_report-&amp;gt;reportId);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf("Report Type: %d\r\n", g_output_report-&amp;gt;reportType);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf("Printing %d received data:\r\n", (uint8_t)g_output_report-&amp;gt;reportLength);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (index = 0; index &amp;lt; g_output_report-&amp;gt;reportLength; index++)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&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;&amp;nbsp; printf(" 0x%X ", buff[index]);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf("\r\n");&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; error = kStatus_USB_Success;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case kUSB_DeviceHidEventRequestReportBuffer:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (s_UsbDeviceComposite-&amp;gt;attach)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; g_output_report = (usb_device_hid_report_struct_t *)param;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (g_output_report-&amp;gt;reportLength &amp;lt;= sizeof(s_UsbDeviceHidReportBuffer))&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&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;&amp;nbsp; g_output_report-&amp;gt;reportBuffer = &amp;amp;s_UsbDeviceHidReportBuffer[0];&lt;/P&gt;&lt;P&gt;&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;&amp;nbsp; error = kStatus_USB_Success;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&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;&amp;nbsp; error = kStatus_USB_InvalidRequest;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Pressed "caps lock key" several times and did not see the buffer printed to the terminal :&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_9.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/59054iF60BC07133948AA7/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_9.png" alt="pastedImage_9.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Matt&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 17 May 2016 15:20:07 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/SDK-2-0-No-num-lock-scroll-lock-and-caps-lock-LED-USB-control/m-p/461859#M3422</guid>
      <dc:creator>mwais</dc:creator>
      <dc:date>2016-05-17T15:20:07Z</dc:date>
    </item>
    <item>
      <title>Re: SDK_2.0 No num lock, scroll lock, and caps lock LED USB control info received.</title>
      <link>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/SDK-2-0-No-num-lock-scroll-lock-and-caps-lock-LED-USB-control/m-p/461860#M3423</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Kan,&lt;/P&gt;&lt;P&gt;This is Brad and I'm the FAE supporting Matt.&lt;/P&gt;&lt;P&gt;I have tried your suggestions using a FRDM-KL27 + KSDK 2.0 + KDS 3.2 + Win7 64-bit + US Keyboard&lt;/P&gt;&lt;P&gt;I have the exact same results.&amp;nbsp; The CapsLock key does not get acknowledged.&amp;nbsp; Setting breakpoints inside the keyboard callback routine are not recognized.&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Comic Sans MS'; color: #1f497d;"&gt;Using my USB analyzer and monitoring my normal keyboard connection, I discovered that the CapsLock, etc, sends out a Class_Specific_Device_Request and not any data-out request.&amp;nbsp; This is the result of pressing the CapLock key.&amp;nbsp; I get the same result if I use the on-screen keyboard as well.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt; &lt;SPAN style="font-size: 11.0pt; font-family: 'Comic Sans MS'; color: #1f497d;"&gt;If I then monitor the USB connection to the FRDM-KL27,&amp;nbsp; a Class_Specific_Device_Request is never issued.&amp;nbsp;&amp;nbsp; So I'm not sure what the problem is.&amp;nbsp; It seems that Windows may not recognize the FRDM-KL27 as a keyboard device but as generic HID.&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 17 May 2016 23:19:50 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/SDK-2-0-No-num-lock-scroll-lock-and-caps-lock-LED-USB-control/m-p/461860#M3423</guid>
      <dc:creator>bonzo</dc:creator>
      <dc:date>2016-05-17T23:19:50Z</dc:date>
    </item>
    <item>
      <title>Re: SDK_2.0 No num lock, scroll lock, and caps lock LED USB control info received.</title>
      <link>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/SDK-2-0-No-num-lock-scroll-lock-and-caps-lock-LED-USB-control/m-p/461861#M3424</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Matt,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;These is a misstake in usb hid keyboard report descriptor.&lt;/P&gt;&lt;P&gt;The LED page value is 0x08. but the code is 0x01 in source code. So the host will not send set report reuqest to the keyboard when any lock key is pressed. So you can do follow change: Change the value 0x01 to 0x08 (line 327 in file usb_device_descriptor.c) of the var. g_UsbDeviceHidKeyboardReportDescriptor. And then apply the ken's changes.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;We will fix this issue in following release.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Such as:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x95U, 0x05U, /* Report count (5U) */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x75U, 0x01U, /* Report Size (1U) */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x05U, &lt;STRONG&gt;&lt;SPAN style="text-decoration: line-through;"&gt;0x01U&lt;/SPAN&gt; 0x08U&lt;/STRONG&gt;, /* Usage Page (Page# for LEDs) */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x19U, 0x01U, /* Usage Minimum (1U) */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x29U, 0x05U, /* Usage Maximum (5U) */&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 18 May 2016 05:33:28 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/SDK-2-0-No-num-lock-scroll-lock-and-caps-lock-LED-USB-control/m-p/461861#M3424</guid>
      <dc:creator>lylezhu2012</dc:creator>
      <dc:date>2016-05-18T05:33:28Z</dc:date>
    </item>
    <item>
      <title>Re: SDK_2.0 No num lock, scroll lock, and caps lock LED USB control info received.</title>
      <link>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/SDK-2-0-No-num-lock-scroll-lock-and-caps-lock-LED-USB-control/m-p/461862#M3425</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;This works for me.&lt;/P&gt;&lt;P&gt;Thank you.&lt;/P&gt;&lt;P&gt;--Brad&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 18 May 2016 18:25:25 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/SDK-2-0-No-num-lock-scroll-lock-and-caps-lock-LED-USB-control/m-p/461862#M3425</guid>
      <dc:creator>bonzo</dc:creator>
      <dc:date>2016-05-18T18:25:25Z</dc:date>
    </item>
    <item>
      <title>Re: SDK_2.0 No num lock, scroll lock, and caps lock LED USB control info received.</title>
      <link>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/SDK-2-0-No-num-lock-scroll-lock-and-caps-lock-LED-USB-control/m-p/461863#M3426</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Brad, Kan, &amp;amp; Lele,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This works and resolved the issue!&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Works on FRDM-KL43Z and my own target platform for the MKL27Z256 using SDK 2.0 Framework.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you all,&lt;/P&gt;&lt;P&gt;--Matt&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 19 May 2016 14:56:21 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/SDK-2-0-No-num-lock-scroll-lock-and-caps-lock-LED-USB-control/m-p/461863#M3426</guid>
      <dc:creator>mwais</dc:creator>
      <dc:date>2016-05-19T14:56:21Z</dc:date>
    </item>
  </channel>
</rss>

