41 lines
763 B
C
41 lines
763 B
C
/*
|
|
* Released into the public domain
|
|
* by Aki Goto <tyatsumi@gmail.com>
|
|
*/
|
|
|
|
#ifndef MULTIBUTTON_H
|
|
#define MULTIBUTTON_H
|
|
|
|
#include "gamepad.h"
|
|
|
|
enum {
|
|
Modifier_NONE,
|
|
Modifier_SHIFT,
|
|
Modifier_CONTROL,
|
|
Modifier_ALT,
|
|
};
|
|
|
|
struct Code {
|
|
int modifier;
|
|
int first;
|
|
int second;
|
|
};
|
|
|
|
struct MultiButton {
|
|
struct Button *buttons[8];
|
|
int size;
|
|
struct Button *list[8];
|
|
int available;
|
|
int sequenceSize;
|
|
struct Button *sequence[8];
|
|
int modifier;
|
|
struct Code code;
|
|
};
|
|
|
|
extern void MultiButton_initialize(struct MultiButton *this, struct Gamepad *gamepad);
|
|
extern void MultiButton_reset(struct MultiButton *this);
|
|
extern void MultiButton_update(struct MultiButton *this, struct js_event *event);
|
|
extern void MultiButton_generate(struct MultiButton *this);
|
|
|
|
#endif
|