VSF Documented
Data Structures | Macros | Typedefs | Functions
vsf_input_hid.c File Reference
#include "../../vsf_input_cfg.h"
#include "service/vsf_service.h"
#include "hal/vsf_hal.h"
#include "../../vsf_input.h"
#include "./vsf_input_hid.h"

Data Structures

struct  vk_hid_desc_t
 

Macros

#define HID_LONG_ITEM(x)   ((x) == 0xFE)
 
#define HID_ITEM_SIZE(x)   ((((x) & 0x03) == 3) ? 4 : (x) & 0x03)
 
#define HID_ITEM_TYPE(x)   (((x) >> 2) & 0x03)
 
#define HID_ITEM_TYPE_MAIN   0
 
#define HID_ITEM_TYPE_GLOBAL   1
 
#define HID_ITEM_TYPE_LOCAL   2
 
#define HID_ITEM_TAG(x)   ((x) & 0xFC)
 
#define HID_ITEM_INPUT   0x80
 
#define HID_ITEM_OUTPUT   0x90
 
#define HID_ITEM_FEATURE   0xB0
 
#define HID_ITEM_COLLECTION   0xA0
 
#define HID_ITEM_END_COLLECTION   0xC0
 
#define HID_ITEM_USAGE_PAGE   0x04
 
#define HID_ITEM_LOGI_MINI   0x14
 
#define HID_ITEM_LOGI_MAXI   0x24
 
#define HID_ITEM_PHY_MINI   0x34
 
#define HID_ITEM_PHY_MAXI   0x44
 
#define HID_ITEM_UNIT_EXPT   0x54
 
#define HID_ITEM_UNIT   0x64
 
#define HID_ITEM_REPORT_SIZE   0x74
 
#define HID_ITEM_REPORT_ID   0x84
 
#define HID_ITEM_REPORT_COUNT   0x94
 
#define HID_ITEM_PUSH   0xA4
 
#define HID_ITEM_POP   0xB4
 
#define HID_ITEM_USAGE   0x08
 
#define HID_ITEM_USAGE_MIN   0x18
 
#define HID_ITEM_USAGE_MAX   0x28
 

Typedefs

typedef struct vk_hid_desc_t vk_hid_desc_t
 

Functions

void vsf_input_on_evt (vk_input_type_t type, vk_input_evt_t *evt)
 
void vsf_input_on_new_dev (vk_input_type_t type, void *dev)
 
void vsf_input_on_free_dev (vk_input_type_t type, void *dev)
 
void vsf_hid_on_new_dev (vk_input_hid_t *dev)
 
void vsf_hid_on_free_dev (vk_input_hid_t *dev)
 
void vsf_hid_on_report_input (vk_hid_evt_t *hid_evt)
 
void vsf_hid_parse_touch_screen (vk_hid_evt_t *hid_evt)
 
void vk_hid_new_dev (vk_input_hid_t *dev)
 
void vk_hid_free_dev (vk_input_hid_t *dev)
 
uint_fast8_t vk_hid_parse_desc (vk_input_hid_t *dev, uint8_t *desc_buf, uint_fast32_t len)
 
void vk_hid_process_input (vk_input_hid_t *dev, uint8_t *buf, uint_fast32_t len)
 

Macro Definition Documentation

◆ HID_LONG_ITEM

#define HID_LONG_ITEM (   x)    ((x) == 0xFE)

◆ HID_ITEM_SIZE

#define HID_ITEM_SIZE (   x)    ((((x) & 0x03) == 3) ? 4 : (x) & 0x03)

◆ HID_ITEM_TYPE

#define HID_ITEM_TYPE (   x)    (((x) >> 2) & 0x03)

◆ HID_ITEM_TYPE_MAIN

#define HID_ITEM_TYPE_MAIN   0

◆ HID_ITEM_TYPE_GLOBAL

#define HID_ITEM_TYPE_GLOBAL   1

◆ HID_ITEM_TYPE_LOCAL

#define HID_ITEM_TYPE_LOCAL   2

◆ HID_ITEM_TAG

#define HID_ITEM_TAG (   x)    ((x) & 0xFC)

◆ HID_ITEM_INPUT

#define HID_ITEM_INPUT   0x80

◆ HID_ITEM_OUTPUT

#define HID_ITEM_OUTPUT   0x90

◆ HID_ITEM_FEATURE

#define HID_ITEM_FEATURE   0xB0

◆ HID_ITEM_COLLECTION

#define HID_ITEM_COLLECTION   0xA0

◆ HID_ITEM_END_COLLECTION

#define HID_ITEM_END_COLLECTION   0xC0

◆ HID_ITEM_USAGE_PAGE

#define HID_ITEM_USAGE_PAGE   0x04

◆ HID_ITEM_LOGI_MINI

#define HID_ITEM_LOGI_MINI   0x14

◆ HID_ITEM_LOGI_MAXI

#define HID_ITEM_LOGI_MAXI   0x24

◆ HID_ITEM_PHY_MINI

#define HID_ITEM_PHY_MINI   0x34

◆ HID_ITEM_PHY_MAXI

#define HID_ITEM_PHY_MAXI   0x44

◆ HID_ITEM_UNIT_EXPT

#define HID_ITEM_UNIT_EXPT   0x54

◆ HID_ITEM_UNIT

#define HID_ITEM_UNIT   0x64

◆ HID_ITEM_REPORT_SIZE

#define HID_ITEM_REPORT_SIZE   0x74

◆ HID_ITEM_REPORT_ID

#define HID_ITEM_REPORT_ID   0x84

◆ HID_ITEM_REPORT_COUNT

#define HID_ITEM_REPORT_COUNT   0x94

◆ HID_ITEM_PUSH

#define HID_ITEM_PUSH   0xA4

◆ HID_ITEM_POP

#define HID_ITEM_POP   0xB4

◆ HID_ITEM_USAGE

#define HID_ITEM_USAGE   0x08

◆ HID_ITEM_USAGE_MIN

#define HID_ITEM_USAGE_MIN   0x18

◆ HID_ITEM_USAGE_MAX

#define HID_ITEM_USAGE_MAX   0x28

Typedef Documentation

◆ vk_hid_desc_t

typedef struct vk_hid_desc_t vk_hid_desc_t

Function Documentation

◆ vsf_input_on_evt()

void vsf_input_on_evt ( vk_input_type_t  type,
vk_input_evt_t evt 
)
extern

◆ vsf_input_on_new_dev()

void vsf_input_on_new_dev ( vk_input_type_t  type,
void *  dev 
)
extern

◆ vsf_input_on_free_dev()

void vsf_input_on_free_dev ( vk_input_type_t  type,
void *  dev 
)
extern

◆ vsf_hid_on_new_dev()

void vsf_hid_on_new_dev ( vk_input_hid_t dev)
extern

◆ vsf_hid_on_free_dev()

void vsf_hid_on_free_dev ( vk_input_hid_t dev)
extern

◆ vsf_hid_on_report_input()

void vsf_hid_on_report_input ( vk_hid_evt_t hid_evt)
extern

◆ vsf_hid_parse_touch_screen()

void vsf_hid_parse_touch_screen ( vk_hid_evt_t hid_evt)

◆ vk_hid_new_dev()

void vk_hid_new_dev ( vk_input_hid_t dev)

◆ vk_hid_free_dev()

void vk_hid_free_dev ( vk_input_hid_t dev)

◆ vk_hid_parse_desc()

uint_fast8_t vk_hid_parse_desc ( vk_input_hid_t dev,
uint8_t desc_buf,
uint_fast32_t  len 
)

◆ vk_hid_process_input()

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