mirror of
https://github.com/RaySollium99/libpicofe.git
synced 2025-09-05 06:47:45 -04:00
gamepad suppord (fake d-pad digital btns) for input layer
git-svn-id: file:///home/notaz/opt/svn/PicoDrive/platform@629 be3aeb3a-fb24-0410-a615-afba39da0efa
This commit is contained in:
parent
bc0420cd98
commit
86883f7f8a
2 changed files with 146 additions and 39 deletions
|
@ -11,7 +11,6 @@ typedef struct
|
|||
void *drv_data;
|
||||
char *name;
|
||||
int *binds;
|
||||
int prev_result;
|
||||
int probed:1;
|
||||
} in_dev_t;
|
||||
|
||||
|
@ -156,18 +155,11 @@ int in_update(void)
|
|||
|
||||
for (i = 0; i < in_dev_count; i++) {
|
||||
in_dev_t *dev = &in_devices[i];
|
||||
int ret;
|
||||
if (dev->probed && dev->binds != NULL) {
|
||||
switch (dev->drv_id) {
|
||||
#ifdef IN_EVDEV
|
||||
case IN_DRVID_EVDEV:
|
||||
ret = in_evdev_update(dev->drv_data, dev->binds);
|
||||
if (ret == -1) /* no change */
|
||||
result |= dev->prev_result;
|
||||
else {
|
||||
dev->prev_result = ret;
|
||||
result |= ret;
|
||||
}
|
||||
result |= in_evdev_update(dev->drv_data, dev->binds);
|
||||
break;
|
||||
#endif
|
||||
}
|
||||
|
@ -199,7 +191,6 @@ void in_set_blocking(int is_blocking)
|
|||
for (i = 0; i < in_dev_count; i++) {
|
||||
if (in_devices[i].probed)
|
||||
DRV(in_devices[i].drv_id).set_blocking(in_devices[i].drv_data, is_blocking);
|
||||
in_devices[i].prev_result = 0;
|
||||
}
|
||||
|
||||
menu_key_state = 0;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue