TINYALAMO is a suite of tools for BT keystroke surveillance and injection. It targets BLE (Bluetooth Smart) keyboards and mice. The tools in this set exploit a combination of fundamental protocol design flaws and OS 0day vulnerabilities.
Ubertooth One : https://greatscottgadgets.com/ubertoothone/
BlueZ 5: http://www.bluez.org/
Linux >= 3.13: https://www.kernel.org/
step 1: Identify target device using Ubertooth
step 2: Jam connection with Ubertooth
step 3: Impersonate device
step 4: Inject keystrokes into target OS