updated for the latest libspnav changes

newui-qt
John Tsiombikas 2022-03-25 00:11:46 +02:00
rodzic a49c36be6c
commit 1082fedfc6
3 zmienionych plików z 40 dodań i 12 usunięć

Wyświetl plik

@ -15,6 +15,7 @@ RCC ?= rcc
warn = -pedantic -Wall
incdir = -I.
CFLAGS = $(warn) $(dbg) $(opt) $(incdir) -fPIC $(add_cflags) -MMD
CXXFLAGS = $(warn) $(dbg) $(opt) $(incdir) -fPIC `pkg-config --cflags Qt5Core Qt5Gui Qt5Widgets` \
$(add_cflags) -MMD
LDFLAGS = `pkg-config --libs Qt5Core Qt5Gui Qt5Widgets` -lspnav $(add_ldflags)

Wyświetl plik

@ -9,16 +9,38 @@ struct config cfg;
int read_devinfo(struct device_info *inf)
{
inf->name = strdup(spnav_dev_name(0, 0));
inf->path = strdup(spnav_dev_path(0, 0));
inf->nbuttons = spnav_dev_buttons();
inf->naxes = spnav_dev_axes();
int sz;
free(inf->name);
free(inf->path);
memset(inf, 0, sizeof *inf);
if((sz = spnav_dev_name(0, 0)) > 0) {
if((inf->name = malloc(sz))) {
spnav_dev_name(inf->name, sz);
}
}
if((sz = spnav_dev_path(0, 0)) > 0) {
if((inf->path = malloc(sz))) {
spnav_dev_path(inf->path, sz);
}
}
if((inf->nbuttons = spnav_dev_buttons()) > MAX_BUTTONS) {
inf->nbuttons = MAX_BUTTONS;
}
if((inf->naxes = spnav_dev_axes()) > MAX_AXES) {
inf->naxes = MAX_AXES;
}
inf->type = spnav_dev_type();
return 0;
}
int read_cfg(struct config *cfg)
{
int i;
int i, sz;
free(cfg->serdev);
memset(cfg, 0, sizeof *cfg);
cfg->sens = spnav_cfg_get_sens();
spnav_cfg_get_axis_sens(cfg->sens_axis);
@ -27,16 +49,20 @@ int read_cfg(struct config *cfg)
cfg->led = spnav_cfg_get_led();
cfg->grab = spnav_cfg_get_grab();
for(i=0; i<MAX_AXES; i++) {
for(i=0; i<devinfo.naxes; i++) {
cfg->map_axis[i] = spnav_cfg_get_axismap(i);
cfg->dead_thres[i] = spnav_cfg_get_deadzone(i);
}
for(i=0; i<MAX_BUTTONS; i++) {
for(i=0; i<devinfo.nbuttons; i++) {
cfg->map_bn[i] = spnav_cfg_get_bnmap(i);
}
free(cfg->serdev);
cfg->serdev = strdup(spnav_cfg_get_serial(0, 0));
if((sz = spnav_cfg_get_serial(0, 0)) > 0) {
if((cfg->serdev = malloc(sz))) {
spnav_cfg_get_serial(cfg->serdev, sz);
}
}
update_ui();
return 0;
}

Wyświetl plik

@ -2,14 +2,15 @@
#define SPNAVCFG_H_
struct device_info {
char *name, *path;
char *name;
char *path;
int nbuttons, naxes;
int type;
};
enum {TX, TY, TZ, RX, RY, RZ};
#define MAX_BUTTONS 64
#define MAX_AXES 64
#define MAX_BUTTONS 128
#define MAX_AXES 128
struct config {
float sens, sens_axis[6];