I need some guidance on how or whether this is possible to achieve without a "server" application running on the pc. I have gotten as far as establishing a bluetooth connection to the PC, I would like to send HID commands to control a slideshow similar to how a clicker works.
-
Possible duplicate of [Controlling PowerPoint Slideshow](http://stackoverflow.com/questions/2994892/controlling-powerpoint-slideshow) – Anders Marzi Tornblad Jul 13 '16 at 07:32
-
1@AndersTornblad Not a duplicate, completely irrelevant question. I have a sepcific question about HID. – Francisco Aguilera Jul 13 '16 at 10:20
-
Ah, then you shouldn't put the very specific word PowerPoint in the title OR the content text! – Anders Marzi Tornblad Jul 13 '16 at 12:05
-
I mean the question is about powerpoint and hid... – Francisco Aguilera Jul 14 '16 at 02:41
-
Then you have two separate questions. Or you should rethink what your goal is. If you want to write software in C# for controlling a PowerPoint presentation, the link I provided will help you do exactly that, but without simulating a HID device, which is not necessary for controlling a PowerPoint presentation. If you want to simulate HID input in general, it has nothing to do with PowerPoint. – Anders Marzi Tornblad Jul 14 '16 at 04:24
-
@AndersTornblad The topic you posted Is for controlling powerpoint from an application running locally. I am looking for a way to send HID commands similar to a cordless presenter via bluetooth. See https://developer.bluetooth.org/TechnologyOverview/Pages/HID.aspx Also wondering whether this is even possible. – Francisco Aguilera Jul 14 '16 at 05:10
-
Would any of this be similar to what you are looking for? https://msdn.microsoft.com/en-us/library/aa916569.aspx http://stackoverflow.com/questions/8632614/what-events-are-fired-by-bluetooth-avrcp-commands-in-windows http://stackoverflow.com/questions/9160402/simulating-human-interface-device-via-bluetooth – Steve Byrne Dec 30 '16 at 01:34
-
@StevenByrne [This](http://stackoverflow.com/questions/9160402/simulating-human-interface-device-via-bluetooth) is not, because he states he is running a server on his machine to interpret commands. Picture this scenario, you buy a clicker at Best Buy, and you connect it via bluetooth to your PC. You launch your favorite SlideShow program and start switching slides with your new clicker. You never installed any server software or anything, the clicker is simply plug and play because it adheres to HID. I want to do this with software. – Francisco Aguilera Dec 30 '16 at 02:22
-
Granted I'm no expert on the subject but it installs software and drivers. My understanding would be the USB receives the Bluetooth clicks, then runs HID commands, the USB being the server, the controller being the client. I could be totally off on this, but I thought that's how it worked? – Steve Byrne Dec 30 '16 at 02:27
-
1@StevenByrne As far as AVRCP, that is just another [bluetooth profile](https://en.wikipedia.org/wiki/List_of_Bluetooth_profiles#Human_Interface_Device_Profile_.28HID.29) just like HID but less apt for this particular situation. – Francisco Aguilera Dec 30 '16 at 02:28
-
@StevenByrne No server is installed. I believe HID is a specification/profile where you send commands specifically formatted in a way where an HID-compatible receiver is able to interpret them and notify the device to act in a certain way. I could be wrong on the specifics. – Francisco Aguilera Dec 30 '16 at 02:30
-
You're probably right, my thought though being that the USB has firmware on it that receives information; I thought this was how they paired them with the controller; which if they had to do that any ways I would think they would just have the remote send a Bluetooth command to the USB that converts it into HUD commands on the local machine. Otherwise it would have to redundantly check every command to see what device was sending it, no? – Steve Byrne Dec 30 '16 at 02:33
-
Let us [continue this discussion in chat](http://chat.stackoverflow.com/rooms/131852/discussion-between-francisco-aguilera-and-steven-byrne). – Francisco Aguilera Dec 30 '16 at 02:33
-
Your responses to comments seem to indicate the question, as asked, is not what you want to ask. Here is my current interpretation, based on what you've said in comments and the chat: you want to provide an actual bluetooth device that provides HID commands over bluetooth that control powerpoint. I'm not currently sure where "C#" "emulate" come in to that? Are you trying to write the bluetooth device's firmware in C#? If so, using what platform, Netduino or something? I would honestly vote to close this as-is, but I can't because you put a bounty on it. Please clarify your question. – Alex Lyman Jan 05 '17 at 00:44
-
@AlexLyman See my answer. – Francisco Aguilera Jan 05 '17 at 00:50
3 Answers
The PDF outlined by this link is an excellent, detailed, platform-agnostic resource on sending HID commands via a Bluetooth connection. It talks about having your device set up as a server, and what the relevant commands to send over the link. So, to answer #1 - it is possible. 2 this document outlines how it is done.

- 3,099
- 6
- 31
- 57
while it is possible, as far as I know, under windows that would involve either
- using an external bluetooth HID module (like this http://www.instructables.com/id/3-Bluetooth-HID-Module-HC05-With-RN42-Firmware/)
- writing a semi custom bluetooth driver to appear as a HID device.
if you have an external HID module, it's easy, just talk to it via rs232 (serial), and it will send whatever you want, though you will need to buy some hardware.
it seems like you can get away with just patching the windows bluetooth driver instead of writing one. https://nadavrub.wordpress.com/2015/07/17/simulate-hid-device-with-windows-desktop/
If you have access to linux instead, using a already available library for that would probably be the safest and easiest.

- 290
- 3
- 9
I think you can use
https://msdn.microsoft.com/en-us/library/ms171548(v=vs.110).aspx
to simulate mouse events with the same effect as a powerpoint click and as for the bluetooth, I'm not sure.

- 1,905
- 1
- 18
- 36