aboutsummaryrefslogtreecommitdiffstats
path: root/libgamepad_get_absolute_axis_info.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--libgamepad_get_absolute_axis_info.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/libgamepad_get_absolute_axis_info.c b/libgamepad_get_absolute_axis_info.c
index a5aa4d5..ebd38fd 100644
--- a/libgamepad_get_absolute_axis_info.c
+++ b/libgamepad_get_absolute_axis_info.c
@@ -5,5 +5,7 @@
const struct input_absinfo *
libgamepad_get_absolute_axis_info(struct libgamepad_device *device, uint16_t code)
{
- return libevdev_get_abs_info(device->internals->dev, (unsigned int)code);
+ if ((size_t)code >= ELEMSOF(device->absolute_axis_map) || device->absolute_axis_map[code] == -1)
+ return NULL;
+ return &device->internals->absinfo[device->absolute_axis_map[code]];
}