Skip to content

HID service implementation for mbed's BLE API

Notifications You must be signed in to change notification settings

ketaminekid423/BLE_HID

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

54 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Human Interface Device over Bluetooth Low Energy

Human Interface Device (HID) is a standard that defines the format used to communicate human inputs to a computer. It was originally created for USB keyboards, mice, joysticks, digitizers, audio controllers and so on.

You can use the HID Over GATT Profile (HOGP) to send HID information over Bluetooth Low Energy, using the same data format as USB HID.

Warning: this is not the same as the HID profile used on Classic Bluetooth.

Content

This repository contains the HID Service implementation, example code, and various documentation.

Code

  • BLE_HID/HIDServiceBase.*: the HID Service implementation; requires BLE_API.
  • BLE_HID/KeyboardService.h: an example use of HIDServiceBase, which sends Keycode reports.
  • BLE_HID/MouseService.h: a service that sends mouse events: linear speed along X/Y axis, scroll speed and clicks.
  • BLE_HID/JoystickService.h: a service that sends joystick events: moves along X/Y/Z axis, rotation around X, and buttons.
  • examples/keyboard_stream.cpp: an example use of KeyboardService, which sends strings through a series of HID reports.
  • examples/mouse_scroll.cpp: an example use of MouseService, which sends scroll reports.

Documentation

  • doc/HID: introduction to the USB HID specification, and to the parts that are reused in BLE.
  • doc/HIDService: description of the BLE HID service, and how to use this implementation.

About

HID service implementation for mbed's BLE API

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 68.3%
  • C 31.7%