<?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>Wireless mouse / trackpad emulator using nRF52</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/15611/wireless-mouse-trackpad-emulator-using-nrf52</link><description>Hi all, 
 We have implemented the wireless mouse example on some custom hardware and it works great. We need to do something a little different however, and send absolute cursor positions to a Windows PC. 
 Despite my searches, I haven&amp;#39;t found any information</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Mon, 08 Aug 2016 16:19:42 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/15611/wireless-mouse-trackpad-emulator-using-nrf52" /><item><title>RE: Wireless mouse / trackpad emulator using nRF52</title><link>https://devzone.nordicsemi.com/thread/59554?ContentTypeID=1</link><pubDate>Mon, 08 Aug 2016 16:19:42 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6c6b6dc8-cf43-45d7-9370-878f7d2a8f68</guid><dc:creator>matterama</dc:creator><description>&lt;p&gt;Thanks Hakon.  I swear i tried that last week, but it didn&amp;#39;t work.  Retrying it now after clearing all remnants of the BLE device info on the PC and the behavior is as you describe.  Thank you!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Wireless mouse / trackpad emulator using nRF52</title><link>https://devzone.nordicsemi.com/thread/59553?ContentTypeID=1</link><pubDate>Mon, 08 Aug 2016 06:46:42 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7b3201fe-4976-4be8-9eaa-f1cf6f4ed429</guid><dc:creator>H&amp;#229;kon Alseth</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;Unfortunately, we do not have any examples showing this behavior straight out-of-the-box.
You can use the ble_app_hids_mouse example to perform this. You will have to change the behavior of the application, and parts of the USB descriptor in order to send absolute coordinates.&lt;/p&gt;
&lt;p&gt;The changes done in the X/Y pointer descriptor is fairly straight forward. There is a input field in the descriptor stating if the data is absolute or relative.&lt;/p&gt;
&lt;blockquote&gt;
&lt;pre&gt;&lt;code&gt;    // Report ID 2: Mouse motion
    0x85, 0x02,       //     Report Id 2
    0x09, 0x01,       //     Usage (Pointer)
    0xA1, 0x00,       //     Collection (Physical)
    0x75, 0x0C,       //         Report Size (12)
    0x95, 0x02,       //         Report Count (2)
    0x05, 0x01,       //         Usage Page (Generic Desktop)
    0x09, 0x30,       //             Usage (X)
    0x09, 0x31,       //             Usage (Y)
    0x16, 0x01, 0xF8, //             Logical maximum (2047)
    0x26, 0xFF, 0x07, //             Logical minimum (-2047)
    0x81, 0x06,       //             Input (Data, Variable, Relative)
    0xC0,             //     End Collection (Physical)
    0xC0,             // End Collection (Application)
&lt;/code&gt;&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;p&gt;If you change the &amp;quot;Input&amp;quot; to state absolute on REPORT_ID 2, and you can send X/Y movement (from -2048 to 2047):&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;      0x81, 0x02,       //             Input (Data, Variable, Absolute)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Cheers,
Håkon&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>