VSF Documented
Data Structures | Macros | Typedefs | Enumerations | Functions
vsf_input_hid.h File Reference
#include "../../vsf_input_cfg.h"
#include "../../vsf_input_get_type.h"
#include "utilities/vsf_utilities.h"

Go to the source code of this file.

Data Structures

struct  vk_hid_usage_t
 
struct  vk_hid_evt_t
 
struct  vk_hid_report_t
 
struct  vk_input_hid_t
 

Macros

#define HID_USAGE_PAGE_GENERIC   0x01
 
#define HID_USAGE_PAGE_KEYBOARD   0x07
 
#define HID_USAGE_PAGE_BUTTON   0x09
 
#define HID_USAGE_PAGE_DIGITIZERS   0x0D
 
#define HID_USAGE_ID_X   0x30
 
#define HID_USAGE_ID_Y   0x31
 
#define HID_USAGE_ID_Z   0x32
 
#define HID_USAGE_ID_Rx   0x33
 
#define HID_USAGE_ID_Ry   0x34
 
#define HID_USAGE_ID_Rz   0x35
 
#define HID_USAGE_ID_Slider   0x36
 
#define HID_USAGE_ID_Dial   0x37
 
#define HID_USAGE_ID_Wheel   0x38
 
#define HID_USAGE_ID_Hat   0x39
 
#define HID_USAGE_ID_TOUCH_SCREEN   0x04
 
#define HID_USAGE_ID_TIP_PRESSURE   0x30
 
#define HID_USAGE_ID_TIP_SWITCH   0x42
 
#define HID_USAGE_ID_TIP_ID   0x51
 
#define HID_USAGE_ID_GENERIC_MIN   HID_USAGE_ID_X
 
#define HID_USAGE_ID_GENERIC_MAX   HID_USAGE_ID_Hat
 
#define HID_USAGE_ID_KEYBOARD_MIN   0
 
#define HID_USAGE_ID_KEYBOARD_BITS   224
 
#define HID_USAGE_ID_KEYBOARD_MAX   255
 
#define HID_USAGE_ID_BUTTON_MIN   1
 
#define HID_USAGE_ID_BUTTON_MAX   32
 
#define HID_GENERIC_DESKTOP_UNDEFINEED   0
 
#define HID_GENERIC_DESKTOP_POINTER   1
 
#define HID_GENERIC_DESKTOP_MOUSE   2
 
#define HID_GENERIC_DESKTOP_JOYSTICK   4
 
#define HID_GENERIC_DESKTOP_GAMEPAD   5
 
#define HID_GENERIC_DESKTOP_KEYBOARD   6
 
#define HID_GENERIC_DESKTOP_KEYPAD   7
 
#define HID_GENERIC_DESKTOP_MULTIAXIS_CONTROLLER   8
 
#define hid_usage_is_const(__usage)   ((__usage)->data_flag & 1)
 
#define hid_usage_is_data(__usage)   !hid_usage_is_const(__usage)
 
#define hid_usage_is_var(__usage)   ((__usage)->data_flag & 2)
 
#define hid_usage_is_array(__usage)   !hid_usage_is_var(__usage)
 
#define hid_usage_is_rel(__usage)   ((__usage)->data_flag & 4)
 
#define hid_usage_is_abs(__usage)   !hid_usage_is_rel(__usage)
 
#define hid_get_generic_usage_id(__evt)   ((uint8_t)((__evt)->id >> 0))
 
#define hid_get_generic_usage_page(__evt)   ((uint8_t)((__evt)->id >> 8))
 
#define hid_get_usage_id(__evt)   ((uint8_t)((__evt)->id >> 16))
 
#define hid_get_usage_page(__evt)   ((uint8_t)((__evt)->id >> 24))
 

Typedefs

typedef struct vk_hid_usage_t vk_hid_usage_t
 
typedef struct vk_hid_evt_t vk_hid_evt_t
 
typedef struct vk_hid_report_t vk_hid_report_t
 
typedef struct vk_input_hid_t vk_input_hid_t
 

Enumerations

enum  { VSF_INPUT_TYPE_HID = VSF_INPUT_USER_TYPE }
 

Functions

uint_fast8_t vk_hid_parse_desc (vk_input_hid_t *dev, uint8_t *desc_buf, uint_fast32_t desc_len)
 
void vk_hid_process_input (vk_input_hid_t *dev, uint8_t *buf, uint_fast32_t len)
 
void vk_hid_new_dev (vk_input_hid_t *dev)
 
void vk_hid_free_dev (vk_input_hid_t *dev)
 
void vsf_hid_parse_touch_screen (vk_hid_evt_t *hid_evt)
 

Macro Definition Documentation

◆ HID_USAGE_PAGE_GENERIC

#define HID_USAGE_PAGE_GENERIC   0x01

◆ HID_USAGE_PAGE_KEYBOARD

#define HID_USAGE_PAGE_KEYBOARD   0x07

◆ HID_USAGE_PAGE_BUTTON

#define HID_USAGE_PAGE_BUTTON   0x09

◆ HID_USAGE_PAGE_DIGITIZERS

#define HID_USAGE_PAGE_DIGITIZERS   0x0D

◆ HID_USAGE_ID_X

#define HID_USAGE_ID_X   0x30

◆ HID_USAGE_ID_Y

#define HID_USAGE_ID_Y   0x31

◆ HID_USAGE_ID_Z

#define HID_USAGE_ID_Z   0x32

◆ HID_USAGE_ID_Rx

#define HID_USAGE_ID_Rx   0x33

◆ HID_USAGE_ID_Ry

#define HID_USAGE_ID_Ry   0x34

◆ HID_USAGE_ID_Rz

#define HID_USAGE_ID_Rz   0x35

◆ HID_USAGE_ID_Slider

#define HID_USAGE_ID_Slider   0x36

◆ HID_USAGE_ID_Dial

#define HID_USAGE_ID_Dial   0x37

◆ HID_USAGE_ID_Wheel

#define HID_USAGE_ID_Wheel   0x38

◆ HID_USAGE_ID_Hat

#define HID_USAGE_ID_Hat   0x39

◆ HID_USAGE_ID_TOUCH_SCREEN

#define HID_USAGE_ID_TOUCH_SCREEN   0x04

◆ HID_USAGE_ID_TIP_PRESSURE

#define HID_USAGE_ID_TIP_PRESSURE   0x30

◆ HID_USAGE_ID_TIP_SWITCH

#define HID_USAGE_ID_TIP_SWITCH   0x42

◆ HID_USAGE_ID_TIP_ID

#define HID_USAGE_ID_TIP_ID   0x51

◆ HID_USAGE_ID_GENERIC_MIN

#define HID_USAGE_ID_GENERIC_MIN   HID_USAGE_ID_X

◆ HID_USAGE_ID_GENERIC_MAX

#define HID_USAGE_ID_GENERIC_MAX   HID_USAGE_ID_Hat

◆ HID_USAGE_ID_KEYBOARD_MIN

#define HID_USAGE_ID_KEYBOARD_MIN   0

◆ HID_USAGE_ID_KEYBOARD_BITS

#define HID_USAGE_ID_KEYBOARD_BITS   224

◆ HID_USAGE_ID_KEYBOARD_MAX

#define HID_USAGE_ID_KEYBOARD_MAX   255

◆ HID_USAGE_ID_BUTTON_MIN

#define HID_USAGE_ID_BUTTON_MIN   1

◆ HID_USAGE_ID_BUTTON_MAX

#define HID_USAGE_ID_BUTTON_MAX   32

◆ HID_GENERIC_DESKTOP_UNDEFINEED

#define HID_GENERIC_DESKTOP_UNDEFINEED   0

◆ HID_GENERIC_DESKTOP_POINTER

#define HID_GENERIC_DESKTOP_POINTER   1

◆ HID_GENERIC_DESKTOP_MOUSE

#define HID_GENERIC_DESKTOP_MOUSE   2

◆ HID_GENERIC_DESKTOP_JOYSTICK

#define HID_GENERIC_DESKTOP_JOYSTICK   4

◆ HID_GENERIC_DESKTOP_GAMEPAD

#define HID_GENERIC_DESKTOP_GAMEPAD   5

◆ HID_GENERIC_DESKTOP_KEYBOARD

#define HID_GENERIC_DESKTOP_KEYBOARD   6

◆ HID_GENERIC_DESKTOP_KEYPAD

#define HID_GENERIC_DESKTOP_KEYPAD   7

◆ HID_GENERIC_DESKTOP_MULTIAXIS_CONTROLLER

#define HID_GENERIC_DESKTOP_MULTIAXIS_CONTROLLER   8

◆ hid_usage_is_const

#define hid_usage_is_const (   __usage)    ((__usage)->data_flag & 1)

◆ hid_usage_is_data

#define hid_usage_is_data (   __usage)    !hid_usage_is_const(__usage)

◆ hid_usage_is_var

#define hid_usage_is_var (   __usage)    ((__usage)->data_flag & 2)

◆ hid_usage_is_array

#define hid_usage_is_array (   __usage)    !hid_usage_is_var(__usage)

◆ hid_usage_is_rel

#define hid_usage_is_rel (   __usage)    ((__usage)->data_flag & 4)

◆ hid_usage_is_abs

#define hid_usage_is_abs (   __usage)    !hid_usage_is_rel(__usage)

◆ hid_get_generic_usage_id

#define hid_get_generic_usage_id (   __evt)    ((uint8_t)((__evt)->id >> 0))

◆ hid_get_generic_usage_page

#define hid_get_generic_usage_page (   __evt)    ((uint8_t)((__evt)->id >> 8))

◆ hid_get_usage_id

#define hid_get_usage_id (   __evt)    ((uint8_t)((__evt)->id >> 16))

◆ hid_get_usage_page

#define hid_get_usage_page (   __evt)    ((uint8_t)((__evt)->id >> 24))

Typedef Documentation

◆ vk_hid_usage_t

◆ vk_hid_evt_t

typedef struct vk_hid_evt_t vk_hid_evt_t

◆ vk_hid_report_t

◆ vk_input_hid_t

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
VSF_INPUT_TYPE_HID 

Function Documentation

◆ vk_hid_parse_desc()

uint_fast8_t vk_hid_parse_desc ( vk_input_hid_t dev,
uint8_t desc_buf,
uint_fast32_t  desc_len 
)
extern

◆ vk_hid_process_input()

void vk_hid_process_input ( vk_input_hid_t dev,
uint8_t buf,
uint_fast32_t  len 
)
extern

◆ vk_hid_new_dev()

void vk_hid_new_dev ( vk_input_hid_t dev)
extern

◆ vk_hid_free_dev()

void vk_hid_free_dev ( vk_input_hid_t dev)
extern

◆ vsf_hid_parse_touch_screen()

void vsf_hid_parse_touch_screen ( vk_hid_evt_t hid_evt)
extern