hidtools.hut module¶
- 
HUT= <hidtools.hut.HidUsageTable object>¶
- The HID Usage Tables as a - hidtools.HidUsageTableobject, a dictionary where the keys are the numeric Usage Page and the values are the respective- hidtools.HidUsagePageobject.- > usages = hidtools.hut.HUT() > print(usages[0x01].page_name) Generic Desktop > print(usages.usage_pages[0x01].page_name) Generic Desktop > print(usages[0x01].page_id) 1 
- 
class HidUsage(usage_page, usage, name)¶
- Bases: - object- A HID Usage entry as defined in the HID Usage Tablets. - > usage_page = hidtools.hut.HUT[0x01] # Generic Desktop > usage = usage_page[0x02] > print(usage.usage) 2 > print(usage) Mouse > print(usage.name) Mouse - Parameters
- usage_page (HidUsagePage) – the Usage Page this Usage belongs to 
- usage (int) – the 16-bit Usage assigned by the HID Usage Tables 
- name (str) – the usage_name 
 
 - 
usage¶
- the 16-bit Usage assigned by the HId Usage Tables 
 - 
name¶
- the semantic name for this Usage 
 - 
usage_page¶
- the - HidUsagePagethis Usage belongs to
 
- 
class HidUsagePage¶
- Bases: - object- A dictionary of HID Usages in the form - {usage: usage_name}, representing all Usages in this Usage Page.- A HID Usage is named semantical identifier that describe how a given field in a HID report is to be used. A Usage Page is a logical grouping of those identifiers, e.g. “Generic Desktop”, “Telephony Devices”, or “Digitizers”. - > print(usage_page.page_name) Generic Desktop > print(usage_page.page_id) 1 > print(usage_page[0x02]) Mouse > print(usage_page['Mouse']) Mouse > usage = usage_page.from_name["Mouse"] > print(usage.usage) 2 > print(usage.name) Mouse > print(usage) Mouse - 
page_id¶
- The Page ID for this Usage Page, e.g. - 01(Generic Desktop)
 - 
page_name¶
- The assigned name for this usage Page, e.g. “Generic Desktop” 
 - 
property from_name¶
- A dictionary using - { name: usage }mapping, to look up the- HidUsagebased on a name.
 - 
property from_usage¶
- A dictionary using - { usage: name }mapping, to look up the name based on a page ID . This is the same as using the object itself.
 - 
items()¶
- Iterate over all elements, see - dict.items()
 - 
property page_id¶
- The numerical page ID for this usage page 
 - 
property page_name¶
- The assigned name for this Usage Page 
 
- 
- 
class HidUsageTable¶
- Bases: - object- This effectively a dictionary of all HID Usages known to man. Or to this module at least. This object is a singleton, it is available as - hidtools.hut.HUT.- Elements of this dictionary are - HidUsagePageobjects.- This object is a dictionary, use like this: - > hut = hidtools.hut.HUT > print(hut[0x01].page_name) Generic Desktop > print(hut['Generic Desktop'].page_name) Generic Desktop > print(hut.usage_pages[0x01].page_name) Generic Desktop > print(hut.usage_page_names['Generic Desktop'].page_name) Generic Desktop > print(hut[0x01].page_id) 1 > print(hut.usage_page_from_name('Generic Desktop').page_id) 1 > print(hut.usage_page_from_page_id(0x01).page_name) Generic Desktop - 
items()¶
- Iterate over all elements, see - dict.items()
 - 
usage_page_from_name(page_name)¶
- Look up the usage page based on the page name (e.g. “Generic Desktop”). This is identical to - self.usage_page_names[page_name] - except that this function returns - Noneif the page name is unknown.- Returns
- the - HidUsagePage()or None
 
 - 
usage_page_from_page_id(page_id)¶
- Look up the usage page based on the page ID. This is identical to - self.usage_pages[page_id] - except that this function returns - Noneif the page ID is unknown.- Returns
- the - HidUsagePage()or None
 
 - 
property usage_page_names¶
- A dictionary mapping - {page_name : object}. These two are equivalent calls:- HUT['Generic Desktop'] HUT.usage_page_names['Generic Desktop'] 
 - 
property usage_pages¶
- A dictionary mapping - {page_id : object}. These two are equivalent calls:- HUT[0x1] HUT.usage_pages[0x1] 
 
-