Skip to content

JulianDroske/rdg.lua

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HID Report Descriptor Generator (RDG)

rdg.lua is a report descriptor generator (or 'compiler') written in lua, works with Lua 5.3+ which has bitwise operations built-in.

Usage

./rdg.lua [options] <input_file>
lua5.3 ./rdg.lua [options] <input_file>

See ./rdg.lua -h for more details.

For example:

# convert report descriptor source code file 'keyboard.rds' to binary file 'keyboard.rdb'
./rdg.lua -o ./keyboard.rdb ./keyboard.rds

File Types

Report Descriptor Source Code (.RDS)

Source code file format.

See rds.md

Report Descriptor Binary (.RDB)

Binary compiled file, which can be directly written to 'report_desc' in configfs.

Current status

Functions (Items)

Main Items

  • Input()
  • Output()
  • Feature()
  • Collection()
  • End_Collection()

Global Items

  • Usage_Page()
  • Logical*()
  • Physical*()
  • Unit_Exponent()
  • Unit()
  • Report_Size()
  • Report_ID()
  • Report_Count()
  • Push()
  • Pop()

Local Items

  • Usage*()
  • Designator*()
  • String*()
  • Delimiter()

Usage Pages

  • Generic Desktop
  • Simulation Controls
  • VR Controls
  • Sport Controls
  • Game Controls
  • Generic Device Controls
  • Keyboard/Keypad
  • LED
  • Button
  • Ordinal
  • Telephony Device
  • Consumer
  • Digitizers
  • Haptics
  • Physical Input Device
  • Unicode
  • SoC
  • Eye and Head Trackers
  • Auxiliary Display
  • Sensors
  • Medical Instrument
  • Braille Display
  • Lighting And Illumination
  • Minitor
  • Minitor Enumerated
  • VESA Virtual Controls
  • Power
  • Battery System
  • Barcode Scanner
  • Scales
  • Magnetic Stripe Reader
  • Camera Control
  • Aecade
  • Gaming Device
  • FIDO Alliance

References

github.com, HID-PID Descriptor tool

usb.org, Device Class Definition for Human Interface Devices (HID) Firmware Specification

usb.org, HID Usage Tables FOR Universal Serial Bus (USB)

gist.github.com, USB HID keycode table + JSON, extracted from HID Usage Tables v1.21

About

A HID Report Descriptor Generator/Compiler written in Lua

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages