All Projects → tejado → Android Usb Gadget

tejado / Android Usb Gadget

Convert your Android phone to any USB device you like! USB Gadget Tool allows you to create and activate USB device roles, like a mouse or a keyboard. 🛠🛡📱

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Android Usb Gadget

Usbdevice
Highly flexible Composite USB Device Library
Stars: ✭ 144 (+22.03%)
Mutual labels:  usb, hid, usb-devices
Usbguard
USBGuard is a software framework for implementing USB device authorization policies (what kind of USB devices are authorized) as well as method of use policies (how a USB device may interact with the system)
Stars: ✭ 668 (+466.1%)
Mutual labels:  usb, usb-devices
Helenos
A portable microkernel-based multiserver operating system written from scratch.
Stars: ✭ 553 (+368.64%)
Mutual labels:  usb, kernel
Hidpytoy
A GUI app for playing with HID devices, written in Python
Stars: ✭ 25 (-78.81%)
Mutual labels:  usb, hid
Headsetcontrol
Sidetone and Battery status for Logitech G930, G533, G633, G933 SteelSeries Arctis 7/PRO 2019 and Corsair VOID (Pro) in Linux and MacOSX
Stars: ✭ 392 (+232.2%)
Mutual labels:  usb, hid
Hidapi
A Simple library for communicating with USB and Bluetooth HID devices on Linux, Mac and Windows.
Stars: ✭ 465 (+294.07%)
Mutual labels:  usb, hid
Libwdi
Windows Driver Installer library for USB devices
Stars: ✭ 928 (+686.44%)
Mutual labels:  usb, usb-devices
getting-started
List of ideas for getting started with TimVideos projects
Stars: ✭ 50 (-57.63%)
Mutual labels:  usb, usb-devices
Stream Deck Api
API to interact with the Elgato Stream Deck controller
Stars: ✭ 36 (-69.49%)
Mutual labels:  usb, hid
Node Hid
Access USB & Bluetooth HID devices through Node.js
Stars: ✭ 1,064 (+801.69%)
Mutual labels:  usb, hid
Anexplorer
📁 Another Android Explorer ( File Manager ) is an All-in-One Open source file manager. AnExplorer File Manager (File Explorer) is designed for all android devices including Phones, Phablets, Tablets, Chromecast, Wear OS, Android TV and Chromebooks. It's a fully designed with Material guidelines by Google.
Stars: ✭ 1,505 (+1175.42%)
Mutual labels:  usb-devices, root
Node Elgato Stream Deck
A Node.js library for interfacing with the Elgato Stream Deck.
Stars: ✭ 359 (+204.24%)
Mutual labels:  usb, hid
Device.net
A C# cross platform connected device framework
Stars: ✭ 347 (+194.07%)
Mutual labels:  usb, hid
Hidviz
A tool for in-depth analysis of USB HID devices communication
Stars: ✭ 505 (+327.97%)
Mutual labels:  usb, hid
Teenyusb
Lightweight USB device and host stack for STM32 and other MCUs.
Stars: ✭ 287 (+143.22%)
Mutual labels:  usb, hid
Vigembus
Windows kernel-mode driver emulating well-known USB game controllers.
Stars: ✭ 721 (+511.02%)
Mutual labels:  usb, hid
Autogadgetfs
USB testing made easy
Stars: ✭ 71 (-39.83%)
Mutual labels:  usb, usb-devices
usb stack
Tiny and portable USB device/host stack for embedded system with USB IP
Stars: ✭ 175 (+48.31%)
Mutual labels:  usb, hid
SanderOSUSB
32 bit singletasking C kernel
Stars: ✭ 52 (-55.93%)
Mutual labels:  kernel, hid
Lsusb
Most popular USB devices and lsusb reports
Stars: ✭ 19 (-83.9%)
Mutual labels:  usb, usb-devices

USB Gadget Tool

USB Gadget Tool Screenshot

Convert your Android phone to any USB device you like!
USB Gadget Tool allows you to create and activate USB device roles, like a mouse or a keyboard. Connected USB hosts (e.g. a normal computer) will then identify your Android device only under that role. It can also be used to deactivate the standard USB Gadget (including mtp, adb, etc.), e.g. for security reasons.

Following USB gadgets are integrated:

  • Keyboard & Mouse (/dev/hidg0, /dev/hidg1)
  • FIDO CTAP (/dev/hidg0; for WebAuthn)
  • CCID (/dev/ccid_ctrl, /dev/ccid_bulk)

USB Gadget Tool requires root permissions and a Kernel with ConfigFS support. Currently the app only enables the USB Gadget. For the usage of these device endpoints (e.g. /dev/hidg0) further apps are required (see Use-Cases).

Use-Cases

Roadmap

  • Mount of /config if not available
  • Alert if ConfigFS is not supported
  • Creating & enabling USB Gadgets during boot
  • Import custom USB Gadget profiles
  • Adding functions to USB Gadgets
  • Example USB Gadget usage (USB Gadget Tool currently only manages USB Gadgets, not implementations of these)
  • Optional telemetry to understand better how all the Android vendors compile their kernel (e.g. what USB Gadgets are available)
  • F-Droid & Google Play Store distribution

How does it work?

USB Gadget Tool uses ConfigFS - an userspace API inside the Linux Kernel - for creation of arbitrary USB composite devices. https://www.kernel.org/doc/Documentation/filesystems/configfs/configfs.txt

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].