Bemanitools v5.26 release

This commit is contained in:
icex2
2019-09-27 22:36:50 +02:00
commit cbd7720349
718 changed files with 62731 additions and 0 deletions
+82
View File
@@ -0,0 +1,82 @@
#ifndef GENINPUT_MAPPER_H
#define GENINPUT_MAPPER_H
#include <stdbool.h>
#include <stddef.h>
#include <stdint.h>
#include "geninput/hid-mgr.h"
#include "util/defs.h"
typedef struct action_iter *action_iter_t;
typedef struct light_iter *light_iter_t;
struct mapper;
struct mapped_action {
struct hid_stub *hid;
uint32_t control_no;
int32_t value_min;
int32_t value_max;
};
struct mapped_analog {
struct hid_stub *hid;
size_t control_no;
};
struct mapped_light {
struct hid_stub *hid;
size_t light_no;
};
extern struct mapper *mapper_inst;
void action_iter_get_mapping(action_iter_t iter, struct mapped_action *ma);
uint8_t action_iter_get_action(action_iter_t iter);
uint8_t action_iter_get_page(action_iter_t iter);
uint8_t action_iter_get_bit(action_iter_t iter);
bool action_iter_is_valid(action_iter_t iter);
void action_iter_next(action_iter_t iter);
void action_iter_free(action_iter_t iter);
void light_iter_get_mapping(light_iter_t iter, struct mapped_light *ml);
uint8_t light_iter_get_game_light(light_iter_t iter);
bool light_iter_is_valid(light_iter_t iter);
void light_iter_next(light_iter_t iter);
void light_iter_free(light_iter_t iter);
struct mapper *mapper_impl_create(void);
void mapper_impl_clear_action_map(struct mapper *m, uint8_t action,
uint8_t page);
void mapper_impl_clear_light_map(struct mapper *m,
const struct mapped_light *ml);
bool mapper_impl_get_analog_map(struct mapper *m, uint8_t analog,
struct mapped_analog *ma);
bool mapper_impl_get_action_map(struct mapper *m, uint8_t action, uint8_t page,
struct mapped_action *ma);
int32_t mapper_impl_get_analog_sensitivity(struct mapper *m, uint8_t analog);
uint8_t mapper_impl_get_nanalogs(struct mapper *m);
uint8_t mapper_impl_get_nlights(struct mapper *m);
uint8_t mapper_impl_get_npages(struct mapper *m);
bool mapper_impl_is_analog_absolute(struct mapper *m, uint8_t analog);
action_iter_t mapper_impl_iterate_actions(struct mapper *m);
light_iter_t mapper_impl_iterate_lights(struct mapper *m);
void mapper_impl_set_action_map(struct mapper *m, uint8_t action, uint8_t page,
uint8_t bit, const struct mapped_action *ma);
bool mapper_impl_set_analog_map(struct mapper *m, uint8_t analog,
const struct mapped_analog *ma);
bool mapper_impl_set_analog_sensitivity(struct mapper *m, uint8_t analog,
int32_t sensitivity);
void mapper_impl_set_light_map(struct mapper *m, const struct mapped_light *ml,
uint8_t game_light);
void mapper_impl_set_nanalogs(struct mapper *m, uint8_t nanalogs);
void mapper_impl_set_nlights(struct mapper *m, uint8_t nlights);
uint8_t mapper_impl_read_analog(struct mapper *m, uint8_t analog);
uint64_t mapper_impl_update(struct mapper *m);
void mapper_impl_write_light(struct mapper *m, uint8_t light,
uint8_t intensity);
void mapper_impl_destroy(struct mapper *m);
#endif