You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

52 lines
2.4 KiB

/*
* Copyright (c) 2020 The ZMK Contributors
*
* SPDX-License-Identifier: MIT
*
* Based on HID Usage Tables 1.21,
* Copyright © 1996-2020, USB Implementers Forum,
* https://www.usb.org/sites/default/files/hut1_21.pdf
*/
#pragma once
#define ZMK_HID_USAGE(page, id) ((page << 16) | id)
#define ZMK_HID_USAGE_ID(usage) (usage & 0xFFFF)
#define ZMK_HID_USAGE_PAGE(usage) ((usage >> 16) & 0xFF)
/* WARNING: DEPRECATED from dt-bindings/zmk/keys.h */
#define USAGE_KEYPAD (0x07) // WARNING: DEPRECATED (DO NOT USE)
#define USAGE_CONSUMER (0x0C) // WARNING: DEPRECATED (DO NOT USE)
#define HID_USAGE_GD (0x01) // Generic Desktop
#define HID_USAGE_SIM (0x02) // Simulation Controls
#define HID_USAGE_VR (0x03) // VR Controls
#define HID_USAGE_SPORT (0x04) // Sport Controls
#define HID_USAGE_GAME (0x05) // Game Controls
#define HID_USAGE_GDV (0x06) // Generic Device Controls
#define HID_USAGE_KEY (0x07) // Keyboard/Keypad
#define HID_USAGE_LED (0x08) // LED
#define HID_USAGE_BUTTON (0x09) // Button
#define HID_USAGE_TELEPHONY (0x0B) // Telephony Device
#define HID_USAGE_CONSUMER (0x0C) // Consumer
#define HID_USAGE_DIGITIZERS (0x0D) // Digitizers
#define HID_USAGE_HAPTICS (0x0E) // Haptics
#define HID_USAGE_PID (0x0F) // PID
#define HID_USAGE_EHT (0x12) // Eye and Head Trackers
#define HID_USAGE_AUXDISP (0x14) // Auxiliary Display
#define HID_USAGE_SENSORS (0x20) // Sensors
#define HID_USAGE_MEDICAL (0x40) // Medical Instrument
#define HID_USAGE_BRAILLE (0x41) // Braille Display
#define HID_USAGE_LIGHT (0x59) // Lighting And Illumination
#define HID_USAGE_MONITOR (0x80) // USB Monitor
#define HID_USAGE_MONITOR_VALUES (0x81) // Monitor Enumerated Values
#define HID_USAGE_MONITOR_VESA (0x82) // VESA Virtual Control
#define HID_USAGE_POWER (0x84) // Power
#define HID_USAGE_POS_BARCODE (0x8C) // Bar Code Scanner
#define HID_USAGE_POS_SCALE (0x8D) // Scale
#define HID_USAGE_POS_MSR (0x8E) // Magnetic Stripe Reading (MSR) Devices
#define HID_USAGE_POS_RESV (0x8F) // Reserved Point of Sale
#define HID_USAGE_CAMERA (0x90) // Camera Control
#define HID_USAGE_ARCADE (0x91) // Arcade
#define HID_USAGE_GAMING (0x92) // Gaming Device
#define HID_USAGE_FIDO (0xF1D0) // FIDO Alliance